摘要:题目:传送门 题意 思路 若能求得取得两点距离为 i 的总概率,那么就可以直接 o(n) 得到答案了。 问题转化为求树上所有距离为 i (i:0~n-1) 的点对的概率和。 考虑用分治,每次,找一颗树的根,使得根的儿子中最深的深度尽可能的小。 然后,遍历根的所有儿子,每次,算出儿子到根的距离,维护概
阅读全文
摘要:题目:传送门 题意 给你一个序列 A 让你求F(A) 思路 一看到这题,一般很自然的能想到两种思路: 1.枚举每个 a[i],算出满足以当前点为最大值的区间最大区间,然后去求这个最大区间和其子区间的 gcd 的和,相乘累加起来即为答案; 2.枚举区间右端点,然后 1 ~ i 这一段会分成若干 gcd
阅读全文
摘要:题目:传送门 题意 给出一个长度为 n 的排列 ai 规定一个区间 [l,r] 是 fair 的,当且仅当区间最小值等于 l,最大值等于 r; 求 fair 区间的个数。 1 <= n <= 1e6 思路 对于每个 i,若 ai <= i,则表示 i 这个点可以作为某些 fair 区间的右端点,那么
阅读全文
摘要:题目:传送门 题意 给你一个长度为 2^n 的序列 a,你有 q 次操作,每次操作有四种情况: 对所有操作4输出答案 思路 操作2,相当于分别执行 swap(k), swap(k - 1), swap(k - 2).... swap(1) 所以,只要维护一下,每个 k 的 swap 次数的奇偶性即可
阅读全文
摘要:题目:传送门 题意 在左下角为(0, 0),右上角为 (1e6, 1e6) 的正方形中,有 n 条平行于 x 轴的线段和 m 条平行于 y 轴的线段,保证每条线段至少与正方形的一条边相交,且保证不存在两条线段在同一条线上,问你这些线段将正方形分成了几块. 思路 有两种情况,会增加一块: 1.当线段与
阅读全文
摘要:题目:传送门 题意 思路 先对时间 t 离散化,开线段树维护,对于入栈操作,我们对区间 [ t[i] , n ] 加 1,出栈操作则是减 1,线段树维护一个区间最小值。 对于查询操作,我们通过线段树可以很快的知道,当前时间点 t[i] 对应的栈的元素个数 x,然后, 我们要查询在 t[ i ] 时间
阅读全文
摘要:题意: 给你一个长度为 n 的序列, 现在按以下方法修改序列: 1、依次修改 A1 A2 A3 A4 A5 ...... AN; 2、当修改 Ai 时, 检查 A1 ~ Ai-1 是否出现过, 若出现过, 则Ai加1,若更新完的Ai仍然在A1 ~ Ai 出现过, 则继续加1,直到未出现过。 输出最终
阅读全文