NOIP 2016 day1
(215pts)
T1
清新小模拟
T2
太恶心了这道题。
原来贺的已经忘了,又贺了一遍发现还是不会。
感觉线段树合并比较好理解。
大概要分两种情况讨论。
设观察员为 (x),(u,v) 分别是起点和终点。
如果 (x) 在 (v - lca) 的路径上:
有:(dep_u - dep_{lca} + dep_x - dep_{lca} = w_x)
如果 (u - lca) 的路径上
有 (dep_u - dep_x = w_x)
枚举每个跑步的人太难搞了,考虑枚举观察员 (x),把上面两个式子变一变:
考虑把每个节点当做权值线段树。维护每个权值的出现次数。
初始化利用树上差分的方法进行修改即可。
(dfs) 回溯时用线段树合并将几个节点的信息合并到一起,然后查询 (dep_x - w_x) 和 (dep_x + w_x) 出现了几次统计答案。
T3
细节巨多的期望 DP。
设 (f_{i,j,1/0}) 表示时间 (i) 已经选了 (j) 次这一次选不选的最小期望。
两点之间距离之间 ( ext{Floyd})。
剩下的就是大力分类讨论了。
NOIP 2016 day2
(265pts)
T1
预处理前缀和就随便过。
时间复杂度 (O(n^2+nt))
T2
想到了一个 (65pts) 的线段树做法,暴力维护更改和求最大值。
正解:
开三个队列。
首先把所有元素从大到小插入第一个队列。
然后从三个队列中取最大值,剪断后放入二三队列,发现他是由单调性的,所以不需要用优队。
对于每次剪完加 (q),可以只把剪断的两条蚯蚓减去 (q)。
T3
状压DP。
注意小鸟不能直着飞或者向上飞。
然后判断一个解析式内的一头猪是否能被打死是限制 (lim) 取 (10^{-9}) 左右就可以。
NOIP 2017 day1
(230pts)
T1
结论题
T2
屑模拟
T3
只会 (30pts) 暴力 /kk
正解是一个挺牛逼的记搜
NOIP 2017 day2
(195pts)
T1
并查集,bfs等随便过。
T2
写了个假贪心,(45pts)。
同时写了个假搜索,后来看题解发现有一点地方写麻烦了,稍微改一下 (70pts)。
加上记搜就可以过了。
不过这个记搜的正确性是假的。
T3
暴力有 (30pts) + (20pts) 的平衡树
感觉 (100pts) 的平衡树,树状数组,主席树做法都比较牛逼
NOIP 2018 day1
(230pts)
T1
贪心
T2
完全背包 + 贪心
T3
二分答案 + 贪心
NOIP 2018 day2
(124pts)
T1
(60pts m = n - 1) 的情况。
(100pts),暴力删边 (O(n^2))。
T2
(20pts) 打表
(30pts n=2) 是 KnighL 发现神奇规律 (4 imes 3^{m-1})。
T3
(44pts),只会 (O(n^2)) 暴力。
NOIP 2019 day1
(165pts)
T1
有关格雷码的结论题
T2
(55pts) 的暴跳
T3
(10pts) 枚举全排列
其他的并没有想到很好的贪心方式 /kk
NOIP 2019 day2
(32pts)
T1
打了二十分暴力
T2
写了发单调队列,一直调不出来,只有乱搞的 (12pts)
T3
笑死,根本没读题