抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

拯救我自己。

110 PA2024 Żarówki

对每一个连通块分别考虑。

考虑将连通块内的情况。考虑一个连通块内的边充分多的情况下会发生什么?观察不难发现其答案为 2n12^{n-1},而且不能再多了。

什么时候答案能够是这个?发现只要这个连通块不是一个二分图就可以了。

题解解释原因是这样的:奇环上的边可以任意吞掉两个棋子,或是任意产生两个棋子,所以只要棋子个数的个数是的奇偶性相同的状态都是可达的。

于是只要考虑二分图怎么做。答案是一个组合数,将颜色本身异或上是否是右部点,统计 11 的个数。接下来我们的操作就是同时翻转两个点,仅当它们不同,相当于异或出来为 11 的点上有个棋子,你可以将它移动到没有棋子的点上。

111 AGC004F Namori

怎么计数呢?对于树染成二分图后就是黑白点计算权值,对子树内的权值和考虑即可。不难发现这样很容易贪心。

对于奇环基环树,只要有偶数个点就可以随便跑了。对于答案,发现其并不能将本来有解的东西的答案变小,只能将本来无解的变成有解。因此先操作这条边 sum2\frac sum 2 次即可。

偶环奇环树,相当于有一条边是没有用的。把环拉出来,分成两半重新定义权值,发现其是找一个 xx,使得环上的 x+aixx+\sum |a_i-x| 最大(并不准确,一部分是加一部分是减,讨论一下,预先操作 xx 次),排序即可。

112 CF1083F The Fair Nut and Amusing Xor

直接差分掉,那么可以 O(n)O(n) 贪心解决。

对于每一个 modk\mod k 不同的位置分别考虑,然后问题转化为区间异或,区间查询不为 00 的个数,直接做即可。

113 CF718E Matvey’s Birthday

考虑一个点是怎么走到另一个点的,要么是 ij|i-j| 的贡献直接走,要么定义 fi,cf_{i,c} 代表 ii 走到一个区域为 cc 的点的最小代价(可以直接使用 01 BFS 进行预处理),答案是 fi,c+fj,c+1f_{i,c}+f_{j,c}+1。由于答案不会超过 2k2k,因此前者不难再最后取 min\min 处理,我们只需要计算出答案为 ii 的点对个数 ansians_i。很难不考虑对从区域 ii 走到区域 jj 的贡献进行统计。这里只考虑 i<ji<ji=ji=j 的贡献就是 11

gi,j=min{fx,j}g_{i,j}=\min\{f_{x,j}\},那么区域 ii 走到区域 jj 的贡献一定是 [minc{gi,c+gj,c}+1,minc{gi,c+gj,c}+3][\min_{c}\{g_{i,c}+g_{j,c}\}+1,\min_{c}\{g_{i,c}+g_{j,c}\}+3],只需要考虑何时能够取到最值。预处理出 cnti,scnt_{i,s} 表示 ii 区域走到 ss 内的区域是最小的点的点的个数(严格是 ss)以及其前缀和,随便容斥。

于是最终做到了 O(nk+k22k)O(nk+k^22^k)

114 NOI2022 移除石子

首先需要会判定是否合法。我们发现直接将恰好改为至多基本上不会错,因为可以将多的扔到一个位置然后用 11 操作处理。事实发现也只需要特判很少的情况。

fi,j,kf_{i,j,k} 代表考虑前 ii 个石子,统计第 ii 个位置出发和结束的 22 操作,第 ii 个位置至少被 jj 个连续消除覆盖,第 i+1i+1 个位置至少被 kk 个覆盖的时候,至少需要添加多少个石子。

由于至少 22 枚石子的时候就可以使用操作 11,因此猜测 j,k2j,k\le 2,事实也确实如此。

写一下需要特判的情况,k=1k=1 时会在全零和 1,1,1{1,1,1} 矛盾,k>1k>1 都可以通过移除至多一个二操作,然后剩下的用一操作消除的方式解决。

然后把 ff 的自动机建立出来,发现 ai8a_i\ge 8 的时候本质相同,直接转移即可。

115 IOI2019 矩形区域

预处理一行的连续段,然后枚举左右边界直接扫即可。

评论

若无法加载,请尝试刷新,欢迎讨论、交流和提出意见,支持 Markdown 与 LaTeX 语法(公式与文字间必须有空格)!