Codeforces Round 936 (Div. 2)
1|0基本情况
2|0C. Tree Cutting
二分答案肯定不用说。
有一个直觉,要维护每个点的子树大小,然后把所有子树大小合适的点全部剪掉。
但直接比较子树大小和目标值是不可行的,因为删掉一个子树的子树会影响到其子树的大小。
其实要修改很简单,如果该子树合适直接剪掉,然后返回值改成0即可。
然而当时不细想就草草否决,改成了自觉的“稳妥”的离线做法,多浪费了半小时。
3|0D. Birthday Gift
算复习一下原题吧。
3|1H
https://ac.nowcoder.com/acm/contest/67741/H
位运算好题
- 先考虑每个物品的重量都只含
的情况,可以帮助对这题要解决什么问题有个大致了解 - 记所选物品重量或起来是
,枚举 𝑚 里是 的某个 ,强制 𝑐 里该位为 ,则该位将 𝑚 分成了前后两部分- 对于前面的那部分位(更高位),要求所选的物品这些位必须是 𝑚 的子集(即 𝑚 对应位是
才能选) - 对于后面的那部分位(更低位),没有任何限制
- 对于前面的那部分位(更高位),要求所选的物品这些位必须是 𝑚 的子集(即 𝑚 对应位是
- 因此,枚举 𝑚 里每一位作为这个分界,每个物品就变成了要么能选要么不能选、彼此之间也不影响,所以把能选的都选上就好,最后再特判一下
的状况,即可保证枚举了所有情况
get函数内的传参用了几个 trick.
通过这个参数与
3|2本题
那就没啥好说了,几乎是一致的,只是
4|0E. Girl Permutation
看起来就很组合数,而且有一组大样例,直接对着找规律。
首先毋庸置疑最大值在
其次,
同理,
- 先分析左边
- 左边先给
个数字, 。 - 然后
上的数字肯定是 个数字里面最大的,现在剩 个数字。 - 在剩下的
个数字中选 个排入 ,任意顺序, 。 - 然后还剩下三个数字,按顺序放入,只有一种方案。
- 左边先给
- 再分析右边
- 同理
- 同理
然后代码实现就好了。
__EOF__

本文作者:Kdlyh
本文链接:https://www.cnblogs.com/kdlyh/p/18091261.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/kdlyh/p/18091261.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示