09 2021 档案

摘要:题目链接 诈骗题。看起来很像数据结构,事实上是个图论。 题目明确说明调用关系是一个 DAG,考虑拓扑排序。 不难发现乘法的本质上是将加法操作重复了若干次,于是我们可以考虑把所有操作都转化为加法操作。 每个加法的贡献次数是他后面所有乘法操作的乘积,我们可以直接在 DAG 上面 dp 出每一个 3 类型 阅读全文
posted @ 2021-09-29 22:06 绝顶我为峰 阅读(62) 评论(0) 推荐(0) 编辑
摘要:题目链接 首先判掉无穷大。 考虑让人分身到每一个点,然后分别统计每走一步活下来的人数。 不难发现除了第一轮,以后每一轮在某个维度上挂掉的人都是一样多的,因为每轮过后只有新增加的变化量的部分会挂掉。 于是先把第一轮单独处理了,后面每一轮其实都是固定的。 快速维护这个贡献。我们记第 i 维第一轮 阅读全文
posted @ 2021-09-28 21:32 绝顶我为峰 阅读(69) 评论(0) 推荐(0) 编辑
摘要:题目链接 好题。这个思路是嫖来的(参见这里) 对于每一种颜色分开处理。考虑将是当前颜色的球视为 1,否则视为 0,然后先构造一个全 0 列,具体就是先统计第一列 1 的个数 cnt,然后第 n 列移动 cnt 个球到第 n+1 列,然后 阅读全文
posted @ 2021-09-27 20:18 绝顶我为峰 阅读(100) 评论(0) 推荐(0) 编辑
摘要:题目链接 大概是我的心理阴影题了。 首先有一个枚举 C 的做法可以拿到 48 分,看起来没什么优化空间,我们转而枚举 AB。 枚举 AB 的长度,可以使用字符串哈希来判断这个前缀的重复次数(假设已经重复了 k 次,那么我们将前 k1 次构成的串整体右移 i 位,即哈希值乘上 阅读全文
posted @ 2021-09-23 20:23 绝顶我为峰 阅读(94) 评论(1) 推荐(0) 编辑
摘要:题目链接 恶心的高精板子。 但 CCF 开了 C++14,于是真的变成送分题了。 直接拓扑排序就好了。 #include<iostream> #include<cstdio> #include<queue> using namespace std; #define int __int128 stru 阅读全文
posted @ 2021-09-23 16:46 绝顶我为峰 阅读(90) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示