NOI模拟赛 Day1

【考完试不想说话系列】

 他们都会做呢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比较鬼畜。。嗯我就不看了。。所以就这些吧 

原文地址:https://www.cnblogs.com/wjyi/p/5587472.html