标签:面包 .. sum 路径 CSPS 63 点放 模拟 mod
每天都考试都快傻了O_o
$T1 Median$
一看就不能从通项上下手..
那么就是..给你一个序列..区间中位数..
对顶堆!
爆调2h,心态炸裂。
据说根据鬼畜的函数定义和$mod<=len$的疯狂暗示,
数列可以看成一个均匀分布的随机数列,
而且在值域上还比较稠密,答案变化看作常数级别
于是指针爆扫
???
好吧下次留意$mod$与$n$同级的情况
$T2 Game$
考虑游戏的进行过程
每次只加进来一个数,如果它很大那么直接拿走了,待选集合不变
否则加进待选集合里,拿个最大的走人
考试的时候纠结于把询问排序以后,初始元素的增多会造成什么影响
主要还是对$nk$复杂度没有信心吧,不相信每个询问扫一遍就可以
和T1一样,总是缺乏考虑维护什么东西的意识
另外为什么不说清楚加不加绝对值的事啊
$T3 Park$
考场正解没调出来,挺遗憾的。
不过考后都调了半天,细节比较多,也幸好我交了个暴力
发现在一条路径$a->b->c$上,在$b$点放面包造成的差值总等于$v_c + v_{从b伸出去的其他儿子}$
即$(\sum v_{与b相邻的点})-v_a$
那么$\sum v_{与i相邻的点}$很好预处理,$n^2$暴力就是从每个点开始$dfs$,堆维护路径上的前$m$大贡献
考虑$nm$做法,随便指定根节点,每条路径都可以在$lca$处并起来
设$f[i][0/1][v]$表示在点$i$,他从父亲节点拿下来$v$个面包后最大贡献,或给父亲递上去$v$个面包之前的最大贡献
每个点扫儿子,分两种情况(这个点放不放面包)继承状态
统计路径时直接正反扫两边儿子用前缀最大值与当前值结合更新答案就行了
貌似路径正好在一条父链上的情况需要稍微判断一下。
标签:面包,..,sum,路径,CSPS,63,点放,模拟,mod 来源: https://www.cnblogs.com/yxsplayxs/p/11631454.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。