1.如果一个数存在于多个LIS中,那么它在多个LIS中排名是一样的.
2.设
s
t
a
r
t
i
start_i
starti表示以
i
i
i为开头的LIS,
e
n
d
i
end_i
endi表示以
i
i
i为结尾的LIS,那么总LIS为
m
a
x
(
s
t
a
r
t
i
+
e
n
d
i
−
1
)
max(start_i+end_i-1)
max(starti+endi−1)
3.一个数列
[
l
.
.
r
]
[l..r]
[l..r]及
k
k
k,使
a
i
a_i
ai+=
C
i
+
k
−
l
k
C_{i+k-l}^k
Ci+k−lk,等价于将
[
l
.
.
r
]
[l..r]
[l..r]做k次前缀和.
4.在树中,依题目而定,一条边的贡献可以从两端的连通块的信息得出.
5.关于
g
c
d
gcd
gcd的题目考虑质因子分开做.
6.关于极值的问题,分成两部分的局部极值必将包含全局最大值或全局最小值.
7.
∑
i
=
1
n
i
∗
2
i
−
1
\sum_{i=1}^{n}{i * 2^{i-1}}
∑i=1ni∗2i−1
∑
i
=
1
n
i
∗
2
i
−
1
=
∑
i
=
1
n
2
i
−
1
+
∑
i
=
2
n
2
i
−
1
+
∑
i
=
3
n
2
i
−
1
⋯
\sum_{i=1}^{n}{i * 2^{i-1}} =\sum_{i=1}^{n}{2^{i-1}} + \sum_{i=2}^{n}{2^{i-1}} +\sum_{i=3}^{n}{2^{i-1}}\cdots
∑i=1ni∗2i−1=∑i=1n2i−1+∑i=2n2i−1+∑i=3n2i−1⋯
∑
i
=
1
n
i
∗
2
i
−
1
=
[
(
n
−
1
)
∗
2
n
+
1
]
\sum_{i=1}^{n}{i * 2^{i-1}}=[(n-1)*2^n+1]
∑i=1ni∗2i−1=[(n−1)∗2n+1]
8.一些比较高的幂次,由于幂操作的加减性,可以分开处理.
9.若
a
k
≡
1
(
m
o
d
p
)
a^k\equiv1(mod\ p)
ak≡1(mod p)且p是质数,则
k
k
k必定是
p
−
1
p-1
p−1的约数.
10.仅有and操作和仅有or操作对权值的修改都不会超过
l
o
g
log
log次
11.对于一颗以任意节点为根的树,在以
r
o
o
t
root
root为根的情况下,
u
u
u和
v
v
v的
l
c
a
lca
lca为
L
C
A
(
u
,
v
)
LCA(u,v)
LCA(u,v),
L
C
A
(
u
,
r
o
o
t
)
LCA(u,root)
LCA(u,root),
L
C
A
(
v
,
r
o
o
t
)
LCA(v,root)
LCA(v,root)当中深度最大的.
12.曼哈顿距离和切比雪夫距离在二维可以互相转化.
将曼哈顿距离转化为切比雪夫距离即
(
x
,
y
)
(x,y)
(x,y)变为
(
x
+
y
,
x
−
y
)
(x+y,x-y)
(x+y,x−y).
将切比雪夫距离转化为曼哈顿距离即
(
x
,
y
)
(x,y)
(x,y)变为
(
x
+
y
2
,
x
−
y
2
)
(\frac{x+y}{2},\frac{x-y}{2})
(2x+y,2x−y).
13.树上点集之间边的和等于将点按照dfs序排序后,点a[x]到根的路径上的边的和减去a[x]到a[x]与a[x-1]的lca的路径上边的和.注意头尾也要连边。
14.树上的一条边必定连接两边的两个联通块,且两个联通块无交集,关于连通性的问题可以考虑将边按某种顺序排序后顺次维护.
一些套路的记录
最新推荐文章于 2019-11-13 08:30:00 发布