首页 > 其他分享 >CF1984 记录

CF1984 记录

时间:2024-06-11 21:22:54浏览次数:23  
标签:发现 记录 text 最大值 CF1984 给定 要么 分讨

吐槽

真跟上次说的一样打一场掉一场了,最近 CF+AT 加起来打了四场全部掉一车,我都不知道到底是我晚上状态很差还是纯菜,就比如这场 D 写了一车分讨最后还是挂细节,B 编了个离谱做法但是漏了一堆 case,本来以为也是细节问题今天一看还是假。

不过就算这次比赛状态好可能还是只能到 E,我应该还是编不出 F 和 G 的细节,细节细节还是细节,代码不够简洁,编了一车错误细节,到底应该写点啥提升呢,如果有看到的同学能否给点建议/kel。

还有就是我发现我思维路径非常古怪,总是往一些比较神秘的古怪的路径去想,没能马上抓住一些简洁的特征和性质,这可能还是训少了的问题,总之还是要多做一点分讨或者一些观察性质的题目,不仅是要找到这个性质,如何运用也很重要。

CF1984A

定义一个数组的权值为最大值减去最小值,问你能否将给定的数组划分为非空的两部分,并使得两部分权值不同,要求构造方案。\(n > 2\)。

首先这个要求构造不同的题目,你肯定先想构造一些极值然后另一边自然取不到这个最大值,这个思路在种类数大于等于 3 的时候肯定可行,由于 \(n>2\),所以在种类数为 2 的时候你让一边颜色全相等就行,种类只有一种显然不行。

CF1984B

定义好数为所有数位上的数都大于等于 5 的数,多次问你一个数能不能被表示成两个数位相同的好数的和。\(10 \leq x \leq 10^{18}\)。

现在看来感觉是个很恐怖的题,因为我一开始的思路与正确思路非常不一样,感觉要立马想到应该这么思考很困难,但是这只是个 B。

遇到这个题有几种思考方法,我赛时想的是先构造极值,看是否在 \(555+555\) 和 \(999+999\) 这种区间内然后再特判一些不能被表达的数,但是这样会有一些碰到 0 的时候不合法的问题,并且这种情况还不是那么好判断,怎么办呢?

构造不行那就观察性质找冲要类似的东西,性质从定义本身出发,你发现末位 9 一定不行,然后末位必然产生进位,于是就抛弃最后一位继续看,有前面传递的 1,因此这次变成了是 0 一定不行,到最后则是 1 不行,于是简单的判断就可以完成。

还是要多想,多想一步有没有假,多想一下有没有更简单的实现方式。

CF1984C

给定一个数组 \(a\),初始时 \(c=0\),每次要么 \(c \leftarrow c+a_i\) 要么 \(c \leftarrow |c+a_i|\),C1 求 \(c\) 最大值,C2 求 \(c\) 转移到最大值的方案数。

感觉比 B 简单,这个思考过程比较平凡。考虑朴素转移,不难发现最大值要么从上一次最大值转移过来要么从最小值转移过来,最小值同理,因此你只要维护最大值和最小值的方案数和权即可。

CF1984D

给定一个字符串,问有多少个该字符串的子串使得原串可以被划分为若干个字符串满足它们要么是这个子串,要么是 \(\text{a}\)。

赛时一直在编 KMP 然后分讨分讨分讨,但是其实我后面已经发现了所有必要结论,还在那里乱搞,蚌埠住了,感觉放早上我都不屑于写(说大话中)。

考察这个字符串应该是什么样,分为是不是全都是 \(\text{a}\) 讨论,前者是平凡的,后者你就考虑非 \(a\) 部分要么是所有串的周期要么是这个东西加 \(\text{a}\) 要么是若干串拼在一起,然后分讨?不,其实你发现非 \(a\) 部分只有 \(n\) 因子种,完全可以暴力枚举。

带 \(a\) 怎么办,你发现你需要算一个类似 \([x^P]\frac{x^{L+1}-1}{x-1}\frac{x^{R+1}-1}{x-1}\) 这样的东西,很麻烦?不,暴力能过,考察每个 \(P\) 贡献次数,这也是类似调和数的东西,总之能过,这个题就很离谱。

CF1984E

给定一棵树,你需要最大化点分树儿子,求这个最大值。

这个题一眼树 dp,但是状态设计是困难的,怎么办呢?

还是想性质,想想儿子在原树上的可能分布形态,发现是最大独立集,dp 就做完了吗?

不,你发现如果根是叶子那它剖下来那层也可以是叶子,且你发现把叶子当作根一定最优,于是你要算去掉一个叶子之后的最大独立集,这个容易,然后真的做完了。

CF1984F

给定序列 \(b_n\),问你有多少种把给定字符串的 \(\text{?}\) 替换成 \(\text{P}\) 和 \(\text{S}\) 的方式使得存在一个数列 \(a_n\) 满足 \(|a_i| \leq m\) 且如果该位置是 \(\text{S}\) 那么就是 \(a\) 的前缀和,否则后缀和。

