【考完试不想说话系列】
他们都会做呢QAQ
我毛线也不会呢QAQ
悲伤ING
考试问题:
1.感觉不是很清醒,有点困╯﹏╰
2.为啥总不按照计划来!!!
3.脑洞在哪里
4.把模拟赛当作真正的比赛,紧张起来!!!
好了不扯淡了。。。
--------------------------------------------------------------------------------------------------------------------------------------------------T1:
题意太长QAQ
大概就是一个数列代表价值,资瓷修改,给定一个pos,公差,和t种颜色,并给出每种颜色的数量
pos填一种颜色,求包含pos的等差数列的期望最小值。
有20分t==1,n<=100000 ,保证所有的价值随机生成
看错题了 最小看成最大,导致暴力都没分sad story
觉得这种题我是应该做出来的!
总体来说应该这样思考:
看到数据范围,大概是n^1.5的一个算法 ,然后想到按照d的大小来区分,其实这种思路还是很常见的。。
写起来灰常的简单,几乎没有编程复杂度。
当t>1时,递推p直到p<1e-20~1e-30即可退出。
--------------------------------------------------------------------------------------------------------------------------------------------------
T2:
题意:
一棵树,从起点回到起点,每条边至少经过一次,花费为长度,有k次跳转的机会,花费为c
这里有一种非常巧妙的方法:
每次找树上的最长链,更新ans后,将链上的值全部取负。
这里运用了费用流的思想
第一次最长链是绿色,第二次是红色,由于重叠部分第一次后取反,相当于两次操作是蓝色部分。和费用流反向弧的作用相同。
注意因为有了取负操作,求最长链不能用两次dfs,树形dp瞎搞一搞就行。。。
正解是树上dp
hzt是这样做的:
f i,j,t 表示i这棵子树,j次跳跃,t表示状态,是否由跟进/出,(1,0)和(0,1)路径取反即相同,所以共三种状态
每棵子树递归,前缀和一样的合并,合并有9种(3*3)
这种写法我还没有实现TAT
T3比较鬼畜。。嗯我就不看了。。所以就这些吧