摘要:
E - Range Sums 题目大意: 给定一些区间的和,判断是否可以在其中选择一些区间,使得可以通过这些区间的和算出 1 到 的区间和。 思路: 考虑将 看成点,对于 的区间和,相当于建一条 到 的边。那么要想算出 1 阅读全文
摘要:
E - Edge Deletion 题目大意: 给出 个节点的无向图联通图,问最多可以删除多少条边,使得删除后的图,对于任意两个节点 、 其最短路都没有发生改变。 思路: 赛时以为是求 遍最短路,标记所有最短路上的边,然后剩下的就 阅读全文
摘要:
P1966 火柴排队 题目大意: 求使两列数字相差距离最小的交换次数。 思路: 要想使得距离最小,必须让 序列的第 大值与 序列的第 大值处在相同的位置上。 值域是 ,考虑离散化获得第 \(k 阅读全文
摘要:
SP3267 D-query 题目大意: 给出长度为 的序列, 次询问,每次为区间 有多少不同的数字。 思路: 显然可以用莫队解决,考虑带 log 的做法。 对于一个区间 来说,区间内若有重复出现的数,那么他上一次出现的位置除了第一次 阅读全文
摘要:
D - New Year Concert 题目大意: 给出一个序列 。 对于一个序列 ,如果其中存在一个区间 ,满足区间 等于区间长度 ,则认为这个序列是不好的。 每次修改可以将任意一个数改成任意正整数。 现求对序列 阅读全文
摘要:
单调栈主要用于解决 Next Greater Element 问题,即找左边/右边第一个比自己小/大的元素(位置)。 以下是对四种问题的实现。 #include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdi 阅读全文
摘要:
F - Swap and Sort 题目大意: 给出一个 permutation,并给出 组关系 ,每次操作可以交换 ,问能否在 5e5 次操作之内将 permutation 变为升序序列,若能则输出交换次数和交换步骤 阅读全文
摘要:
E - Skiing 题目大意: 个点每个点有一个点权,依据点权的大小关系确定 条边权,求最长路。 思路: 关于SPFA,他死了。 很明显是求带负权的最长路,赛后有数据毙掉SPFA,考虑如何转化边权使得可以用 dijkstra 求解。 我们将点权看作势能,加入到最短路的求解中 阅读全文
摘要:
Parenthesis Checking 题目大意: 给出一个括号串,q 次以下两种操作: 输入 1 l r,交换第 -th 和 -th 的字符 输出 2 l r ,查询区间 子串是否是合法括号序列。 思路: 令 ( 为 ,) 为 。 阅读全文
