tozangezan's diary

勝手にソースコードをコピペして利用しないでください。

2015-10-01から1ヶ月間の記事一覧

AOJ 2346: Runaway Domino

AOJ

動く人の方が速いので立ち止まるのはもったいないみたいな考え方は典型だけどそこまで頻出という訳でもない気がする。当たり前レベルの考察ではあるけれど。 気になる点は4点くらいしかなくて全部を二分探索で求めればよい。噂のテストデータ不備は特に嵌ら…

AOJ 2623: Optimal alpha beta pruning

AOJ

ここ数年のJAGの問題で最もひどいやつ。 問題の概念を理解するのが難しいだけ。説明なしにこんなこと書くのはどうかしてると思う。(本番では問題文が別の問題にすり替わっていてもっと酷かった) #include<stdio.h> #include<algorithm> #include<vector> using namespace std; vector<int>g[21</int></vector></algorithm></stdio.h>…

AOJ 2379: Bicube

AOJ

sigma425のソースコードが綺麗。 僕のはマジックナンバーでごり押し。 #include<stdio.h> #include<vector> #include<algorithm> using namespace std; char str[60][60]; int h[]={2,3,3,3,3,3,3,3,3,3,3}; int w[]={5,4,4,4,4,4,4,4,4,4,4}; char tkz[11][6][6]={ { "DLU..", "..FRB" }</algorithm></vector></stdio.h>…

AOJ 2427: hosonagaitokoro

AOJ

ほそながかった...通過の順番をそれぞれ決めて後は到着時刻を合わせるようにずらすのを収束するまでやる。収束しなかったらそれは無理配置。 この問題は問題文を何度も読んだことがあるけど、読むたびに誤読している。 #include<stdio.h> #include<algorithm> using namespace st</algorithm></stdio.h>…

AOJ 2445: MinimumCostPath

AOJ

これは面白い。 向かいたい方向と逆に回らないといけない、すなわち遠回りを強要するブロック配置は、スタート付近とゴール付近にしかないことが容易に(ここが本質なんだけども)分かります。ということで赤い場所(50*50もない)は真面目にDPをして、白い場所…

AOJ 2257: Sakura Poetry

AOJ

Aho-Corasick + DP + メモリの定数倍 kuso.... #include<stdio.h> #include<map> #include<algorithm> #include<string> #include<vector> #include<queue> using namespace std; long long mod=1000000007; char in[30]; string table[600]; vector<int>g[600]; struct wolf{ int chi[26]; int mark; int par; int</int></queue></vector></string></algorithm></map></stdio.h>…

AOJ 2571: Floating Islands

AOJ

マッチングの最小化をする。 想定解法では変なことをしてO(N^2)であるが、見るからにMonge DPのDivide and Conquerテクなので、終了。 距離の和の計算で嵌った。 (そういえばDPの式ですが、dp[i][j]: i個目の余った点(サイズ1以上)でj個覆ったときの最小コス…

AOJ 2563: The J-th Number

AOJ

相当いろんな解法があるらしい。考えられる一番直感的な方法で解いた。動的確保の二種の和のsegtreeにpairをぶちこんでソートして後半のクエリで二分探索。動的確保で何個ノードが必要になるのかがよくわからない。計算量(特にソート部分)もよくわからない。…

AOJ 2540: Ancient Commemorative Monolith

AOJ

iとtを間違えてハマった。典型的な防ぎようのないバグ #include<stdio.h> #include<algorithm> #include<string> using namespace std; typedef unsigned long long wolf; wolf mod=1000000007; char gly[26][20][20]; wolf Hash[26]; wolf revHash[26]; int gh[26]; int gw[26]; char in</string></algorithm></stdio.h>…