Loading

思维

CF1421E Swedish Heroes
一个数 \(a\) 对答案的贡献只可能是 \(a\) 也可能是 \(-a\)
设序列长度为 \(n\), 贡献为 \(-a\) 的数量为 \(m\), 那么 \(n+m \equiv 1 \pmod 3\) (很好证明),然后只要满足这个贡献序列 (设取反为 \(1\), 不取反为 \(0\))不是 1010...0101010... 就是一个合法的序列。
然后这个就随便 \(dp\) 了。

CF611H New Year and Forgotten Tree
网络流被蒟蒻用别的方法艹过去了 题解

CF1285F Classical?
枚举因数,从大到小把数加进栈。然后考虑使用莫比乌斯反演算出栈中的数有几个(设为 \(k\)) 是和 \(x\) 互质。然后把栈中的数弹出直到弹出 \(k\) 个和 \(x\) 互质的数为止。

CF351E Jeff and Permutation
考虑两个数的大小关系只和大的数有关,然后在大的数上打标记即可。

P7109 滴水不漏
考虑记一个前缀和,然后差分得到答案。
然后这个前缀和可以用类似双指针的东西搞。
然后对于一个零散的块可以二分答案。

P5527 [Ynoi2012]NOIP2016人生巅峰
长度 > 15 的一定是 Yuno, 否则是 Yuki
剩下的暴力背包。

CF906D Power Tower, P3934 [Ynoi2016]炸脖龙I
不知道放哪儿,就放这儿了把 😃
考虑到一个数列经过 \(\log mod\) 次广义欧拉定理后的模数就会变成 \(1\), 于是这题暴力就行了

CF1446D1 Frequency Problem (Easy Version)
根据答案一定包含众数的性质,然后 \(O(n)\) 开桶暴力判断即可。

AT1981 [AGC001C] Shorten Diameter
枚举重心,然后分一下奇偶讨论就很好做了(

AT1983 [AGC001E] BBQ Hard
考虑 \((-x1, -y1), (x2, y2)\) 的路径条数为 \(C(x1 + x2, y1 + y2)\), 然后开个 \(dp\) 来统计路径条数即可。

AT2005 [AGC003E] Sequential operations on Sequence
考虑只保留下来一个上升的序列,然后从后往前做,首先把最后那个数丢进堆里面,然后在做长度为 \(t\) 的时候,遇到一个数大于 \(t\) 的数 \(x\) 就把 \(x \pmod t\) 丢进堆里面,把 \(t\)\(cnt\) 增加 \(\lfloor \frac{x}{t} \rfloor\)。这样一个数只会被除 \(\log\) 次。

AT2363 [AGC012C] Tautonym Puzzle
太强了!考虑前面放 \(1, 2, 3, ... n\),后米放一个 \(1..n\) 的排列。答案就后面的最长上升子序列个数。
那么考虑从小到大放排列,如果计算空集,在排列前面放一个答案 \(+1\),在后面放一个答案 \(\times 2\)。从小到大做一遍就好了。

AT2043 [AGC004C] AND Grid
比较有趣。第一张图可以考虑把为奇数的行全填上 #,最左边一列全涂上 #,其他不变;第二张图可以考虑把为偶数的行全填上 #,最右边那列全填 #,其他不变

AT2006 [AGC003F] Fraction of Fractal
考虑如果贴在左边的 # 和贴在右边的 # 有重复的格子,设数量为 \(a\)。上和下的设为 \(b\)。如果 \(a \neq 0\)\(b \neq 0\),那么答案为 \(1\)
答案为黑色的单位分形个数减去贴着的单位分形个数。这个是可以等比数列快速算的。

AT2364 [AGC012D] Colorful Balls
考虑两个同色的点都可以和同色最小值交换,那么他们俩可以交换。如果一个点可以和同色的最小值交换,那么把这个点的值视为这个同色最小值。
然后考虑不同色的点,那么如果一个点和其他不同色的点交换,那么他也能和能和不同色点交换的点交换,于是这些点都可以互相交换,组合数学算一下答案即可。

CF461D Appleman and Complicated Task
考虑固定了第一行,就可以得到整个矩阵。
一个数可以表示成矩阵中一段区间中编号 \(\bmod 2 = k\) 的数异或和。
接下来做一遍差分,然后把一个数拆成为 \(1\) 和为 \(0\) 两个点,然后用并查集缩点,判一下点数即可。

CF825G Tree Queries
一个点 \(x\) 到其他黑点的路径中的 \(\min\) 相当于 [\(x\) 到第一黑点的路径权值 \(\min\)] 和 [第一个黑点到其他黑点的最小路径权值 \(\min\)] 的最小值。
利用这个,从第一个黑点开始 \(dfs\) 即可。

CF1270G Subset with Zero Sum
\(i\) 连向点 \(i - a_i\)。如果图上有环,那么 \(\sum i = \sum i - a_i\),就是 \(\sum a_i = 0\)
这张图是基环树,一定有环。

posted @ 2020-10-24 09:28  zhoukangyang  阅读(14)  评论(0编辑  收藏  举报