kwm_t

kwm_tのメモ

2021-06-01から1ヶ月間の記事一覧

ABC-F略解(171-175)

■171F - Strivoreoofに5文字挿入**o**o**f**とでもして最後以外は25種を最後は26種類をいれれるf1 = 1 + 25x + 25^2x^2 + 25^3x^3..............f2 = 1 + 26x + 26^2x^2 + 26^3x^3..............f1^N * f2の係数が答え f1 = 1/(1-25x)f2 = 1/(1-26x)f1^k = Σ…

AGC054

BCの配点やばいし、nosubかなと思ってたけど500点ぐらいの難易度 ■A - Remove Substrings 頭と末尾が異なる時は、明らかに1回 そうじゃないときはどこかにa[0]!= a[i],a[i+1]!=a[n-1]があれば2回 3回以上で成立するかを考える。 考えると無理なのがわかるの…

ABC207

■A - Repression sortするなり全パターン試すなり、合計から最小値引くなり ■B - Hydrate A + B * x <= C * D * x A<= (C * D - B) * x 不等式は負で割ると向きが変わるように注意。 ■C - Many Segments 場合分けはしたくないし、少数も扱いたくない。 なの…

ABC206

■A - Maxi-Buyingx = n * 108 / 100;単調増加なので191を閾値として判定してもいい ■B - Savings二分探索するまでもなく、初日からシュミレート ■C - Swappable同じものの個数を管理する。 ■D - KAIBUNsyounionfindをやるだけ。 ■E - Divide Both1888msかか…

ABC-F略解(166-170)

■166F - Three Variables Game構築は苦手a+b+c=0は明らかNGa+b+c=1は打てる手が一択なので簡単a+b+c>=2は基本的に大きい方から小さい方に移せばいい。1,1,0で(1,1)が選ばれたときは次のターンに支障がないように動く ■167F - Bracket Sequencing括弧列の成立…

ABC205

■A - kcalb * a / 100.0; ■B - Permutation Checkソートして全チェック ■C - POW偶関数か奇関数で場合分け ■D - Kth Excluded二分探索 ■E - White and Black Ballsカタラン数っぽい。カタラン数の導出方法は適当に検索をすると折り返ればいいことがわかる。 …

ARC122

■A - Many Formulae単純なdpdp[i][j] = {x,y}:=i番目まで見て、最後に使った符号がj(0=+,1=-)な選び方がx通り、総和がy ■B - Insurance保険とか言われると問題の意味がさっぱりわからなくなる。要するにΣmax(x-a,-x)の最小値がわかればいい。これは、ABC127:…

ABC-F略解(161-165)

■161F - Division or SubtractionN = 1+ nk を満たす2以上のものN = (nk+1)*k^n ■162F - Select Halfナップサックdp[i][j]:=i番目まで見た、j個を条件を満たすように採用しただとO(n^2)かかる問題条件より、一つ空けて選ぶこと+ほぼ半分選ぶなので上のdpの…

ABC204

■A - Rock-paper-scissorsif (x == y)cout << x << endl;else cout << 3 - x - y << endl; ■B - Nuts書いてるとおりにやる forとif ■C - Tour制約が緩いのでbfsやdfsをn回やる ■D - Cookingdp[i][j]:=i番目までの部分集合でjを作れるか ■E - Rush Hour 2 t+[…

ABC-F略解(156-160)

■156F - Modularnessこれも難しいね。サンプルをベースに説明すると3,6,7,11,14でmodを取ると1,0,1,1,0なりansは1 aに足されるdは最初からmodをとってから足しても変わらないので3,4,5,5,6と同じこうするとn項目とn+1項目の差はd未満なのでanとan+1をmodで割…