-
一个区间的斜率最大值一定是相邻两者的斜率最大值。
-
询问一个序列所有子段的最大值之和,可转换为一个数是多少子段的最大值,单调栈 O(n) 维护。
-
0⊕1⊕⋯⊕(2m−1)=0。
-
显然的操作 dp
缺少 observation
时,可尝试寻找操作之间的同余关系。
-
若每个点的出入度都是偶数,则每个点的总度数是偶数,是一张图存在欧拉回路的充要条件。
-
对于一个环,环外一个点 s 向 v∈p(p 为关键点即可)连边跑最短路求 s 到非关键点的最大 dis。可枚举环上关键点的前一个点(肯定最优),判断即可。
-
对于一些点向下递归染色(每次只染一层)的树剖题,可转换为判断每个点是否被染到的模型(使得点到根节点路径上权值的最大前缀和为 −1),通常设点权 −1,判前/后缀是否 ≤0,消除影响就是设为原点权 − (最大前缀和 +1),子树设 −1。
-
给定正整数 n,要你构造出正整数序列 b[1,m],使得 i=1∑mbi=n 且 i=1∏mbi 最大。
结论:设 f(n) 表示答案,则有:
f(n)=⎩⎨⎧13n/33(n−4)/3⋅43(n−2)/3⋅2n=1n≡0(mod3)n≡1(mod3) andn≥4n≡2(mod3)
-
一个上升区间两数异或最小值一定是相邻两者的异或最小值,∀i<j<k,ixork≥min(ixorj,jxork)。
-
ixorj≥∣i−j∣。
-
判断一个数是否为序列中位数,可以将小于该数的数置为 −1,大于等于该数的数置为 1。求全局和,若 <0 ,该数大于等于中位数,否则小于等于中位数,二分。
-
(ba)mod2=0,意味着 b 是 a 的子集,Lucas
定理推到即可,一般套上状压 DP
。
-
一个数能整除起数位上非零的数字,等价于这个数 mod2520 可以整除其非零数字的最小公倍数。