day1
T1
坐标轴旋转 \(45\degree\),然后可将 UDLR 从 \(x,y\) 轴独立。
\((t_i,x_i)\to \left(t_i'=t_i\bmod l,x_i'=x_i-\lfloor\frac{t_i}{l}\rfloor k\right)\)
求 \(k\),\(t_i'<t_j'\to x_i'\le x_j',x_i'-(t_i'-t_j')\le x_j'\le x_i'+(t_i'-t_j')\)。
剩下的就是解个二元一次方程组,然后我不等式又解挂了。
T2
转 dfs 树,要么取得出路径,要么取得出独立集(取决于叶子个数)。
路径如何覆盖所有点?dfs 序上 \(i,\frac{k}{2}+i\) 的叶子放一起。
T3
一条边 \((i,j)\),\(d_j=d_i+s_i-s_j=d_i+2s_i-n\)。
“剥叶子”,数列最大值点 \(i\),然后可以定邻居,剩下的最大点同样是叶子。
并查集维护联通块即可。
T4
掉线了。
树的刻画:\(n-1\) 条边联通 or \(n-1\) 条边无环。
前者全局,后者局部。
判定好像只需看 \(2^6\) 种子集内部边数即可,证明类霍尔定理,虽然我没听懂。
不会构造。
T5
两个限制没啥关系,找点好看的结构。
单置换环可以用菊花完成,是个好入手点。
考虑多个环怎么办?发现多个菊花不交比较困难,不如牺牲一些先变成单个环。
然后我好像掉线了。
做法貌似是极角排序后用边上的边来打通环,中间的边留给菊花。
一个要求是参考点是左下角,不会证。
T6
典中典。
T7
对于只给一个 \(n\) 的,考虑增量构造。
假设 \(n-3\) 造好了,新增三个点,依次向前面所有点连 \(1,2,3\)。
然后发现差值是 \(1\),于是改成 \(n-6\),依次向前连 \(3,2,1,1,2,3\)。
小的暴力。
T8
考虑不同转成 \(\bmod\text{ }p\) 下不同。
然后发现平方和 \(\bmod\text{ }4\) 是个好方法,只有 \(0,1\)。
那么 \(\bmod\) 意义下不同可以做染色,黑白染色后同色点一个集合就行。
一个问题是全都同色就分不开了,但这样的话可以旋转坐标轴再染色。
T9
分黑白格做,则一个黑格是 \(\operatorname{lcm}(a,b,c,d)+1\)。
为了保证互不相同,需要用大量的质数,数值炸了。
解决方法是允许非质数,通过在两条斜线上附加一个质数乘上去。
比较迷,讲题人表示这个思路应该是来源于二维网格把点拆分到两个轴上,\(x,y\) 分别进行贡献。
虽然这里是拆的斜轴就是了。
T10
\(n\equiv 0,1\pmod 4\) 有解,考虑从 \(n-4\) 增量过来即可。
做一次循环右移,相当于从左到右一直和最后一个操作,左移就是右到左。
增量的时候,先把 \([1,\cdots,n-4,n-3,n-2]\) 循环右移一位,然后再循环左移 \([n-2,1,\cdots,n-4]\),这样结构变成 \([1,\cdots,n-4,n-2,n-3]\)。
同理地截断出 \([1,\cdots,n-4]\cup[n-1,n]\) 做上述操作,得到结构 \([1,\cdots,n-4,n-2,n-3,n,n-1]\)。
前面需要 \(4n+2\) 步,后面调整只用 \(4\) 步,思路来源大概是算出这个 \(4n\) 后意识到要做 \(4\) 次整体操作,然后拼凑一下常数。
T11
初状态随意,末状态整齐,考虑操作逆序,这样可以将元素看作通配符。
貌似之前某个原神 ICPC 题也出现过。
然后是在后面的倒着做,第一步正着合过去。
合并的方法是跑个二分图,用匹配把不同来源的问号分开。
等会儿补个截图。
没有截图,合并的过程大概是这样:
将 \(\lceil x/m\rceil\) 称为颜色,考虑第二步之后,每行都是同一个色。
而第一步之后,每列都要有 \(n\) 种颜色。
逐列跑二分图匹配即可,可以集合着霍尔定理归纳证明一定有解。
T12
如何得到大数 \(n\)?
- 二进制拆分,构造 \(2^k\),然后组合起来。
- 每次 \(\times 2\) 或 \(+1\),然后组合起来。
没有什么好的入手点,于是加强限制。
若是两个排列拼起来,那么只需数其公共子序列,不妨令其中一个为单增的排列。
只需计算另一个的上升子序列。
我们把空集算进去,那么有构造:从小往大加数,放后面 \(\times 2\),放前面 \(+1\)。
实现的时候可以倒着算奇偶性,然后全都倒过来。

浙公网安备 33010602011771号