Solution Set #8
状态开始回暖了,但是还是好菜/kk
134 qoj3998. The Profiteer(背包,分治)
套用决策单调性的分治,查询最优端点的时候二分查找,可以做到
上面的做法是可以优化的:二分的时候把确定的范围直接加入,这样就是
https://qoj.ac/submission/304529
135 qoj1173. Knowledge Is...(贪心)
大力贪心,把所有区间按照
可以使用线段树维护。但实际上如果一个匹配的左侧区间和右侧区间都能匹配,那么拆左边或者拆右边效果是相同的。
https://qoj.ac/submission/305547
136 qoj5357. 芒果冰加了空气(DP,计数)
考虑对于每个子树构造点分治方案,然后合并。
先考虑
直接在树上 DP,复杂度为
https://qoj.ac/submission/306315
137 qoj6101. Ring Road(分治,最短路)
边分治,每次处理跨过两个联通块的最短路。
由于连接两个联通块的边只有
138 qoj970. Best Subsequence(贪心,整体二分)
发现如果相邻的两个数都
考虑整体二分
139 qoj6638. Treelection
相当于限制除了
先不考虑
假设
140 qoj6540. Beautiful Sequence(贪心)
钦定集合
考虑判断合法,将
考虑先钦定
暴力实现可以平方,考虑优化判断的过程。注意到我们把
141 2024.1.16 cheer(差分,gcd)
注意到差分之后
任意选
- 没有点不被
整除,直接加。 - 恰好
个点被 整除,那么只有修改祖先链才有用。 - 恰好
个点被 整除,那么只有确定的路径有用。
所以我们只需要考虑
142 2024.1.17 tree(MST,边分治)
大力 boruvka 可以得到
考虑大力优化这个做法。注意到瓶颈在于边分治中的排序,而每次 boruvka 排序的过程是相同的。所以可以直接把分治过程离线,求最短边的部分双指针解决。复杂度
143 CF1158E Strange device(树交互,并行操作)
操作明示把树分层。
考虑二分,每次询问出距离
考虑并行,每次找到所有二分的区间,一次把所有奇数或所有偶数的区间割开,可以做到
然后询问每一层,可以按照模
https://codeforces.com/contest/1158/submission/242177866
144 qoj962 Thanks to MikeMirzayanov(排序,构造)
先转化一下操作:区间翻转,然后再全局翻转。
一个套路:先考虑给
考虑怎么给
回到原题,我们分治下去,然后并行操作,可以做到
https://qoj.ac/submission/307627
145 JOI Open 2019 Triple Jump(线段树,支配对)
在单调栈上观察,可以发现只有在单调栈过程中相邻的两个
但是带上
。 。- 区间询问
最值。
直接使用线段树是可以维护的。
146 NOI 2020 超现实树
好像没那么难?
先考虑链的包。要求对于左右儿子均可以生成,分类讨论:
- 如果存在一棵树是单点,答案是 Almost Complete。
- 否则,把只有左儿子的链往左递归判断,只有右儿子往右递归判断。
一般的情况只需要额外考虑有两个儿子的情况。考虑一个构造非法解的方式:左儿子挂一个单点,右儿子递归构造。此时集合
147 QOJ 1436 Split in Sets(贪心)
先考虑
可以得到一个结论:如果最高位有
注意到如果所有数最高位都相同,那么可以把最高位删去,然后直接把最高位的贡献计算。
根据上述性质,设计
- 所有数最高位相同,计算最高位贡献,递归。
- 计算最高位数的数量
,若 ,那么选 个位置把最高位单独放,其余数递归下去。 - 否则,其它数一定放在同一个桶里面,把它们与起来变成一个数,计算最高位贡献,递归。
计数是简单的。
https://qoj.ac/submission/309735
148 2024.1.22 模拟赛 emotion
问题约等于对
有转移式子:
可以使用子集卷积优化到
149 qoj2065. Cyclic Distance(凸优化)
考虑确定点集之后怎么做,可以拿重心构造出两倍虚树大小。
考虑 DP,加一条边的贡献是
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】