首页 > 其他分享 >CF1979 记录

CF1979 记录

时间:2024-06-07 12:56:19浏览次数:33  
标签:度数 前缀 记录 一个 删掉 然后 CF1979 给定

Dashboard - Codeforces Round 951 (Div. 2) - Codeforces

吐槽和简单总结

感觉最近打一场比赛掉一次 rating,可能前几次上涨都只是运气好碰到了一些更考验思维的题,我的细节能力就是依托答辩,什么也写不出来,这次 B 猜的结论(虽然细想很快就能找到证明),C 也是猜的,D 一直在绕弯,E 一开始还编的是一直偏序的若干 log 解法。

我也不知道赛场上我在急什么,总之就是什么也想不到什么也做不出来,可能思维还是有点乱,需要冷静下来仔细思考,不要把 div2 当成抢时间大赛,往往适得其反。

还发现我的代码能力也是弱得离谱,现在感觉有需要比赛完看看别人的实现,我总是能把很简单的东西写的非常复杂。还得了解一点语法糖。

CF1979A

简单题,不讲。

CF1979B

给出两个无穷序列 \(a_n\) 和 \(b_n\) ,其中 \(a_i = x \oplus i\),\(b_i=y \oplus i\),你需要求出两个序列的最长公共字串长度。

赛时直接猜的二进制下前缀公共部分长度那么大,其实证明是很显然的,你考虑按照前缀长度分块,然后每个块里讨论,每个块里都是一样的,块序不同。

CF1979C

构造一个序列 \(a_n\) 使得对于任意 \(i\) 都有 \(k_ia_i > \sum a_i\),\(k\) 数组给定。

赛时想的是我只要直接 \(\text{lcm}\) 构造,但是这是很不严谨的,现在严谨地证明一下:

考察一个使上面式子成立的 \(S=\sum k_ia_i\),那么我们相当于必须有 \(\sum \frac{S}{a_i} < S\),因为按比例分配肯定最优,两边约掉 \(S\) 发现这个成立性不依赖 \(S\),那其实只要去 \(\text{lcm}\) 然后判断一下就行。

CF1979D

给定一个字符串,定义字符串 \(s\) 是 \(p\) 好的当且仅当 \(s_1=s_2=\cdots =s_p\) 且任意 \(i \leq n-p\) 都有 \(s_i \neq s_{i+p}\),现在你必须对字符串做一次操作:反转一个前缀然后接到后面,问怎么操作能让字符串变成 \(p\) 好的,\(p\) 给定。

这个题的关键可能就是你不能一直想分讨一些情况简化条件,而是你要想我们先就硬做,不满足会怎么样。

一个不难发现的点是这其实等价于我把一个后缀 reverse 然后判断是不是 \(p\) 好,然后你先尝试从第一个字符往前走,看看不操作到哪里会变得不好。

接着你会发现这个点如果不是某个连续相同块的开头,那么你只可能把它所标志的前缀做上述操作,否则你还得看一下后面少了多少个类似的字符,然后相匹配地进行操作,只要这两个分讨论就可以结束。赛时在第二个讨论那里调了很久,还是细节能力不够

CF1979E

给定平面上 \(n\) 个点,曼哈顿距离为 \(|x_i-x_j|+|y_i-y_j|\),找出三个点使得两两距离都是 \(d\),其中 \(d\) 是偶数。

往偏序想你就甲烷了,思考一些更简单的东西,一个套路是先尝试固定一个点,然后找另外两个点,不难发现合法的范围类似一个菱形,第三个点则是两个菱形的焦点。

注意到一个简化的性质是必然有两个点使得 \(|x_i-x_j|=|y_i-y_j|\),然后你把这样的数对称作斜线,那么你只要考虑一个点右上方是否有这样的斜线就行,但是要每次反转坐标轴,这样可以减少讨论,每次反转而不是讨论。

CF1979F

给定一个 \(n\) 个点的无向完全图,但是其中少了 \(n-2\) 条边,你每次可以询问一个 \(d\) 表示问度数大于等于 \(d\) 的最小度数最小编号的节点,还会告诉你一个最小编号的不和上面那个点有边相连的点,没有则返回 0,每次询问结束删除第一个返回的点,你需要回答这个图的一个哈密顿路。

图很密,很容易有解,有的度很多的点怎么样都有解,其实可以直接删掉。

