2021.01.25【NOIP提高B组】模拟 Summary
第一题
因为最大才
1000
1000
1000,所以预处理组合数,注意每次都要模一下,然后前缀和维护一下即可。
这类型题目抓住关键突破口,然后用较快的方法做一下。这种多个询问的题目看到
T
T
T很大时应该就是用离线做了。
第二题
考虑一下暴力连边,建成图,跑一遍
s
p
f
a
spfa
spfa过了。还有一些更好的方法。
这种题目数据很小,可以暴力建边,所以就暴力即可。
第三题
考虑状态压缩动态规划,然后每一条抛物线,固定两个点即可得到
a
,
b
a,b
a,b,预处理可行状态,转移很容易。
这种题目看到
n
n
n这么小,肯定是状态压缩动态规划,然后找到突破口即可。
第四题
首先显然当
m
>
n
+
1
m>n+1
m>n+1,设
f
(
n
,
m
)
f\left(n,m\right)
f(n,m)表示方案数,则有
f
(
n
,
m
)
=
f
(
n
,
m
−
1
)
×
3
f\left(n,m\right)=f\left(n,m-1\right)\times3
f(n,m)=f(n,m−1)×3。暴力求
f
(
n
,
n
+
1
)
f\left(n,n+1\right)
f(n,n+1)即可。暴力时优化一下,最坏情况
700
m
s
700ms
700ms。
这种题目要利用暴力程序,进行找规律,然后看一下如何用优的复杂度求解即可。