2019/11/2 爆零总结
T1:
大意,给定质数
p
p
p,数列
a
n
an
an,求解三元组数量
(
x
,
y
,
z
)
(x,y,z)
(x,y,z),使得
x
<
=
y
<
=
z
,
x
,
y
,
z
属
于
数
列
a
n
x<=y<=z,x,y,z属于数列an
x<=y<=z,x,y,z属于数列an且
x
∗
y
∗
z
m
o
d
p
=
1
x*y*z~mod~p=1
x∗y∗z mod p=1,
n
<
=
2333
n<=2333
n<=2333,显然转成
模
p
意
义
下
x
∗
y
同
余
于
z
−
1
余
1
模p意义下x*y同余于z^{-1}余1
模p意义下x∗y同余于z−1余1,然后加一个
m
a
p
map
map维护,复杂度
O
(
N
2
∗
l
o
g
N
)
O(N^2*logN)
O(N2∗logN),于是被卡常成75分,主要是写丑了……
T2:
给定
n
n
n物品序列
w
i
,
v
i
wi,vi
wi,vi和
m
m
m个背包,求二维偏序下最长链同时每个
w
i
wi
wi可以装入一个背包
t
i
ti
ti使得
t
i
>
=
w
i
ti>=wi
ti>=wi
显然可以对
w
i
wi
wi排序之后对
v
i
vi
vi离散化后用
B
I
T
BIT
BIT维护,但是每个物品有容量限制,手玩一下可以发现这道题没法升序维护,只能
w
i
,
v
i
wi,vi
wi,vi降序维护,同时可以利用一个显然的贪心——对于一条链长为
l
l
l的链,显然选
t
i
ti
ti最大的
l
l
l个背包来放最好,然后就可以维护了
但是考试的时候思路没有理清楚就开始写,写到后面越写越挂,然后交了20分的爆搜……
T3:
题面很长……
求一种树的数量,使得任意子树大小不为
a
1
,
a
2
,
.
.
.
.
.
a
k
a1,a2,.....ak
a1,a2,.....ak中的任何一个,且对于任何一子树根节点都是最小的,分别回答深度为
L
L
L到
R
R
R的答案,对998244353取模
显然是个组合数学题(这场数学味太重了……),但结论恶心难推(被
z
x
y
zxy
zxy多项式大力艹了过去,还是最快的……比CSYZ的还快)如果打了爆搜还能够有24分,可是T2肝太久,没时间了
总而言之,拿分目前来讲更为重要,尽量多去打部分分