【题解】Solution Set - NOIP2024集训Day77 反悔贪心
【题解】Solution Set - NOIP2024集训Day77 反悔贪心
https://www.becoder.com.cn/contest/5747
「AGC018C」Coins
在没有
打了,但是没调出来:https://www.becoder.com.cn/submission/2698286
https://www.luogu.com.cn/article/cftakc2x
其实,我们可以先钦定所有的人都取第一个数,然后再选
「AGC007F」Shik and Copying String
转化一下题意:相当于是每次可以选择若个个连续段让每段都变为这一段的左端点。
https://www.luogu.com.cn/article/5yo6b4jn
(md,之前就是想的这么转化题意的,但是有点没理清楚就没管了。😥
(好的,让我们继续思考。
既然是不能有交,那么每个路径就要尽可能的靠右。
考虑对每个
注意到如果后一个路线在最后一行拐弯了那么一定会增加一列,由此更新答案。
「CF335F」Buy One, Get One Free
(FAKE
考虑排序后,买最大值送严格次大值,最后一定剩下若干个相同的值。
可以反证,在不考虑剩下的相同值时,这样的策略是不劣的。
现在考虑剩下的这些相同值,她们无非就是直接买,或者被权值更大的送。
调整一下就行了。
bf:https://www.becoder.com.cn/submission/2698378
虽然但是,OJ 数据水的像什么一样,CF 上面光荣的 WA 了。
Hack:
6
10 8 7 7 5 4
问题在于,一开始那个 “买最大值送严格次大值” 的策略是错的……(只有在
那么我们不妨对每组相同的元素都考虑上述反悔的过程。
https://www.luogu.com.cn/article/uuzg6nwk
当前枚举到
令
对于这
-
首先,
个派一定是可以因为之前买了但还没送的那些,来补送的,也就不要钱。直接加入 ; -
其次,剩下的部分中多余
的部分一定只能掏钱买(因为前面的再多也不够送这些的了。 -
最后,再剩下的
个 就可以掏钱买或者和前面送的那些争宠。考虑和
里面的元素比较。设 为当前 内的最小值。-
:现在决策仍不明显,我们考虑在
中加入一个 的派。可以发现后面的情况进一步确认了当前的决策。具体的,最终的 中:- 仅存在
:相当于我们买下 换得两个 ; - 仅存在
:还是花钱买了两个 ; - 同时存在
:不买 但从别处获得了两次送的机会来得到两个 。
- 仅存在
-
:(因为存在 的虚拟派,所以需要考虑这个可以发现买下
送两个 一定更优,于是删去 将两个 加入 。
-
注意实现的时候,因为只有严格小于才能送,所以同一个
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!