CF 1325 题解

news/2024/11/14 4:16:41/文章来源:https://www.cnblogs.com/snowycat1234/p/18541096

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\) 轮, 一定有合法答案, 模拟即可.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/832124.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AutoCAD Blockview .net在wpf项目中的问题

之前使用Blockview是遇到平移的问题, 这几天在学习使用CommunityToolkit.MVVM框架来创建用户界面, 当创建GsPreviewCtrl控件时会遇到错误, 导致整个窗体不能显示, 错误信息如下:************** 异常文本 ************** System.InvalidProgramException: 公共语言运行时检…

html`` - function html(str) { return str+111 } 调用方式 - solidjs文档里面发现的

html`` - function html(str) { return str+111 } 调用方式 标签模板字符串Tagged Template Literals 这里是自己实现这个字符串模板,等于函数调用的另一种方式 html(111) html`111`solidjs文档里面发现的 https://www.solidjs.com/guides/getting-started#不使用构建工具----…

模态内重叠优化,简单有效的CLIP微调方法 | BMVC24 Oral

来源:晓飞的算法工程笔记 公众号,转载请注明出处论文: CLIP Adaptation by Intra-modal Overlap Reduction论文地址:https://arxiv.org/abs/2409.11338创新点提出一种基于轻量级适配的新方法,直接在图像空间中减少CLIP中的模态内重叠(IMO)。新特征与任何利用缓存模型的无…

一文了解:如何多纬度阐述数据安全传输问题,部署及解决方案!

企业的业务正常开展依赖安全有序的数据流转,数据传输环节融合在企业生产办公、日常经营、技术研究、战略发展等活动的方方面面。数据是任何企业的命脉,但企业数据在传输过程中仍然面临着监管机制不健全、传输主体涉及面广、网络环境复杂、攻击手段多样、数据泄露引发多米诺骨…

Ftrans文件自动化传输方案:释放双手,让数据流动更自由!

随着企业业务不断扩大发展,数据传输和汇集逐渐成为其业务链中的一个重要环节。在企业内部,一般会存在多台文件存储服务器,基于业务开展需要,存在将不同服务器上的不同数据文件自动化传输到同一台文件存储服务器上的场景需求。当下企业选择较多的文件自动化传输方式如FTP、R…

项目UML图

1.用例图2.类图3.时序图

【Unity】UGUI中ScrollView的设置

UI实现横向滚动展示元素,并可以点击指定项增加元素。UI实现横向滚动展示元素,并可以点击指定项增加元素。 成果展示Scene部分ScrollView的设置此案例取消了纵向的滚动条,可以直接删除对应的Scrollbar,然后取消勾选Scroll Rect中的Vertical属性; MovementType属性选择了Cla…

基于surging的木舟平台如何构建起微服务

一、概述木舟平台分为微服务平台和物联网平台, 上面几篇都是介绍如何通过网络组件接入设备,那么此篇文章就细致介绍下在木舟平台下如何构建微服务。木舟 (Kayak) 是什么?木舟(Kayak)是基于.NET6.0软件环境下的surging微服务引擎进行开发的, 平台包含了微服务和物联网平台。支…

PYCHARM-pycharm工具激活

通过百度网盘分享的文件:pojie.zip 链接:https://pan.baidu.com/s/1FGafhVPF4TwL83u9_3sPUw 提取码:sky1

使用 C# 入门深度学习:Pytorch 基础

教程名称:使用 C# 入门深度学习 作者:痴者工良 地址: https://torch.whuanle.cn 1.2 Pytorch 基础 本文内容介绍 Pytorcn 的基础 API,主要是数组的创建方式和运算方式,由于相关内容跟 Numpy 比较相似,并且 Numpy 类型可以转 torch.Tensor,因此对 Numpy 感兴趣的读者可以…

IBM 开源的文档转化利器「GitHub 热点速览」

上周的热门开源项目,Star 数增长犹如坐上了火箭,一飞冲天。短短一周就飙升了 6k Star 的多格式文档解析和导出神器 Docling,支持库和命令行的使用方式。全新的可视化爬虫平台 Maxun,则在刚开源时便轻松斩获了 4k Star。而本地优先的个人理财工具 Actual,支持 Docker 自托管…

百度机器翻译SDK实验

1.先登录 https://ai.baidu.com/ai-doc/index/MT https://console.bce.baidu.com/