くで
@kude_coder
Followers
379
Following
326
Media
29
Statuses
6K
G:各頂点R,G,Bで操作する回数が固定。各辺両端の色が一致しないようにマッチングさせることになり、工夫するとマッチングは最大流で求まる。マッチングが求まったら、各頂点に注目してどの順番で辺が処理されるかを見てトポソ。
0
0
1
算できる。逆の方も同様。 E:数列が等しくなる頂点をまとめて引数に渡すようにして適当に再帰。 F:|x1-x2|+|y1-y2|=max(x1-x2,-x1+x2)+max(y1-y2,-y1+y2)=max((x1+y1)-(x2+y2),(x1-y1)-(x2-y2),(-x1+y1)-(-x2+y2),(-x1-y1)-(-x2-y2))だから、xi+yi,xi-yi,-xi+yi,-xi-yiの区間maxが分かればよい
1
0
1
ABC437 A,B:はい C:各iについて-Wiか+Piを選ぶとみなす。それらの総和が0以上になればよい。まず全部-Wiを選んでおく。-Wiから+Piに変えると総和は+(Wi+Pi)されるので、Wi+Piの大きい順に変えていく。 D:各iについてBj<Aiとなるようなjの個数,Bjの総和が求まれば、Ai-Bj>0であるものについての寄与が計
1
0
4
る。マス(i,j)に訪れるときに、マス(i,j)の左下、右上の交点の方向を決めることにする。dp[i][j][a][b]=「現在(i,j)にいて、マス(i,j)の下/右がブロックされている/されていない」ような状態になる確率 としてDP。 F2:間に合わず。以上のDPの遷移を列ごとに行うことを考えれば行列累乗でいけるはず
0
0
2
状態を<nに変えるとする。 D:「右端がどこか」を状態に持ってDPするようなDPをグッと睨むと、最大値を取る位置は区間をなし、それ以外の位置は最大値-1となる。 E:上の桁から見ていって、初めて異なるbitで区間を前後に分けられる。そのbitを立てるかどうかで場合分け。 F1:数え上げではなく確率で考え
1
0
1
Codeforces Global Round 31 A:gcd(b,l)の倍数を任意に移動できる B:2乗が許される。sをmin(s+a,a+s)で更新していく C:お気持ち貪欲。k奇数の場合は自明。k偶数のとき、b降順にb bit目がなるべく多く1になるようにしていく。各要素は<nが確定したか否かの2状態を持つ。nのb bit目が1のとき、1要素だけ
1
0
1
の総和が答えとなるはずで、y=1,r,r^2,r^3,r^4の場合を足して5で割ればよく、恒等式(1-x)(r-x)(r^2-x)(r^3-x)(r^4-x)=1-x^5の対数微分で得られる恒等式とか用いつつ計算したが通らず。
0
0
1
#OMC271 A:n≡3 or 4 (mod 4) C:sin(mkτ/360)sin(nkτ/360)=1/2*(cos((m-n)kτ/360)+cos((m+n)kτ/360))となって、m-n≡0 (mod 360) or m+n≡360 (mod 360)の場合だけ考慮すればよい。 D:答え合わず。yuki 1962 Not Divideの方法から1/(1-Σ(xy^i/(1-xy^i)))のx^5000の係数の、yの指数が5の倍数である係数
2
0
5
昨日のアドベコン、出力のチェッカーが甘そう https://t.co/nezzZwOgYa 例えば自分のこの提出だと06_hand_01.txtで構築が"\0"になっていて壊れているんだけどACになっている
yukicoder.me
競技プログラミングの練習サイト
0
0
2
後者が得な場合の分を調整。u<vとしてコストを(u+k)+vみたいにuの側に押し付けて考える。iが最小となるようなサイクルサイズjの場合、iを根とする場合のiの寄与はj*(i+k)、1を根とする場合の1,iの寄与は(j+1)(1+k)+iで、前者の方が小さくなるような(i,j)は全走査しても間に合う。
0
0
1
なる。このようなcを追っていけばよい。 TREECOUNT:要素数を状態に持って二乗の木DP。 SORTSET7:時間切れ。各iについて、iとPiが連結になるのに必要な辺の総コストの最小がf。各サイクルは、全部1につなぐ or サイクル内の最小の位置につなぐのが最適。基本的に全部1につないだときのスコアを計算し、
1
0
1
CodeChef START217A MAKEAP7:全体からa[0]を引くと、全体のgcdの倍数で埋めればよい RANGEMEX7:Kが出現するごとに配列を区切り、区間ごとに解けばよい。現在注目している区間に対し、[0,K]内の出現していない値の個数が操作回数。 MAXADD:常にf(1),...,f(M)は単調増加で、ある時点x>=cからf(x)=x+Σbiと
1
0
1
#OMCB064 A,B:はい C:△DAE∽△BCF D:p<qとすると条件はp|2025かつq|p!+2025 E:S:={(i,j)|min(i,j)=0 ∧ max(i,j)<7}が全部塗られたら残りは一意。Sは自由に塗ってよいとエスパー。 F:a[n]=S[n]-S[n-1]を使ってS[n]で漸化式を変形すると(n+1)!S[n]が等差数列。 G:素数ごとに素因数の最大個数を考える
0
0
8
するとサイクルは2つに分かれ、異なるサイクルに属する2頂点を選び操作すると2サイクルが1つになる。 F:bを全部試す。B[i]>bなるiは全部無いものとして扱う。重複させないためには必ずB[i]=bなるiを区間に含めればよい。 G:[x^M]1/(1-x)Π(1-x^Ai)
0
0
2
ABC436 A:はい B:5分かけた C:ブロック片に占められているマスの集合を管理 D:各小文字に対応する頂点を作って01BFS。マスから小文字への移動はコスト0、小文字からマスへの移動はコスト1と見なす。 E:サイクル分解して考える。最終的にn個のサイクルになればよい。同サイクルに属する2頂点を選び操作
1
0
1
ajo2025 final open A:xy平面でのy<=xでの(0,0)から(N,N)までの移動と見なす。スコアは「x>=sかつy<=n-sの表す領域を経路が通過する」ような最大のsで、グッと睨むとn回移動後の地点だけで決まる。 B:差分取っていけばgによる寄与が消えて、fによる寄与だけ残る。これを用いてfを頑張って復元。fが復元
1
0
2