Npc april fool2014
- 11. 部分点解2(0点)
● A^D + B^D = C^D
● A,BがきまればCも決まる
● A,B,Dだけ試せば良いO(N^3)
● N 300≦ くらいのケースなら通る
– 小課題2(0点)まで通る
- 12. 想定解3(1AC)
● A^D + B^D = C^D
● ここで、ある有名な定理を思い出す
– フェルマーの最終定理
● Dは1か2
● A,B全通りとDをすこし調べれば良いO(N^2)
● すべて通るってACが得られる
- 13. 想定解3(1AC)
● A^D + B^D = C^D
● AもしくはBが0のときがあるので別で数えな
ければならない
● そちらもO(N^2)で数えられる。
● なおD=0のとき1 + 1 = 1となるので誤って数
えないようにしなければならない。
- 29. エイプリルフールの一般テク
● MOD1,000,000,007 = 素数 で答えを出す
– NMが1,000,000,007より大きければ答えは0
● NM!はO(NM)かかる おそい
– 10^7の倍数の階乗を予め求めて埋め込む
● N行目のフック長の総積とN+1行目の総積はだ
いたい同じ O(1)でだせる
● 1行目だけまじめに階乗を計算, 残りはO(N)