JMK no matter what

SRM469 연습

  1. 이지에서는 오버플로우땜에 틀리고
  2. 미듐에서는 두가지 삽질을 했는데... 하나는 필요도 없는 마지막에 본 영화를 상태 공간에 넣어서 시간 안에 짜려고 개삽질을 한 것이고.. 두 번째는 영화는 끝까지 다봐야 쳐주는건데 그걸 신경 안쓴 것이고..

어젯밤에 연애시대 다시 정주행하느라고 잠을 못자서 이런 것이라고 위로해본다 orz

오랜만에 C++

250

lang:cpp
class TheMoviesLevelOneDivOne 
{ 
public:
    long long find( int n, int m, vector <int> row, vector <int> seat ) 
    {
        ll ret = 0;
        map<int,VI> rows;
        REP(i,row.sz) rows[row[i]].pb(seat[i]);
        ret += ll(n - rows.sz) * ll(m - 1);
        FORE(it,rows) {
            VI& seats = it->second;
            seats.pb(0); seats.pb(m + 1);
            sort(all(seats));
            REP(i,seats.sz-1) {
                int span = seats[i+1] - seats[i] - 1;
                ret += max(span-1, 0);
            }
        }
        return ret;
    }
};  

500

lang:cpp
int cache[1<<20], choice[1<<20];
class TheMoviesLevelTwoDivOne 
{ 
public:
    VI L, S;
    int N;
    int maxWatch(int watched) {
        int& ret = cache[watched];
        if(ret != -1) return ret;
        ret = 0;
        int& ch = choice[watched];
        int level = 74;
        REP(i,N) if(watched&(1<<i)) level += 47 - L[i];
        REP(i,N) if((watched&(1<<i)) == 0) {
            if(level >= S[i] && level + 47 >= L[i]) {
                int cand = maxWatch(watched + (1<<i)) + 1;
                if(cand > ret) {
                    ret = cand;
                    ch = i;

                }
            }
        }
        return ret;
    }
    void reconstruct(int watched, VI& sol) {
        if(maxWatch(watched) == 0) {
            REP(i,N) if((watched & (1<<i)) == 0) {
                sol.pb(i);
            }
            return;
        }
        sol.pb(choice[watched]);
        reconstruct(watched + (1 << choice[watched]), sol);

    }
    vector <int> find( vector <int> length, vector <int> scary ) 
    {
        L = length;
        S = scary;
        N = L.sz;
        VI ret;
        CLEAR(cache,-1);
        reconstruct(0, ret);
        return ret;
    }
};  

하드는 안드로 'ㅅ'*

2010-05-06 09:12:42 | JM | /logs/topcoder/ | 0 Comments

Leave a comment

春來不似春

About

Eventstream

Pages

Guestbook

Search

Site Admin

Recent Comments