5.18模拟赛总结
Posted Flame♡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.18模拟赛总结相关的知识,希望对你有一定的参考价值。
呜呜呜呜呜呜
今天还是T2 T3分太低了
其实本质是时间安排问题 做得不够快就是潜在丢分qwq
不合理的时间安排感觉少了30-70分
其实今天心情反而平静一些了) 感觉问题出在做的不够快(而不是脑子问题)之后会比较好受
时间安排
7.00-7.30
看题 刻板印象觉得1最可做 2其次 4好像比3好做一点
感觉1ds 234 dp
7.30-8.30
写完T1交了 但是wa了 陷入了无尽的迷茫 (因为充分必要条件错了 很怕是自己的做法有问题(不是点分)) 又开始想会不会是dfs序分块/线段树迫真维护 但又感觉很假
8.30-9.30
意识到自己为什么wa了 想了各种别的思路解决但是都不可行(下面细说)
9.30-10.40
想了会T2,3,4 然后T1灵光一现 A了(出现了极其不合理的时间安排)
10.30-11.00
推了会T3 骗了一发(其实模型已经对了 只是一直觉得是迫真dp 没有往网络流上靠)
11.00-11.16
推了推T2 写了一发 但是不知名wa(40暴力)
11.16-11.30
wa调不出来 无能狂怒 (时间不够了 因为T4有想法),跑路吃饭
12.00-12.28
压着死线交了T4 但是wa 给我整不会了 感觉非常自闭(然后赛后发现不用加文件输入输出 非常激动)
题目分析
T1
明显点分
首先有个想法 把柿子变一下 变成
w − l > = k w-l>=k w−l>=k
那么点分之后 w w w 是路径上的最大值
这时我陷入了一个误区
显然有两种情况 最大值在统计/或者被统计的子树上
但是这样会重复统计,因为判断的只是两个不等式是否成立
w
1
−
l
1
>
=
l
2
+
k
w_1-l_1>=l_2+k
w1−l1>=l2+k
−
l
1
>
=
k
+
l
2
−
w
2
-l_1>=k+l_2-w_2
−l1>=k+l2−w2
上面两柿子可以推出来
w 1 + w 2 + 2 ∗ ( l 1 + l 2 ) > = 2 ∗ k w1+w2+2*(l1+l2)>=2*k w1+w2+2∗(l1+l2)>=2∗k
所以我们只要减去下面那个柿子的数目就行了——个鬼啊
上面的柿子是下面柿子的充分条件,但是下面柿子不是上面柿子的充分条件
接下来的1h 我想了各种通过数学不等式去重的方法(然后一无所获)
这个时候我又看了一眼题面
我为啥不按题目说的 把所有链抽出来 按 w w w sort一下呢
然后就是点分找链,按 w w w sort
根据不等式 w 1 − l 1 > = l 2 + k w_1-l_1>=l_2+k w1−l1>=l2+k
我们在树状数组里维护右边 用左边查询就好
但还有一个问题 一个子树内不能互搜
因此搜每个子树之后 要把当前子树内的链做一样的操作去重
以及别忘了和根节点形成的答案
T2
显然 单调的拿一定是最优的(指c)
所以我们可以把蛋糕按 c c c sort一下,然后枚举左右端点,中间用堆维护
n 2 l o g n^2log n2log喜提40
但为什么 我爆零了呢
呵呵 因为ans的初值要给-1e18
(丢了不该丢的40分)
T3
转化一下就是 划分成若干个子序列 每新开一个的费用是w
受了2的影响 以及做急了(时间)
觉得这玩意是dp
后来还是贪心乱搞了
其实想一下 确实是费用流qwq 长记性了
网络流/费用流一般会用来做很不好状态转移的情况,而且这个时候n一般会比较小
T4
50分是比较明显的sosdp
首先要做到询问O(1)
考虑预处理好所有答案
那么sosdp 考虑
0:选0
1:选1
2:不定
做一下就好
细节还挺多的
我感觉这题比起fwt来说 sosdp更真一点
其实感觉这几次的模拟赛都出在想不到这个问题上已经少了
主要还是现在A题的能力上去之后,A的速度不快,导致时间安排逐渐不合理
应该再多打打会好一些
以上是关于5.18模拟赛总结的主要内容,如果未能解决你的问题,请参考以下文章