「CF1027」
CF1027A Palindromic Twist
因为每个字母都必须变,所以一个数与对应的一个字母可以经过变换后相等当且仅当两个字母相等或两个字母的差为 \(2\).直接模拟即可.
CF1027B Numbers on the Chessboard
显然可以直接对 \((x+y)\bmod 2\) 分类讨论:
如果 \((x+y)\bmod 2=0\) 那么可以先计算出当前这行前有多少的 \((x+y)\bmod 2=0\) 再加上这个是这一行的第几个.\((x+y)\bmod 2=1\) 同理.
CF1027C Minimum Value Rectangle
\(P=2a+2b\),\(S=ab\),所以 \(\frac{P^2}{S}=8+4(\frac{a}{b}+\frac{b}{a})\),其中的 \(8,4\) 都是常数,所以需要最小化的其实只是 \(\frac{a}{b}+\frac{b}{a}\),根据基本不等式显然是 \(\frac{a}{b}=\frac{b}{a}\) 的时候最小,所以肯定是选择长度相近的边最优,而且正方形的时候取到最小值.不可以直接枚举长度,这样复杂度就变成了 \(\mathcal{O}(Tv)\)(\(v\) 是值域),虽然值域很小(\(10^4\)),但是 \(T\) 有 \(10^6\),并不能跑过(老坑人了).所以需要排序后再做.
CF1027D Mouse Hunt
每个点有用一条出边,显然会构成一个基环树森林,所以对于每颗基环树的最小代价就是这颗基环树的环上的代价的最小值.直接 \(\operatorname{DFS}\) 即可.
CF1027E Inverse Coloring
这么简单的 \(\operatorname{dp}\) 都不会了,自闭了/kk
显然确定了第一行和第一列后整个矩阵就确定了,而且最大同色子矩阵 \(=\) 第一行中的最长同色子串 \(\times\) 第一列中的最长同色子串.
所以可以去计算长度为 \(n\) 的序列中对于同色最长子串的长度为 \(1\sim n\) 的所有情况.
设 \(f_{i,j}\) 表示长度为 \(i\) 序列,最长同色子串的长度为 \(j\) 的方案数,可以得到以下转移:
于是可以快乐地 \(\mathcal{O}(n^3)\) 计算了/cy
CF1027F Session in BSU
显然是一个图论题
考虑对 \(a_i,b_i\) 连边,那么对于每条边需要选择一个点,并且对于每个点只能被一条边选择.因为对于每个联通快之间并不会产生影响,所以如果一个联通快的边数小于点数,那么必然是一颗树,因为需要尽可能小,所以可以要求所以的边都不选择最大的点即可,所以这个连通块在次大值的时候可以全部完成.如果边数等于点数,那么就是一颗基环树,所以每条边恰好可以选择一个点,所以这个连通块只能在最大值的时候才能完成.如果边数大于点数,那么显然不够分,所以无解.
CF1027G X-mouse in the Campus
咕咕咕...