PKU 夏休み前半

ソースは全部
okuraofvegetable/PKU · GitHub
にあげてます。
2247 全部列挙
2371 やるだけ
1007 適当に数えてペアでソート
1008 めんどくさいだけ
1013 全探索
1046 三平方で全部しらべる
1050 2次元imosしてあとは全部調べる
2840 やるだけ
2182 後ろの牛から確定させていく。にぶたんで条件を満たす場所を探す
3273 にぶたん
3257 dp[i][j]:=長さiまででコストjかかるときのMax
1742 dp[j]:=j円を作る時に残せるi番目のコインのMax
3280 dp[i][j]:=[i,j)を回文にする最小コスト,挿入を削除があるがどちらか安いほうをとればいい
1988 UnionFindで集合を管理しつつ自分から一番上までの個数をもっておく。再帰でキレイに書ける。
2739 エラトステネスで素数列挙してしゃくとり
2385 dp[i][j]:=i回目の林檎の落下までにj回移動する時に取れるMaxりんご
2785 半分全列挙
3085 てきとうなぎに割り算するだけ
3044 segment treeをつかって最小値のindexを求めてそこでわけながら分割統治
Problem - 448C - Codeforces
これを前に解いていたので解けた。こういう問題好き
2828 BITとにぶたんをつかって後ろから確定させていく。2182にちょっと似てる
3628 DFS
3077 10の累乗で割っていくだけ
2562 1桁づつ計算
2304 問題文の通りにやるだけなのにハマった。ダイヤルを左に回すと番号は右向きにまわる!!!!
1338 2247とほとんど一緒
2509 やるだけ
2538 めんどくさいだけ
1844 作れる数を列挙すると法則が見つかる。証明はしてない…
2465 dp[i][j]:=iまでj残して行ける最小コスト
2545 1338,2247とほとんど一緒
2229 dp[i]:=iの作り方の個数 iが偶数の時1を使う場合と使わない場合にわけて考える
3009 4方向にわけてDFS
3669 BFS
2718 頑張って調べる
3187 next_permutation
3050 DFS
2376 てきとうなぎにpriority_queueから取り出していく
1328 各点を覆える範囲の線分になおして、貪欲にとっていく
3190 各stallの終了時間をpriority_queueに突っ込んでおいて早く終わったところに貪欲に牛をぶち込む
1017 丁寧に考えれば簡単
1862 小さいもの同士を組み合わせていく
3262 式をたてる任意の2匹の牛i,jの順序関係が定まる。比較関数に突っ込んでソート
3176 上から伝搬するだけ
3616 dp[i][j]:=今からiの搾乳をして、一つ前にjを搾乳したときのMax
2236 つながる所同士のグラフを作っておいてUnionFindで処理
3046 dp[i+1][j]:=iまででj個使った時の個数
3181 dp[i][j]:=i$までつかってj$払う組合せの数 多倍長使わないといけないので注意
3614 各日焼け止めに対して使える牛のなかで使用可能範囲の最大値が小さいものから順に塗る
3268 二回dijkstra
1065 multisetでupper_bound
3666 dp[i][j]:=i番目まででjまで使う時のMin 座標圧縮する。
2395 最小全域木
1703 どちらのギャングに属しているかという状態のノードを用意してUnionFindで可能性があるもの同士を結ぶ
2492 1703とほぼ同じ
2184 dp[i][j]:=i番目まででSの合計がjの時のS+Fの最大値 添字が負になるので下駄をはかせる
2010 priority_queueで前後のN/2匹の和の最小を求めておいて、中央値を決め打ちする
3126 エラトステネスで素数を列挙して、1桁だけ違うもの同士を結ぶグラフを作ってBFS
3421 素因数分解+多項定理
3104 二分探索
3045 W+Sが大きい順に乗せる
2976 普通の平均最大化
3111 制約のついた平均最大化
3579 決め打ちしてにぶたん
宿題と夏休みあけのテストがやばすぎてPKUやってる暇がなくて辛い