考察每次把一个恰当多度数的节点删掉递归,不难发现图中肯定有度数大于等于 \(n-2\) 的点,每次问 \(n-2\),如果有度数是 \(n-2\) 而不是 \(n-1\) 的点,那你完全可以递归,然后把它接在新路径的前面或者后面,这个根据你对那个点没边来讨论。

否则如果是 \(n-1\),你发现删掉后图的性质就不好了,于是你考虑删掉一个度数小于等于 \(n-3\) 的点补上,递归也是容易的,你只要在新的路径前面分别加上 \(n-1\) 度和另外一个点就好了。

标签:度数,前缀,记录,一个,删掉,然后,CF1979,给定
From: https://www.cnblogs.com/eastcloud/p/18237031

相关文章

  • nginx配置跨域文档记录
    参考:https://www.cnblogs.com/PengfeiSong/p/12993446.html@目录概要代码小结概要这个跨域我之前配置过,昨天搜了下教程没有配成功,今天上午又花了近一上午才搞定,特意过来记录下代码server{listen80;server_nameapi.xxx.space;client_max_body_size50M;......
  • CodeForces Round #951(Div. 2) 补题记录(A~D)
    A容易发现对于任意一个长度为\(n\),下标从\(1\)开始的序列\(a\),若\(1\lel\ler<n\),则必然有\(\max\limits_{i=l}^ra_i\le\max\limits_{i=l}^{r+1}a_i\)。若\(1<l\ler\len\),则必然有\(\max\limits_{i=l}^ra_i\le\max\limits_{i=l-1}^ra_i\)。很显然Bob希望......
  • 《UML基础、案例与应用》习题记录-第5章
    部分习题,使用visio或plantuml,非正确答案,仅供参考,欢迎评论,谢绝转载。第5章聚集、组成、接口和实现5.8.2习题1.组成结构图Magazine  2.类图 3.类图 4.类图 ......
  • 《UML基础、案例与应用》习题记录-第4章
    部分习题,使用visio或plantuml,非正确答案,仅供参考,欢迎评论,谢绝转载。第4章关系4.10.2习题1.类图 2.类图 3.类图4.类图 5.类图 6.类图 ......
  • 2024.6 做题记录
    2024.6做题记录[JSOI2009]球队收益/球队预算考虑到要求最小总支出,想到最小费用流。首先容易发现,每场比赛都只有两种可能,即甲输乙赢或甲赢乙输。但是这样我们在跑费用流的时候显然需要考虑对于两个因素同时的影响,显然这样不好做。我们不妨假设剩下的比赛所有人都输,那么我们......
  • 力扣刷题记录: 1080. 根到叶路径上的不足节点
        本题是第140场周赛的Q3,LC竞赛分为1806。主要考察递归。我觉得这道题不值这个分。方法一.递归        我们将通过一个节点的“根-叶”路径分解为两部分,一部分为根到其父节点,另一部分为它到叶子节点。前一部分的val值之和是固定的,可以在递归中使用......
  • 动态代理学习记录
    目录1.代理模式2.静态代理3.动态代理3.1JDK动态代理1.代理模式Java动态代理与设计模式中的代理模式有关,什么是代理模式呢?代理模式:给某一个对象提供一个代理,并由代理对象来控制对真实对象的访问。代理模式是一种结构型设计模式。代理模式有什么用?作用:通过代理可......
  • 记录--前端起dev从110秒减少到7秒, 开发体验大幅提升
    ......
  • 记录工作中常用的 JS 数组相关操作
    工作中难免会遇到各种各样的数据结构,较为全面的了解数组操作,对于复杂数据结构的处理会非常有用且节省时间所以想在这里总结一下工作中常用的数组操作,都是一些非常基础的知识,大家看个乐就好~目录工作中常用的数组方法常见数组方法中的用法、以及坑slice()和splice()方法......
  • DotNet8自宿主web服务器搭建记录
    建立3个项目,分别是类库项目ConfigTool.WebSite、webapi项目ConfigTool.TestWebSite、webapi项目ConfigTool.WinService,目标框架均为.NET8。 其中控制台ConfigTool.TestWebSite方便开发调试,win服务ConfigTool.WinService作为宿主服务,类库ConfigTool.WebSite为自定义web服务器的......