2022.7.26NOIP测试

T1.树染色问题

思路:

先缩点,在新的树上一层一层染色,为了让层数最少,把直径中点作为根节点。
然后直径长度除以二既可以了。

T2.Multiset

思路:
与整体二分相似,先按位确定答案范围。对每个值的个数枚举并检验。用一个set存答案的范围,每一个nodell,lr,rl,rr四种变量,存储l,r的范围。

每次确定完数值个数后,在两个集合之间取交集。

T3.最优化问题

将输入的序列按数值大小排序,然后按照数值从小到大加入

维护删 1..K个数以后的最大答案 c[1..K]

当加入一个数 ax 时,显然它前面必须删 axx个数

那么如果前面删的数字个数小于等于axx 的都可以转移到c[axx]

然后如果前面删的数不超过K 个而且后面的全部删除可以删满 K 个的话就更新
答案
需要在c数组中修改一个数,查询前缀最小值

posted @   SSZX_loser_lcy  阅读(58)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示