首页 > 其他分享 >CEOI Team Selection D1T2 Prosjek

CEOI Team Selection D1T2 Prosjek

时间:2023-07-14 21:45:28浏览次数:51  
标签:Selection frac 可以 CEOI 变为 Prosjek 集合 操作 bmod4

首先全奇全偶的情况是容易的,将 \(\bmod4\) 意义下相同的合并即可保持原来的奇偶状态,当只有两个是直接合并即可,归纳即可说明全奇全偶一定合法。
但关键的问题在于奇偶状态可能互相影响,一个直观的想法是将奇合并为一个 \(x\),偶合并为一个 \(y\),如果 \(x,y\) 的奇偶性相同,那么它们即可合并,即我们关心奇集合与偶集合最终可以得到的状态。
手玩一些数据可以发现,其实当集合的数比较多元时,一个集合总是既能变为奇,又能变为偶,而 \(\bmod4\) 的奇偶性相同性控制着奇偶性,即我们可以考虑尽可能保持 \(\bmod4\) 意义下每一种形态都存在,而且如果两个集合我们均不能保证每种状态均存在,那么由于我们只能使奇集合变为奇,偶集合变为偶,最终无法将其合并。
不妨设奇集合 \(\bmod4=1,\bmod4=3\) 的均存在,那么每次选择 \(\bmod4=r\) 中 \(\geqslant3\) 的一个操作,即可保证该状态不会改变,且集合的大小 \(\geqslant4\),我们接下来说明这样的操作不会对答案的存在性产生影响:
当集合大小为 \(2\) 时:必然一开始就为 \(2\),此时只有唯一方式,即变为偶。
当集合大小为 \(3\) 时:不妨令其为 \(a,b,c\),且满足 \(a\bmod4=1,b\bmod4=1,c\bmod4=3\)。
\(case1:\) 变为偶,我们可以操作 \(a,b\) 或 \(b,c\) 或 \(a,c\) 变为子状态,可以发现三个中必然有一个是可以变的,否则有 \(\frac{a+b}{2}\bmod4=3,\frac{a+c}{2}\bmod4=1,\frac{b+c}{2}\bmod4=1\),那么有 \((\frac{a+b}{2}+\frac{a+c}{2})\bmod4=0\),\((a+\frac{b+c}{2})\bmod4=2\),而两式本身相等,则导出矛盾,所以必然有一个可以操作变为子状态。
\(case2:\) 变为奇,同理我们可以操作 \(a,b\) 或 \(b,c\) 或 \(a,c\) 变为子状态,可以发现三个中必然有一个是可以变的,否则有 \(\frac{a+b}{2}\bmod4=1,\frac{a+c}{2}\bmod4=3,\frac{b+c}{2}\bmod4=3\),那么有 \((\frac{a+c}{2}+\frac{b+c}{2})\bmod4=2\),\((\frac{a+b}{2}+c)\bmod4=0\),而两式本身相等,则导出矛盾,所以必然有一个可以操作变为子状态。
即其既能变为奇,又能变为偶。
当集合大小为 \(4\) 时:不妨令其为 \(a,b,c,d\),且满足 \(a\bmod4=1,b\bmod4=1,c\bmod4=3,d\bmod4=3\),那么如果 \(\frac{a+b}{2}\bmod4=1\) 或 \(\frac{c+d}{2}\bmod4=3\),则可以变为大小为 \(3\) 的状态,那么则既能变为奇,又能变为偶,在接下来的讨论中,默认 \(\frac{a+b}{2}\bmod4=3\) 或 \(\frac{c+d}{2}\bmod4=1\)。
\(case1:\) 变为偶,我们可以操作 \(a,b\) 与 \(c,d\),变为大小为 \(2\) 的情况。
\(case2:\) 变为奇,我们可以操作 \(a,b\),现将其变为 \(e,c,d\) 三个数,其中 \(e\bmod4=3\),而\(\frac{c+d}{2}\bmod4=1\),则可以操作 \(e,c\) 或 \(e,d\) 或 \(c,d\) 变为子状态,可以发现三个中必然有一个是可以变的,否则有 \(\frac{e+c}{2}\bmod4=1,\frac{c+d}{2}\bmod4=1,\frac{e+d}{2}\bmod4=1\),那么有 \((\frac{e+c}{2}+\frac{e+d}{2})\bmod4=2\),\((e+\frac{c+d}{2})\bmod4=0\),而两式本身相等,则导出矛盾,所以必然有一个可以操作变为子状态。
对于偶集合的讨论同理,我们即证明了如上的操作不会对答案的存在性产生影响。
现在即要凑上述的状态,可以发现每次操作可以使二进制下最小的差异位减少 \(1\),而减到不能再减了就合法了,而每次将最小差异位的 \(01\) 操作即可尽量使其减少。
经上述操作,可将元素个数缩为 \(8\) 以内,对剩下的可以跑爆搜。

