50 + 40 + 0 + 0 = 90
今天做的实在是太差了,暴露出许多问题,做题的时候头脑不清醒,细节没有想到。
【犯下的错误】
1、判断边界时,类似于在A数组中取小于a的数,for循环中只打了
Ai
<
a
,然后当里面的所有数都小于a时就爆了。
2、快速读入没有考虑到负数的情况
【做题时】
T1 是一道拉高平均分的题。1hr才打完。
T4 能联想到最长不下降子序列,然后处理了下子树间的影响,然后就验证,打代码。2hr。
T3 想到了转移根,但是没有想到用记录最大和次大,然后就放掉了。
T2 打了个暴力找了下规律,骗了40分。
JZOJ
【质数】
【暴力】
线筛,暴力。
【Miller·Rabin】
Miller·Rabin(n)
将
随机一个数
a∈[1,n−1]
设
b=ammodn
若
b=1
则n为质数
fori=0tok−1
若
b≡n−1(modn)
则
n
是质数
否则
否则
n
不为质数
若
【树上路径】
【Solution】
用Dfs求出以1为根的每一棵子树的最大值MAX和次大值SMAX。
再次Dfs边做边记录每个点不在该点为根的子树的内的最大值m,然后用该值与该点的SMAX比较,这个点的答案就是MAX + max(SMAX, m)。求m,设当前做到点u,它的父节点为v,边(u, v)的权值为z,当v的最大值不是由u得到时,要求的值为z + v的MAX,否则为z + v的SMAX。
【抓知了】
【Solution】
这题就是树上做最长不下降子序列,然后处理子树间不能互相影响。
我记