考察一些样例可以发现你总能规约到 \(\text{PSPSPSPSPS}\) 这种交替出现的形式,若不然则可以把中间连续的去掉。

然后你考虑对这样的限制计数,直接做不太行,dp 的时候会受到前面选择的限制,肯定要做一些等价转化,你发现 \(\text{PS}\) 连着其实代表整个 \(a\) 的和应该是多少,而固定和做 \(n^2\) 化解限制可以接受,于是你钦定和,然后根据和 dp,这是容易的。

CF1984G

给定排列 \(p\),让你求一个最大的 \(k\) 使得你只做将中间连续 \(k\) 个数移动这样的操作就能将排列排序,需要输出方案。

一个关键点在于你发现 \(k=n-2\) 很强,考虑看看能不能做交换,发现特定情况可以,然后分讨分讨就做完了,咋没啥说的。

具体情况在于你先按照 2 个 2 个循环移位,把要交换的放到前后,然后再换一下就能保持循环移位特点不变,就做完了。

代码偷懒就没补。

标签:发现,记录,text,最大值,CF1984,给定,要么,分讨
From: https://www.cnblogs.com/eastcloud/p/18242745

相关文章

  • 记录--别忘了前端是靠什么起家的
    ......
  • LangChain AgentExecutor invoke跟踪记录(一)
    目的追踪与调用LLM相关的整条链路,用于理解langchainAgent调用LLM时整个输入输出逻辑,方便后续针对不同LLM做改造适配跟踪记录第一步自然是导进chains\base.py的invoke函数,在这里经过简单的输入验证后进入self._calltry:self._validate_inputs(inputs)......
  • LangChain AgentExecutor invoke跟踪记录(二)
    上回书说到,跟踪到二轮迭代时,我的模型挂了。LangChainAgentExecutorinvoke跟踪记录(一)-CSDN博客实际上后来检查发现并没有挂,只是我当时太紧张了所以看错了(……)。所以今天我们再战!准备工作上次忘了关掉流式输出,今天我们先给它关掉:agent_executor=AgentExecutor(agent=ag......
  • 任务下发优化分析过程记录
    任务下发优化分析过程记录背景最近接手了一个任务下发平台,基本功能是接收任务脚本,下发给目标服务器执行.简化的业务流程如下:sequenceDiagramautonumberparticipantclientparticipantserverparticipantDBparticipantMQparticipanttargetclient->>+server:......
  • dynamics 365 online仪表板提示:超出最大记录限制。请减少记录数量
     1、Dynamics365online的仪表板确实有数量限制,当记录条数超过5万的时候,就会提示:超出最大记录限制。请减少记录数量https://learn.microsoft.com/zh-cn/power-apps/maker/model-driven-apps/create-edit-system-charthttps://learn.microsoft.com/zh-cn/power-apps/maker/mod......
  • 直播架构入门记录
    1.直播的工作原理【拉流】直播内容是通过流媒体播放器播放出来,而流媒体播放器通过流地址来拉取流数据,再处理相关解码工作,最后呈现出画面和声音。为了保证全国甚至海外用户都能够流畅的观看直播内容,就需要比较强大的物理网络覆盖。流媒体数据通过上游CDN源站推(或推......
  • 笔记本电脑(win11+3060+conda)安装PyTorch踩坑记录
    简而言之,先看你的显卡,打开CMD,输入nvidia-smi,右上角有一个CUDA:XX.X表示当前显卡及当前驱动支持的最高版本CUDA。输入nvidia-smi-q可以看到显卡架构(或者直接去Nvidia官网找你的显卡)。再打开这个连接,查看你显卡架构支持的最低版本CUDA。从中选择一个cuda版本torch是自带了cu......
  • 【Java】SpringBoot 实现文件的上传与下载、日志记录、参数校验等(含代码示例)
    ......
  • 生产实习Day4 ---- 电商日志数据分析(问题1--统计页面浏览量(每行记录就是一次浏览))
    文章目录项目需求整体架构流程数据集实验步骤代码WebLogPVMapper.javaWebLogPvReducer.javaWebLogPVMapReduce.java代码细节WebLogPVMapper.java详细解释WebLogPvReducer.java详细解释WebLogPVMapReduce.java详细解释项目需求根据电商日志文件,分析:统计页面浏览......
  • HarmonyOS ArkTS组件 | Flex 以弹性方式布局子组件的容器组件 学习记录
    HarmonyOSArkTS组件|Flex以弹性方式布局子组件的容器组件学习记录前言:最近需要用到弹性布局,记录一下。(忽略图片水印QAQ)说明:Flex组件在渲染时存在二次布局过程,因此在对性能有严格要求的场景下建议使用Column、Row代替。Flex组件主轴默认不设置时撑满父容器,Column、Row组......