标签:Selection,frac,可以,CEOI,变为,Prosjek,集合,操作,bmod4
From: https://www.cnblogs.com/zhouhuanyi/p/17555049.html

相关文章

  • css之selection---让“选择”更色彩
    一直以来很少人关注也门文字的选中文字的控制,但是不乏在一些细心的网站会加一些这样的设置。 CSS3新增的伪::selection,可以帮助我们来改变选择文本的颜色和背景。  ::selection{color:#333;background-color:#cca2da;}::-moz-selection{color:#333;background-color:#cca2da;}......
  • P5999 [CEOI2016] kangaroo
    前言写这篇题解的原因是这道题提供了一种新的dp思路——插入dp。题意给定一个长为\(n\)的数轴,一只袋鼠在上面要从\(s\)跳到\(t\),跳跃过程中,每次跳跃方向必须与上一次相反,求方案数。分析拿到这个题其实还是蛮蒙的,但是如果我们转化(抽象)一下题意,就会发现这道题可以看作:......
  • [CEOI2017] Sure Bet(双指针)
    题目大意:给出两个数组A,B,可以在两个数组选择任意多个数,代价为选择的数的数目,得到的奖励为在数组A和数组B中选择的数的两个总和较小的那个,求能得到的最大收益思路:1.先给两个数组分别由大到小排序后求前缀和,不难得出在数组A中选择i个数,数组B中选择j个数时,最大收益为:m......
  • [CEOI2017] Mousetrap
    100黑祭。首先以终点为根。先考虑简单一点的情况:如果起点终点相邻,那么方案一定是让老鼠先走到一个叶子节点,然后断掉该节点到根路径上其它的分支。于是我们令\(f_i\)表示从\(i\)开始走到\(i\)子树里的一个叶节点再返回所需的最小代价,每次dp从儿子里的次大值转移即可。考虑......
  • Flip-Flop Hardening and Selection for Soft Error and Delay Fault Resilience
    Flip-FlopHardeningandSelectionforSoftErrorandDelayFaultResilience​​https://ieeexplore.ieee.org/document/5372275Thetraditionaltestmodelofgo/no-gotestingbeingquestionedbyincreasingdelayfaultmanifestationshasbecomeevenfurtherc......
  • <el-table-column type="selection" 多选框旁边多了个点
      问题效果 解决方式 ......
  • Failed to execute 'setSelectionRange' on 'HTMLInputElement'
    jcubic commented on7Jan2016WhenIusenumberinputI'vegoterrorinGoogleChromeUncaughtInvalidStateError:Failedtoexecute'setSelectionRange'on'HTMLInputElement':Theinputelement'stype('number')......
  • Revit二次开发实战02(选择对象Selection)
    Revit二次开发实战 Selection主要用于和用户交互,通过用户的选择,设置操作对象,以便进行处理;Selection属于界面操作的范畴,因此位于UIDocument类下面,而不是Document类下面;可以选择一个对象、多个对象、选择点、选择矩形框、框选多个对象等;通过过滤器可以提供一个强大的功能,可以......
  • CodeForces - 630F Selection of Personnel (组合数学)
    TimeLimit: 500MS MemoryLimit: 65536KB 64bitIOFormat: %I64d&%I64uCodeForces-630FSelectionofPersonnelSubmit StatusDescriptionOnecompanyofITCitydecidedtocreateagroupofinnovativedevelopmentsconsistingfrom 5 to 7 peopleandhir......
  • [CEOI2021] Newspapers
    模拟赛没有判\(n=1\),喜提\(0\)分。感谢每个subtask都放\(n=1\)的善良出题人。看到题感觉A的操作好像比较弱小,唯一的用处似乎只能用来排除B在哪些位置,那这样就有一个暴力了,直接记录当前还有哪些点上可能有B,然后直接跑bfs,就可以通过第一档分了。看到第二档分似乎比较......