「CH 4302」Interval GCD

主要是记一个结论

a0=0gcdi=1nai=gcdi=1naiai1 a_0 = 0\\ \gcd_{i=1}^na_i=\gcd_{i=1}^n a_i-a_{i-1}

这样,维护区间修改 gcd\gcd 查询就非常方便

注意 gcd\gcd 的写法

1
2
3
4
5
ll gcd(ll x, ll y){
return x && y
? gcd(y, x%y)
: std::max(std::abs(x),std::abs(y));
}
阅读更多

「USACO 2013」Photo

给定长为 n2×105n\le 2\times 10^5 的序列,你需要将其中 kk 个节点染色,满足 m105m\le 10^5 组条件:[li,ri][l_i, r_i] 中有且仅有一个节点被染色。

最大化 kk

题面数据

阅读更多

「Codeforces 24D」Broken Robot

因为不能向上走,所以可以一行一行考虑

fi,jf_{i,j} 表示从 (i,j)(i,j) 走到最后一行的期望步数,fn,j=0f_{n,j}=0

fi,1=(fi,1+fi,2+fi+1,1)/3+1fi,j=(fi,j1+fi,j+fi,j+1+fi+1,j)/4+1fi,m=(fi,m+fi,m1+fi+1,m)/3+1 \begin{aligned} f_{i, 1}&=(f_{i,1}+f_{i,2}+f_{i+1,1})/3+1\\ f_{i,j}&=(f_{i,j-1}+f_{i,j}+f_{i,j+1}+f_{i+1,j})/4+1\\ f_{i, m}&=(f_{i,m}+f_{i,m-1}+f_{i+1,m})/3+1\\ \end{aligned}

矩阵大概是这样的,需要优化求解

[2/31/3000001/43/41/4000001/43/41/4000001/43/41/4000001/43/41/4000001/43/41/4000001/32/3][fi+1,1/3+1fi+1,2/4+1fi+1,3/4+1fi+1,4/4+1fi+1,5/4+1fi+1,6/4+1fi+1,7/3+1] \begin{bmatrix} 2/3 & -1/3 & 0 & 0 & 0 & 0 & 0\\ -1/4 & 3/4 & -1/4 &0& 0 & 0 & 0\\ 0 & -1/4 & 3/4 & -1/4 & 0 & 0 & 0\\ 0&0 & -1/4 & 3/4 & -1/4 & 0 & 0 \\ 0&0&0&-1/4&3/4&-1/4&0\\ 0&0&0&0&-1/4&3/4&-1/4\\ 0&0&0&0&0&-1/3&2/3\\ \end{bmatrix} \begin{bmatrix} f_{i+1,1}/3+1\\ f_{i+1,2}/4+1\\ f_{i+1,3}/4+1\\ f_{i+1,4}/4+1\\ f_{i+1,5}/4+1\\ f_{i+1,6}/4+1\\ f_{i+1,7}/3+1 \end{bmatrix}
阅读更多

「NOI 2010」炮兵阵地

「Link」

首先观察炮的攻击范围,左右上下完全对称

也就是说,A 打不到 B 和 B 打不到 A 是等价的,于是就考虑左边和上面

一行一行地考虑,正在考虑第 ii

一行内部炮冲突的问题是容易解决的

阅读更多

「洛谷 P2575」高手过招

一行棋盘,若干个棋子,初始状态给出,每次可将棋子移到右侧第一个空格(棋子与空格不一定相邻 如:1101->1011/0111),不能移者输。

阅读更多

「SDOI 2009」E&D

  • 局面 (x,y)   x,y>0(x,y)~~~ x,y>0
  • 操作 (x,y)(a,b)   a+b=x(x,y)\rightarrow(a,b)~~~a+b=xa+b=ya+b=y

x,y2×109x,y\le 2\times 10^9

先手必败还是必胜?

阅读更多

「洛谷 P1290」欧几里德的游戏

  • 局面 (x,y)   x,y0(x,y)~~~x,y\geq0
  • 操作 (x,y)(xλy,y)  (xλy,y0)(x,y)\rightarrow(x-\lambda y, y)~~(x-\lambda y,y\geq0)
  • (x,0)(x,0) 是败

给出 (x,y)(x,y) 求是否为先手必胜

阅读更多