hogloidのブログ

へなちょこ

2011-08-01から1ヶ月間の記事一覧

JOI 合宿 abduction

JOI

DPでし。まず、証言から、どの向きにどういう順番で進んだかが割り出せる。 その後、X成分とY成分に分解。ごにょごにょ int w,h,n; char angle[10005]; int mod=10000000; int main(){ FILE* fp=fopen("out.txt","w"); scanf("%d%d%d",&w,&h,&n); vi yoko,ta…

JOI 合宿 Pyramid

JOI

DPでし。高い所からゴリゴリやります。 priority_queue使っても面白そうですがlogの分だけTimeLimitが危なそう vvi buf; vector<vp> top; int w,h,n; int main(){ FILE* fp=fopen("out.txt","w"); top.resize(3001); scanf("%d%d%d",&w,&h,&n); buf.resize(h,vi(</vp>…

PKU3092 Non-divisible 2-3 Power Sums

PKU

数N( 2^a*3^bの和で表せ。ただし2^a*3^bのどれかがどれかで割りきれてはいけない 探索します。メモ化しなくてもOKです まず、nが2で割りきれるとき、すべての2^a*3^bのaはa>=1なので、 n/2の場合に帰結できます。 nが2で割りきれないとき、2^a*3^bのうち一つ…

KUPC 2011

感想: 難しい!!! 正直5問は解けるだろうとタカをくくっていましたが見事に打ち砕かれました 10位目指すって言ってたのが懐かしいです Problem A やるだけです。KUPCの文字をそれぞれカウント int main(){ char s[305];scanf("%s",s); int len=strlen(s);…

JOI2009合宿 地域(Regions)

JOI

2分探索→葉っぱからできるだけ大きく切ります 分割した数+1が地域の数になります。 int n,m; vector<vp> g; int dived=0,maxlen; int dfs(int v,int p){ //most distant from root int son=g[v].size(); if(p!=-1) --son; if(son==0) return 0; vi dist;dist.res</vp>…

JOI2009合宿 DNAの合成

JOI

DP テストケース8〜10あたりだとTLEっぽくなるので想定解ではないはず O(20*LlogN) (fprintfになってるのは手動比較のため) char tmp[160000]; int main(){ FILE* fp=fopen("out.txt","w"); int n;scanf("%d",&n); scanf("%s",tmp); string make=tmp; int le…