tg 54
还是没出状态低迷期呢
讲题?
T1
翻个官方题解?
我们的思想就是让两个数尽可能接近
所以按照直觉先取个\(M=max(L_i),i\in[1,n],m=min(R_i),i\in[1,r]\)
记\(l=i,\)满足\(L_i=M\),同理,记\(lr=i,\)满足\(R_i=m\)
考虑先忽略其他点之间的相互关系
只研究每个点和\(l,r\)的关系,然后删去\(l,r\)
此时其他点之间的关系在递归下去的时候也会考虑到
所以这是正确的
分类研究:
\(1.M\leq m\)
此时,所有区间的取值会有交集,为\([M,m]\)
一个给定的区间必然满足\([x,y],x\leq M,y\geq m\)
显然所有给定的区间都有\([M,m]\)这一段,
随便取个公共点就可以做到贡献为\(0\)
\(2.M>m\)
这个时候每个点的\(r\geq m,l\leq M\)
然后每个点都可以插在\([m,M]\)这一段
如果\(l\leq m,\)因为\(r \geq m\)
所以我们可以把一个点插在\(m\)这个位置来满足位于\([m,M]\)
如果\(l>m,\)因为\(l\leq M\)
所以我们这个时候把点插在\(l\)就可以满足位于\([m,M]\)
接下来考虑\(2\)的代价,
为防止少情况,考虑记其他点之间的贡献为\(C\),点\(i\)的位置为\(pos_i\)
那么原来就是
\(C+|M-m|+\sum\limits_{i\not=l,r}|pos_i-M|+\sum\limits_{i\not=l,r}|pos_i-m|\)
其中\(|M-m|\)是单算\(l,r\)的贡献
优化:
考虑重组成这个形式
\(C+|M-m|+\sum\limits_{i\not=l,r}|pos_i-M|+|pos_i-m|\)
考虑后面的几何意义,当\(pos_i\in[m,M]\)时,后面就是线段长度
于是:
\(C+|M-m|+\sum\limits_{i\not=l,r}|M-m|\)
合并同类项
\(C+(n-1)\cdot |M-m|\)
递归回带:
\(\sum\limits_{i=1}^{n}max(0,L_i-R_i)\cdot(n-2\cdot i+1)\)
回来的过程中\(L\)最大\(R\)最小,要配合递归回带,\(L\)降\(R\)升
然后写三分注意非谷的段有没有平台
如果有,考虑爬山/退火/玄学调指针
T2
考虑按照每一行中\(1\) 的个数进行排序,用 \(r(i)\) 表示第 \(i\) 行\(1\) 的个数
枚举列中我们选了 \(i\) 个 \(1\),那么对于\(r(x)<i\) 的,这一行一定填\(0\),对于\(r(x)>i\) 的,这一行一定填 \(1\)
所以我们只需要考虑行中 \(1\) 的个数恰好是 \(i\) 的这些行
对于 \(r(x)<i\) 的行,所有的 \(c_{x,j}=1\) 的\(j\) 列一定要选\(1\),设他们的并是\(pre_i\)
对于$ r(x)>i $的行,所有的 \(c_{x,j}=0\) 的 \(j\) 列一定要选 \(0\),设他们的并是 \(suf_i\)
显然要 \(pre_{i−1}∩suf_{i+1}=∅\)
接下来仅考虑\(r(x)=i\)的行的集合\(S\),若 \(S≠∅\)
考虑钦定选一个行的集合 \(S\),如果这些行长得不一样,那么一定无解,因为会出现矛盾的限制,可以随便举一组例子手玩一下就可以得到这个结论
否则一定方案是 \(2^{|S|}\)
如果 \(S=∅\),答案就是一个组合数 \(C_{|U⊕suf_i|−|pre_i|}^{i−|pre_i|}\)
不难利用 bitset 实现。
复杂度为 \(O(n^2)\),瓶颈在于读入,后面部分复杂度为 \(O(\frac{n^2}{ω})\)
T3
正着考虑合法方案状态数过大无法承受
(主要是因为异或和必须作为状态一维枚举记录)
考虑容斥,排掉所有不合法状态
记石子堆的总数\(cnt=2^n-1\)
用\(i\)种不同石子的总方案数:\(p_i=A_{cnt}^{i}\)
考虑和不合法相关的状态来源
\(1.i-1\)异或和不为\(0,\)对应选个\(i\)最后异或和为\(0\),总数\(p_{i-1}-f_{i-1}\)
\(2.i-2\)的时候异或和已经为\(0,\)这个时候\(i-1\)选了一个让它不是\(0\),
但是最后你已经不能选一个和\(i-1\)一样的东西了
要抠掉\((i-1)\cdot (2^n-i+1)\cdot (f_{i-2})\)
当钦定前\(i-1\)堆相同的时候,方案数就是可选数字\(2^n-i+1\)乘前\(i-2\)堆不合法的方案\(f_{i-2}\)
事实上是考虑排列而不是组合,把\(i-1\)和前边任意交换都是合法的,于是就有了\(i-1\)
综上:
\(f_i=p_{i-1}-f_{i-1}-(i-1)\cdot (2^n-i+1)\cdot (f_{i-2})\)
T4
结论:
必然是最大完全连通图,即最大团
证明:
显然要说的一个事情就是平均分配最优
证明参考均值不等式
然后少一个点不会更优,少一条边更不会优
然后最大团就可以各种搜索剪枝折半搞等等

浙公网安备 33010602011771号