摘要:
传送门 首先需要用到一个trick:单点正向加入操作变成倒序删除操作。 即我们假定现在有序列 ,倒序遍历所给序列,对于当前遍历到的 和 ,我们发现,如果在现有序列(即前面说的 )中找到最后一个为a[i]的位置 , 阅读全文
摘要:
传送门 题目大意 给定一个序列和 ,每次可以选定序列中两个数,将这两个数的差的绝对值加入序列中,问 能否出现在序列中 思路 问的其实就是 能否被该序列中这 个数线性表示,问题是如何实现。 裴蜀定理:对于两个整数 , ,存在 , 使得 阅读全文
摘要:
传送门 题目大意 给定两个长度为 的序列,每次选定两个 使得 ,可以合并成 个数的新序列,问此序列中最小的 个数分别是什么。 思路 我们可以贪心地思考这道题。要求最大的 个数,那么我们首先对 数组和 数组 阅读全文
摘要:
传送门 题目大意:(就不说了 思路 要求如果一个人无法操作则这个人获胜,由于这个版本只要求我们输出一个满足题意的点即可,那么我们可以贪心的进行思考。在最理想的情况下,如果我们此时选择了所有权值当中第二大的节点,并且删掉这个节点对应子树之后还有权值最大的节点,那么第二个人只能选择权值最大的节点,再轮到 阅读全文
摘要:
传送门 通过这道题也是让我对TSP问题有了更深的理解。 首先这道题中给定n个字符串,我们发现n的范围只有20。让我们求这n个字符串作为同一个字符串的子串时,该字符串最短是多少。 我们发现,如果有一个字符串被另一个字符串完全包含,那么它对答案是没有影响的,所以我们可以先用哈希标记掉这些字符串。接下来的 阅读全文
摘要:
传送门 题目大意:给定序列,每次操作可以单点修改以及询问每个区间内严格次大值出现次数。 此类区间合并的线段树之前也做过,但是都没有一个固定的写法,导致调了很久都过不了,感觉上是写丑了。对于一个节点要维护多个信息,我们可以用结构体来实现,并且pushup操作,即左右儿子两个区间合并操作,可以直接返回n 阅读全文
摘要:
传送门 题目大意 依次给定 个区间,并给定 个数,每个数依次经过这些区间时若在区间中则加1,问最后每个数变成了多少。 做法 显然如果直接模拟的话时间复杂度肯定是会炸的。 首先我们注意到这道题是可以离线处理的,并且对于所有询问的数,我们如果先对他们排好序,在每个数都各自依次经过所给的区 阅读全文