高分 CF 题解

本博客写我做的 CF* 3000+ 的题目,这部分题目大多在我能力以外且颇有价值。

upd:不鸽了不鸽了!

CF1270H Number of Components

还是套路地考虑代表元,发现其作为代表元的条件就是前面的数正好就是最大的数。于是我们的任务变为单点修改,然后计数这样的点的个数。

接下来的操作就比较神奇:我们考虑 01 规划,那么条件变为 1 形成一个前缀,换而言之就是 0110 的个数恰好为 1,这样我们就可以用线段树维护了。

CF1147E Rainbow Coins

独立做出来的,应该说是非常简单的一道题。

首先我们肯定用两次询问得到相邻之间的状态,这时问题就变为了很多段,然后相邻颜色不同。

我们发现因为只有三种颜色,我们跳一个询问,若相同那么很好,若不同的话则说明这三个互不相同,那也很好。

于是我们再花两次询问得到跳一个的答案,就可以推出所有的颜色。

CF1286D LCC

独立做出来的,应该说是非常简单的一道题。

我们发现只有相邻相交才可能成为答案,于是答案的数量就只有 O(n) 个,于是考虑枚举。

我们容易枚举答案后 O(n)dp 计算概率,考虑优化。

我们发现,每次将答案调小其实是释放了一些转移,于是用矩乘,线段树维护。

CF708E Student's Camp

首先容易想到暴力的 dp,然后考虑把贡献记到右端点上,那么后面的是就顺理成章了。

CF1119H Triple

其实跟黎明前的巧克力非常像的啦~

首先考虑将每个操作变为 (ai,bi,ci)(0,biai,ciai),最后再整体移位 ai

这样最后每一位就只可能是 x+y+z,xy+z,x+yz,xyz,可以通过总量、y 的符号、z 的符号、y/z 符号的异同列出四个等式解出来。

CF582D Number of Binominal Coefficients

考虑 Kurmur 定理:(a+ba)p 的次数为 p 进制下 a+b 的进位次数。

那么我们考虑一个数位 dpdpi,j,0/1,0/1 为考虑到第 i 位,已经进了 j 位,是否小于限制,下一位是否进位。转移有亿些细节。

CF1028G Guess the number

这题很骚,很气人。

很容易想到一个做法,我们先询问 1 10000,小于再分别询问 21,4,2 这样子,大的就分叉询问。

我们发现这好像是差不多的样子,但是事实上那个奇怪的数据总能在最后找到一个长度为 10001 的段,然后就寄了。

事实上并不是全部平均分就是最优的。我们定义 dpi,j 表示在第 j 轮询问 i 个数的最大范围。

容易发现这是好转移的,事实上这也是可以过的。

CF587D Duff in Mafia

简单 2-sat 题。按题意二分答案然后跑 2-sat 即可。代码写一年。

CF568E Longest Increasing Subsequence

马上更新~

posted @   syzf2222  阅读(139)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
历史上的今天:
2021-04-11 4月做题记录
点击右上角即可分享
微信分享提示