成绩
rank | name | score | T1 | T2 | T3 |
---|---|---|---|---|---|
30 30 30 | T J H TJH TJH | 108 108 108 | 0 0 0 | 55 55 55 | 53 53 53 |
做题时
看题。
T1 想了一个贪心,推了一下发现好像没问题,然后发现可以用 ST 表搞。(后来才发现用前缀后缀就可以了)
T2 发现是期望,然后没看到边的个数以为是高斯消元期望DP。
T3 看了一下想到了
O
(
n
q
)
O(nq)
O(nq) 的 DP,依旧没有看到环的条件。
然后去搞 T1,搞了一下就搞好了,没什么检查就去搞下一题了。
把 T2 看了一下,发现数据很大,完全不能高斯消元。
然后重新看题发现建的是一个树,然后就想到了
O
(
n
2
)
O(n^2)
O(n2) 的 DP。
然后似乎没什么头绪就把
O
(
n
2
)
O(n^2)
O(n2) 的打了出来。
打着打着突然想到似乎可以换根。
然后写完暴力就去写换根,结果写出来的换根并没有优化多少,复杂度是每个点的儿子个数的平方的和。
(后来才发现是可以用除得到某个结果消去某个儿子的贡献的)
(而且我似乎没有反着设,但听说不反着设也可以?没试,不知道)
然后想了想不知道要怎么搞更好的换根,也想不出新的做法,就先跳了。
然后写
T
3
T3
T3 的 DP,然后写完发现样例不对,才发现原来是环。。。
然后就暴力约束一开始选的个数,然后复制粘贴小改一下直接搞了
4
4
4 个 DP。
然后比赛就差不多结束了。
然后打算去检查 T1,也确实检查出来了,我把数组排序了,那要的答案应该是按着排序前的顺序输出的。
还发现求贡献要跟
0
0
0 取
max
\max
max。
预估分数:100+30+50=180
出成绩
裂开了,T1 爆蛋。
后面发现是 n+1
我写了 n
。
我。。。害
然后一看 T2 题解,woc,就是换根 DP。
我但凡用全部除去不要的那部分来得到答案而不是枚举剩下的儿子我也不至于惨成这个鬼样。
然后把 T1 改了,T2 改了一下发现用 dfs 会爆栈。
讲题
XJQ 主持讲题,好耶ヽ(✿゚▽゚)ノ
T3 是线段树,好像还可以用矩阵乘法再优化。
下来先用 bfs 写了 T2。
然后就去把 T3 写了。
然后就打牛客去了。
(被吊着打)
晚上
写博客,嘿咻嘿咻。
总结
感觉自己还是太菜了。
好做的题没有写好。
对于换根的理解还不是很熟。
而且没有说修改就想到类似数据结构的做法。