摘要:
可持久化线段树 例题 struct Persistent_Segment_Tree { struct Point { int l, r; LL sum; }p[N * 25]; int rt[N], cnt = 0; void Newpoint(int &rt, int last, int l, i 阅读全文
摘要:
题目链接 先不考虑修改操作。 直接模拟题目意思,可以发现最后留下的一定是最小的数字(因为相同的数每次会保留第一个)。我当时是顺着这个思路做的题目,现在想想反过来想好像会让问题变得更简单,即认为每次保留最后一个相同的数字。 那么现在每次留下的就是最后一个数字,显然每次操作会让这个数字加一,只需要考虑一 阅读全文
摘要:
题目链接 考虑每条非树边的取值,显然不能小于等于该边与树边形成的环中的最大值(当然这条非树边也可以不存在),所以每条非树边的取值范围就是 S−max(w)+1 (+1的原因是该边可能不存在)。 暴力枚举肯定会超时,考虑优化。 发现 kruskal 算法获得最小生成树的 阅读全文
摘要:
原题链接 先不加证明给出一个结论:被操作的点仅可能是初始序列中 p[i]=i 的点。 我们新建一个数组 b[i]=(p[i]==i)。显然对于相邻且 b 值相等的两个位置无法进行操作,这样我们就把原序列分成了若干个 b 值 01 交替的子串。每个子串可 阅读全文
摘要:
CF891E Lust 发现一次改变带来的收益就是 ∏ai−∏a′i(a′i 表示改变后的 a 数列)。所以最后就是求 ∏ai−∏(ai−bi)(其中 ∑bi=k)的期望。 考虑计算 \(\sum\p 阅读全文
摘要:
Day -1 每天持续的自闭 NOIP 膜你赛(NOIP 和 NOI 有个 P 的区别),稳定的反向 rk1. Day 0 今年 wh 考点在某职高,乘车大概要 40 min,路上有说有笑。试机的时候发现屏幕分辨率低的出奇,问了老师竟然说调不了,自己看一下设置发现已经是最高的分辨率了,爱了爱了。看着 阅读全文
摘要:
组合数奇偶判定的 trick。一句话总结就是 n−sumn=k。其中 sumn 表示 n 在二进制下的 1 的个数,k 表示 n! 含有因子 2 的数目。 首先如果当前串的不同排列数为偶数的话,也就是先手可以选择改变先后手的时候,先手必胜。 如 阅读全文
摘要:
题目链接 发现每个“递增的”数一定可以拆成这样 9 个数:\begin\underbrace{111\cdots111}\ p\end。 假设我们现在选择了 k 个递增的数,那么有 n=9k∑i=110pi−19。 也就 阅读全文
摘要:
题目链接 先考虑有 1 的局面。显然每次操作只能将一个数减少 1,若此时剩下的偶数的个数为奇数则先手必胜,反之后手必胜。 这对正解有启发作用。下面对没有 1 的局面大力分情况讨论: 存在至少一个奇数并且偶数的数量为奇数个:先手必胜。先手只需维护任意时刻奇数个数 ≥1,那么 阅读全文
摘要:
题目链接 对于一个数的唯一分解:x=pk11×pk22×⋯×pknn,显然我们把每个 ki 都对 3 取模对答案没有任何影响(除了 x 本身就是完全立方数的特殊情况)。 考虑取模后每一个 \( 阅读全文