摘要: 谷首A 话说十二生肖一开始不是鼠吗? Description Solution 贪心 我们考虑将时间轴分成 \(\frac n {12}\) 块,然后计算有必须经过的年份之间的距离,贪心的选取最远的 \(k-1\) 个距离跳过。 为什么是 \(k-1\) 呢?因为我们要首先跳到最远的点上去。 细节见 阅读全文
posted @ 2021-04-08 20:47 feicheng 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 谷首A Description 坐标轴有 \(k\) 个点,加入一些点使得没有点的周围有三个点(包括新加的点),最小化加点个数。 Solution 模拟+贪心 只要周围有三个点,就加入一个点,然后我们知道,新加进来点之后,只会影响新点和新点四周的点,所以我们可以再检查四周的点是否满足条件即可。 至于 阅读全文
posted @ 2021-04-08 19:58 feicheng 阅读(362) 评论(0) 推荐(0) 编辑
摘要: Description 有 \(n\) 张牌,一开始从 \(1\sim n\) 排列,有 \(n\) 次操作,每次把 \(R\) 张牌移到最尾,求每次发牌过后队首的牌,并且删掉这张牌 Solution 考虑用 fhq-treap 求解,因为 fhq-treap 有着强大的处理区间的能力,所以我们直接 阅读全文
posted @ 2021-04-08 19:48 feicheng 阅读(64) 评论(0) 推荐(0) 编辑
摘要: [$\text 维护序列,支持区间异或,区间查与一个数的最大异或 [$\text 我们要求最大异或,首先考虑的就是线性基,但是线性基并不支持区间修改。 所以我们要找一个能支持该操作的数据结构(比如线段树),所以我们可以考虑用线段树套一个线性基。看到这里,你已经能切掉 P4839 P哥的桶 了。但是这 阅读全文
posted @ 2021-04-08 19:45 feicheng 阅读(51) 评论(0) 推荐(0) 编辑
摘要: Description 维护一个序列,支持单点修改,区间查询最大异或和。 Solution 看到区间查询最大异或和,考虑线性基。 但是线性基并不资瓷区间查询怎么办嘞? 我们可以借助树套树的思想,给一个资瓷单点修改,区间查询的数据结构(比如线段树)里的每一个节点套一个线性基。 这样子就可以解决这个问题 阅读全文
posted @ 2021-04-08 19:44 feicheng 阅读(22) 评论(0) 推荐(0) 编辑
摘要: [$\text 记 \(S\) 为 \(a,b\quad(a\ge b)\) 用辗转相除法得到最大公约数时的迭代次数。 给定 \(S\),求最小的满足条件的 \(a+b\pmod {10^9+7}\) 限制 \(0\le S\le10^{18}\) $\text 初时看到这个题感觉无从下手,又因为 阅读全文
posted @ 2021-04-08 19:43 feicheng 阅读(81) 评论(0) 推荐(0) 编辑
摘要: [$\text 给定一颗有 \(n\) 个点的树,另给出 \(m\) 条有边权的边。求断掉一条边后能使原树联通的最小边权。 [$\text 非常有意思的一道树剖题目,我们可以画图理解一下: 接着我们思考断掉一条边,寻找最小的能使图联通的边(这里建议手模一下),我们会发现: 只有当被断掉的边连接的两个 阅读全文
posted @ 2021-04-08 19:39 feicheng 阅读(49) 评论(0) 推荐(0) 编辑
摘要: Description 有 \(n\) 个数,\(m\) 次操作。 0 l r k 查询区间 \([l,r]\) 大于等于 \(k\) 的元素个数。 1 p k 将 \(a_p\) 修改为 \(k\)。 限制: \(1\le n,m\le5\times 10^5\) Solution 考虑分块,设块 阅读全文
posted @ 2021-04-08 19:38 feicheng 阅读(88) 评论(0) 推荐(0) 编辑
摘要: [$\text 给定长度为 \(n\) 的序列 \(a\),求是否存在最大的 \(m\) 使得 \(a\) 在模意义下是等差数列。 $\text 首先我们要知道 \(a_i\) 只有可能由以下两个式子推得: $$ a_i=a_+c\quad(1)$$ $$a_i=a_+c-m\quad(2) $$ 阅读全文
posted @ 2021-04-08 19:37 feicheng 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 签到题~ 我们可以找一下规律。 在竖排情况下的数 \(x\) 所在的坐标 \((i,j)\) 满足如下关系: $i = x\mod n $ \(j = \lceil \frac xn \rceil\) 而坐标为 \((i,j)\) 在横排情况下对应的数 \(x\) 满足: \(x=(i-1)\tim 阅读全文
posted @ 2021-04-08 19:34 feicheng 阅读(66) 评论(0) 推荐(0) 编辑
摘要: Description 给两个字符串,可以从头或尾删除字母使得两个字符串相等,最小化删除次数(空串也相等)。 Solution 我们会发现按照这样的删除方式,只有连续的公共子串不会被删除。所以我们可以把问题转化成求两个子串的最长连续公共子串长度。即: 设字符串为 \(s,t\), \(f[i][j] 阅读全文
posted @ 2021-04-08 19:33 feicheng 阅读(88) 评论(0) 推荐(0) 编辑
摘要: [$\text 给定长度为 \(n\) 的字符串 \(s\) 和 \(k\),字符串仅由 . 和 * 组成,初始将最靠前和最靠后的 * 变为 x,然后你可以任意将 * 变为 x,求最小的将 * 变为 x 的次数使得任意两个 x 之间的距离小于等于 \(k\)。 数据保证有解。 $\text 考虑贪心 阅读全文
posted @ 2021-04-08 19:32 feicheng 阅读(89) 评论(0) 推荐(0) 编辑
摘要: $\text 多组询问,每次给定一个长度为 \(n\) 的字符串,求一种方案使得加入一个字符 a 后使其不是回文串,无解输出 NO 限制 \(1\le T \le 10^4,1\le \sum n \le3\times 10^5\) $\text 由于 \(n\) 的范围比较小,我们可以考虑枚举 a 阅读全文
posted @ 2021-04-08 19:30 feicheng 阅读(76) 评论(0) 推荐(0) 编辑
摘要: $\text 前几天做了这道题,讲课就讲了一下,决定来写一篇题解。 我永远喜欢珂朵莉~ 有没有大佬教教我怎么卡过 P5610 啊/kk。 [$\text 给定 \(n\) 个数,有如下两个操作: 1 l r x 给 \([l,r]\) 内中 \(x\) 的倍数除以 \(x\)。 2 l r 查区间和 阅读全文
posted @ 2021-04-08 19:27 feicheng 阅读(64) 评论(0) 推荐(0) 编辑