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

CF 1325 题解

时间:2024-11-12 09:19:01浏览次数:1  
标签:度数 那么 1325 返祖 题解 sq CF Delta operatorname

CF 1325 题解

A EhAb AnD gCd

有 \(\gcd(1,x)=1,\text{lcm}(1,x)=x\) , 因此输出 \(1 x\).

B CopyCopyCopyCopyCopy

要求严格上升子序列, 那么答案的上界当然是去重后的元素个数.

能否取到上界呢? 当然可以, 每一段内选一个你想要的就可以了.

C Ehab and Path-etic MEXs

发现 \(0,1\) 两条边一定能用一条链串起来, 因此 \(n>2\) 时答案下界为 \(2\).

想要让 \(\text{MEX}\) 尽量小, 那么我们只要把 \(0,1,2\) 的边串不成一条链就能把上界卡到 \(2\).

怎么构造这个条件呢? 找一个度数大于等于 \(3\) 的点, 找到相邻的 \(3\) 条边分配 \(0,1,2\), 剩下的随便分配即可.

不存在度数大于等于 \(3\) 的怎么办? 那一定是一条链了, 答案一定是 \(n\), 与构造无关, 因此直接随便分配即可.

D Ehab the Xorcist

首先, 我们知道, 异或和小于等于代数和, 那么 \(m>n\) 时无解.

其次, 我们知道, 如果在 \(k\) 个数中, 某个二进制位被点亮 \(p\) 次, 那么会损失掉 \(p-(p\bmod2)\) 次, 这个数一定是偶数, 因此当 \((m-n)\bmod2=1\) 时无解.

设 \(\Delta=m-n\), 那么我们想构造出来 \(\Delta\) 的损失量, 只需要重复出现两个 \(\frac{\Delta}{2}\) 即可, 那剩下的怎么办? 塞一个 \(m\) 就可以了, 不难发现这样一定合法.

答案要求数最少, 有可能有两个数的构造吗? 设这两个数为 \(a,b\), 根据 \(m=n+2\times(a \operatorname{and} b)\) 可以求出 \(a \operatorname{and} b = \frac{\Delta}{2}\).

由于 \(a \operatorname{and} b\) 和 \(a \operatorname{xor} b\) 显然不会有相同的二进制位, 而这个条件成立时也不难构造出对应的 \(a,b\) , 那么这个条件对于有解充要.

那么我们把无解判掉, 现在认为有解, 一个可能的解的构造是 \(n \operatorname{or} \frac{\Delta}{2},\frac{\Delta}{2}\).

在刚刚那个充要条件成立时, \(3\) 个元素那个方案的后两项做按位或不会对代数和以及异或和造成任何影响.

只有一个元素的方案? 这只能是 \(n=m>0\) 了.

什么也没有的方案? 那就是样例里面的 \(n=m=0\)了.

E Ehab's REAL Number Theory Problem

一个重要的条件是每个数的因数个数不超过 \(7\), 这意味着一个数最多有 \(2\) 个质因数.

一个数中如果有平方因子, 那么把它除掉则无影响.

( 经过上面的操作后 ) 一个数如果是 \(1\), 把它输出出来即可; 否则每个数都可以表示为 \(p_1p_2\) 的形式, 其中 \(p_1,p_2\in \{1\} \cap \mathbb{P}\).

考虑图论建模, 把每个数的 \(p_1\) 和 \(p_2\) 连一条边, 这样, 问题变成了: 从边集 \(E\) 中选择一个子集 \(S\) , 使得 图 \(G=<E,S>\) 中每个点的度数都是偶数, 求合法的 \(S\) 的大小的最小值.

首先, 一个环必然合法.

考虑一个更加复杂的方案, 如果这个方案中边集 \(S\) 不联通, 那么选择其中最小的那个连通块一定更优, 因此最优解的边集一定联通.

如果这个连通块, 它存在一个点的度数大于 \(2\), 那么根据边数等于度数和除以 \(2\), 那么 \(|S|\) 一定超过了点数, 所以必然含有环, 那么我找到其中的一个环必然更优.

因此最优解一定是环, 这把问题转化为了寻找一个最小的环.

这个问题并不好做, 但是发现我们的转化并不充要, 由于原题中每个数不会超过 \(10^6\), 那么每条边一定连着一个小于 \(1000\) 的数, 这样的点不会超过 \(200\) 个, 我们只要枚举这些点做 bfs, 每次有非 bfs 树边就更新答案就可以了.

F Ehab's Last Theorem

首先考虑 dfs 树.

我们记 \(sq = \lceil \sqrt n \rceil\), 那么 dfs 树上每个点的返祖边都至多有 \(sq - 3\) 条, 否则直接输出环即可.

