首页 > 其他分享 >CF 705 题解

CF 705 题解

时间:2024-11-18 12:56:23浏览次数:1  
标签:变小 题解 CF 表达式 705 sg 变大到

CF 705 题解

A Hulk

模拟即可.

B Spider Man

打 sg 表可以发现, 奇数个球先手必败 (sg=0), 偶数先手必胜 (sg=1). 多个组合只要把 sg 值异或起来就好.

C Thor

暴力模拟就可以了, 用队列模拟.

D Ant Man

结论: 按照编号由小到大加入链表, 每次尽量让答案最小贪心就是对的.

若原来是 \(i\rightarrow j\) , 插入 \(k\) (不妨认为 \(i < j\)), 那么贡献如下变化:

  • i 变大
  • 变大到 j

变成:

  • i 变大
  • 变大到 k
  • k 变小
  • 变小到 j

从变化量的角度, 你插入了 \(k\), 那么 变大到 kk 变小 不管插到哪里去都不变, 唯一的差别就是 变大到 j 变成 变小到 j.

类似的分析, 若 \(i > j\), 可以认为 i 变小 会变成 i 变大.

也就是说, 每次插入, 会添加一个 变大到 和一个 变小, 会把一个 变大到 变成 变小到 或者 把一个 变小 变成 变大.

注意到这些变化是不可逆的, 那么意味着没有后效性, 因此贪心是对的.

这篇题解没有考虑和 \(s\) 和 \(e\) 的边界情况, 但是据说证明是类似的.

E Black Widow

考虑图论建模, 把每一个表达式视为一个点, 那么如果两个表达式含有相同的变量, 那么这两个表达式连一条边.

这一定是一堆链和环, 对于每一个联通块 (如果是环就破环为链), 然后设前 \(i\) 个表达式的异或和为 \(j\), 当前公用变量值为 \(k\) 的方案数为 \(f_{i,j(0/1),k(0/1)}\), 最后把每个连通块背包合并即可.

标签:变小,题解,CF,表达式,705,sg,变大到
From: https://www.cnblogs.com/snowycat1234/p/18552369

相关文章

  • 过检测,TP,去虚拟化Vmware虚拟机安装教程【含全套资源压缩包实测CF可行】某鱼平台付费资
    虚拟化技术作为现代IT环境中的一项重要技术,已经被广泛应用于服务器、开发、测试以及日常的工作环境中。VMware是一种广泛使用的虚拟化平台,它可以在不同的硬件上创建虚拟机,帮助用户实现资源的高效利用与隔离。在本教程中,我们将带您一步步安装VMware虚拟机,并详细介绍如何过......
  • CF1023题解
    CF1023A一眼秒之题因为整个s串至多有1个*号,所以可以把s串分为两个部分分别与t串的前后进行匹配,看看前后能不能适配即可注意特判没有*的情况CF1023B一眼秒之题+1简单的,就是一个数k拆成两个数之和,这两个数的值域为(1,n),分讨k为奇偶,然后简单转化即可CF1023C小清新一眼秒之题+1......
  • 题解:CF contest 2037 : [Codeforces Round 988 (Div. 3)] (A-E)
    ATwice题面Kinich醒来迎接新的一天的开始。他打开手机,查看邮箱,发现了一份神秘的礼物。他决定打开礼物的盒子。Kinich用\(n\)整数打开数组\(a\)。最初,Kinich的分数是\(0\)。他将执行任意次数的以下操作:—选择两个索引\(i\)和\(j\)\((1\leqi\lt;j\leqn)\),确......
  • CF1731题解
    推荐食用方法:直接看本人的题面翻译即可,如有写题需要,可以交CF这套题T3、T5质量较高,值得认真思考,T2很神仙,T1、T4相对不太出彩,你问为什么没有T6?因为蒟蒻不会套题洛谷链接套题CF链接T1题面翻译给定一个正整数序列,每次可以将两个数替换为与之乘积相等的两个数,求任意次操作后最大......
  • JMeter响应乱码问题解决方案教程
    前言      ApacheJMeter是性能测试领域的强大工具,但在使用过程中,测试人员常会遇到响应乱码的问题。乱码不仅影响测试结果的可读性,还可能掩盖关键信息,对测试准确性构成威胁。本教程将深入探讨JMeter响应乱码问题的根源,并提供实用的解决方案。你将学习如何识别乱码现象......
  • [ARC187B] Sum of CC 题解
    若\(i\)与\(j\)有边,也就是\(a_i<a_j\),那么对于一个\(i<k<j\),会发现\(a_k>a_i\)和\(a_k<a_j\)至少满足一个。也就是说\(k\)也一定和\(i,j\)联通。于是我们发现了一个关键性质:所有联通块都为一个区间。那我们考虑\(i\)和\(i+1\)什么时候不联通:\(i\)之前的任......
  • CF2037
    男儿何不带吴钩,收取关山五十州!赛时发题解的行为是不是错的啊!没有关系,反正也没写代码,万一假了呢!E考虑最小的\(r\)使得\(f(1,r)\neq0\)。如果不存在这样的\(r\)显然无解。否则一定有解。考虑\(f(1,r)\neq0\)能带来什么信息,必然有\(s_r=1\),且\(s_r\)前面有\(f(1,r)......
  • AtCoder Beginner Contest 380 (A~E)题解
    A-123233遍历字符串统计出现次数即可。#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintN=1e6+10;intn,m,k;inta[N];signedmain(){ strings; cin>>s; map<char,int>mp; for(autot:s){ mp[t]++; } if(......
  • P10124 [USACO18OPEN] Family Tree B 题解
    思路这道题目很像找\(2\)头牛的最近公共祖先,即lca,但是并不用那么麻烦.因为数据很小,我们可以写一个山寨版的lca.具体如下.intmother(stringx,stringy){ intres=0; while(y!=""){//有名字的牛 if(x==y)returnres;//两头牛的名字相等,说明是同......
  • [AGC032B] Balanced Neighbors 题解
    考虑先写个暴力\(O(n2^m)\)的输出一下结果,看一下n=4,5,6的(尤其是n=6的)结果,尤其是每个点像其余哪几个点连边,然后就想到了构造方案。代码constintN=109;intn;inte[N][N];voidskymaths(){read(n);if(n%2==0){rep(i,1,n){......