ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

JZOJ 2022.02.10【提高组】模拟总结

2022-02-10 20:35:35  阅读:160  来源: 互联网

标签:10 log JZOJ 偶数 相邻 枚举 考虑 排序 2022.02


$\text{简要题解}$

$\text{GDOI2012}$ 的题
不得不说当年的题做起来真的很不爽
整体看起来就是数据结构+博弈论+宽搜+背包dp优化

考场上 $T1$ 十分钟解决过了
看完题就知道多开点线段树或树状数组维护原序列和同颜色序列就行了
线段树的话可以线段树上二分做到一只 $\log$
树状数组就得套个二分上去要两只 $\log$
不过树状数组代码太短了,又不容易出错,必须得上它啊
尽管是两只 $\log$,不过能够就好了

$T2$ 交替搜索记忆化稳拿 $30pts$ 也过了
尝试发现性质发现情况还想有点多。。。
赛后听讲题人的明白了一个巧妙地转化
把每个 $1$ 前面的 $0$ 数量弄出来,必败状态就是将这些数字削成 $0$
移动操作相当于给一个数 $-1$,或同时给两个相邻且大小相同的数 $-1$
两个结论:偶数对胜负无影响,三个相邻且相同的数也一样,都可删去,只考虑简化后的数列
简化后的数列是由一些不相同的数和若干对两个相邻且相同的数组成
然后必败态就是第一种数个数和第二种数对个数都为偶数
证明考虑把偶数丢给对方,对方丢过来必然是奇数,削成偶数仍回去,直到为 $0$ 便胜了

看了 $T3$,犹豫了一会,这大力模拟暴搜真能打?一不小心血本无归,太亏了
于是先搞 $T4$,很容易发现相邻两数交换位置不影响之后的数
考虑相邻两数换不换,按 $a.d+a.r \cdot b.d > b.d+b.r \cdot a.d$ 排序即可
排序就就有了亮招的相对顺序
然后考虑一个数选不选与 $L$ 的限制即可
明显的一个背包,正序转移不方便考虑倒序转移
然后发现一个 $bug$,最后一招不管 $L$,可以不按排序顺序,最优当然选剩下的 $d$ 最大的
也就是说要枚举最后一招,$O(n^2L)$
考虑优化,如果把招数按 $d$ 从大到小排序后枚举最后一招,想想最多枚举到哪
考虑 $k$ 前面的 $l$ 的和已经大于 $100$,意味着枚举 $k$ 时前 $k$ 个数至少有一个选不到
如果选了后面的任意一个为结尾,前 $k$ 个至少有一个选不到,所以不如选前 $k$ 个优,故不必继续枚举,就成 $O(nL^2)$ 了
大可把 $l/2$ 优化

标签:10,log,JZOJ,偶数,相邻,枚举,考虑,排序,2022.02
来源: https://www.cnblogs.com/leiyuanze/p/15880669.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有