解释: 如果一个点连出来了 \(k\) 条返祖边, 由于无重边, 那么第一条返祖边至少是它的 二级祖先 , 而最严格条件下 (也就是它向离他最近的祖先节点连边), 那么至少会存在一个大小为 \(k + 2\) 的环.

如果失败了, 那么意味着每个点至多连出 \(sq - 3\) 条返祖边, 我们寻找支配集的过程中, 每次钦定一个当前可用的最深的点在支配集中, 同时认为他自己, 他的父亲, 他的返祖边所连结点不可用, 这些点加起来不会超过 \(sq-3+1=1=sq-1=\lceil \sqrt n \rceil-1\leq \lfloor \sqrt n \rfloor\) 个, 那么这个操作至少持续 \(sq\) 轮, 一定有合法答案, 模拟即可.

标签:度数,那么,1325,返祖,题解,sq,CF,Delta,operatorname
From: https://www.cnblogs.com/snowycat1234/p/18541096

相关文章

  • 历年CSP-J初赛真题解析 | 2020年CSP-J初赛完善程序(34-43)
    学习C++从娃娃抓起!记录下CSP-J备考学习过程中的题目,记录每一个瞬间。附上汇总贴:历年CSP-J初赛真题解析|汇总_热爱编程的通信人的博客-CSDN博客(质因数分解)给出正整数n,请输出将n质因数分解的结果,结果从小到大输出。例如:输入n=120,程序应该输出22235,表示120=2×2×2×......
  • 博弈论(零和博弈)英文版题解
    翻译:   假设我们有一个两人零和游戏,每个玩家有两种行动,行收益矩阵如下:计算行和列玩家的最小最大最优策略以及游戏的价值。      X     YA    a11   a12B    a21   a22选项:1.行玩家:第一种行动的概率为三分之二,第......
  • P1625求和 题解
    P1625求和题解题意求和题解比较好想,小学一年级奥数可以理解为高精度的大杂烩代码很简洁,可自行理解#include<bits/stdc++.h>//万能头#definelllonglong//开longlong usingnamespacestd;//命名空间lln,m,a[2005],b[2005],c[4000005];//a[0],b[0],c[0]......
  • Educational Codeforces Round 80 (CF1288)
    EducationalCodeforcesRound80(CF1288)A.Deadline题意给出正整数\(n,d\),求不等式\(x+\lceil\frac{d}{x+1}\rceil\len\)是否有非负整数解。思路先不考虑上取整,\[x+\frac{d}{x+1}=x+1+\frac{d}{x+1}-1\ge2\sqrtd-1\]当且仅当\(x+1=\frac{d}{x+1}\)即\(......
  • 牛客周赛Round 67 个人题解(A~F)
    牛客周赛Round67个人题解(A~F)牛客周赛Round67A-排序危机题目分析相对位置不会改变,用三个·字符串模拟即可#include<bits/stdc++.h>#defineendl'\n'usingnamespacestd;voidsolve(){ intn;cin>>n; strings;cin>>s; s=""+s; strings1,s2,s3; for(i......
  • CSP-J2024 复赛T1(洛谷P11227)题解
    前传作者初赛没过。坐标sd,79分过不了已经适应了。话说这次泄题事件闹得沸沸扬扬,都说各省分数线要降,最后sd降了8分,80。挺逆天的,感觉sd再这样下去一点OIer都要没了。思路桶排思想,用二维数组模拟一整副牌,本来做的时候是怕有重复牌才这样做,事实上不会。ACCode#include<bits/......
  • 《【NOIP2000 基础】计算器的改良》 不全对题解
    温馨提示,本题难度略大,本人写不出来正确代码,文章代码并不对,只是提供一些思路,希望大家能谅解!目录题目描述输入描述输出描述解析完整代码描述NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一......
  • 洛谷题单103数组题解||by红糖
    P1428小鱼比可爱题目描述人比人,气死人;鱼比鱼,难死鱼。小鱼最近参加了一个“比可爱”比赛,比的是每只鱼的可爱程度。参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只鱼的可爱程度,很显然整数越大,表示这只鱼越可爱,而且任意两只鱼的可爱程度可能一样......
  • [题解](更新中)Refact.ai Match 1 (Codeforces Round 985)
    A-Set显然答案是\(\max(\lfloor\frac{r}{k}\rfloor-l+1,0)\)。点击查看代码#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;intt,l,r,k;signedmain(){ cin>>t; while(t--){ cin>>l>>r>>k; cout<<max(0ll,......
  • 题解:P11262 [COTS 2018] 题日 Zapatak
    https://www.luogu.com.cn/article/i7ajvm8e哈希好题。题意给定一个序列,每次询问给定两个长度相等的区间,问这两个区间是否只有一个数不一样。思路发现我们要求的信息只与数的出现次数有关,自然想到桶。那么如果有两个区间合法,那这两个区间的桶只有两个位置不同且桶内的值均相......