【2019暑假集训】08.05比赛总结+HduACM

博主首次参加省选组比赛即登顶,分享了比赛思路及赛后消化过程。T1-T3题目的解题策略从数位DP、莫比乌斯反演到线段树,展示了从暴力到正解的思考路径。特别是T3题,通过从后往前扫描和使用set实现了高效解法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

传送门
这么多天一来第一次做省选组,居然登顶了

比赛思路

  • T1(有趣的数):直接数位DP似乎会T,逐渐丧失自信。。。
  • T2(可见的点):找规律+莫比乌斯反演+整除分块,感jio还行。
  • T3(精明的壕):看错题目++,最后十分钟上了暴力,似乎有40.

赛后消化

  • T1居然过了,暴力=正解。
  • T2看似伪的代码(多了个n的复杂度)却过了。
  • T3自闭了,数组开小只有十分。正解比较好理解,但是实现???一开始看错大小于符号,发现之前打了2个小时的二分萎了,然后想线段树,有一点复杂却要log方,最后求助楼上的dh后发现可以从后往前扫,还不用二分???然后套个set就又短又快了。

HduACM( 2019 Multi-University Training Contest 5)

  • 中午不睡觉,精神百倍刚题目(lyl因此成功被降智)
  • 一上来就看榜(因为吃饭已经过了半个小时),然后顺着榜我们比较轻松地做了4道题。
  • 1004:枚举分界点,解绝对值方程
  • 1005:暴力枚举排列
  • 1006:exkmp
  • 1007:找性质+DP
  • 两个小时后,我们将精力集中到了下一个较多人切的1002——

1002.three arrays

可重新排列数组a,b,令c[i]=a[i]^b[i],求最小字典序的c (n<=1e5; ai,bi,ci<=230)

  • 我并没有什么想法,一定是按位贪心,但是匹配trie上 的x和y如果有多种走法(同时向右或向左),由于接下来的走法不知道,所以很难贪心下一步。
  • 然后古爷就通过这个基本思想,想出了正解。。。
  • 既然接下来的走法不知道,我们就记忆化出接下来的走法的最小值。
  • 有一个简单且重要的贪心策略:x和y若同时可以向左或向右走,比较哪一边走能得到的结果更小,并走下去,若相等则随便一个都可以(因为此时不走之后也会走,保证字典序最小)。如果并不能同时走,则只有一种走法。
  • 通过这种贪心策略不难发现每一个点的走法是固定的。所以每一个A树中的x也唯一对应一个B树中的y。
  • 所以可以将y和x绑定到一起,这样子的话记忆化的状态就是O(n)的了。
  • 实际上,在最初的想法的贪心中,有可能同时走两边,既然如此,我们不妨走下去。
  • 即使我们最后在选最小值的时候不选这一条路,但是我们也不会影响到这一条路,相对而言这条路的答案就是固定的,通过记忆化记录下来就能避免多余的搜索。
  • 在选好之后删除操作直接将当前叶子到根的路径上的点的所有记忆化清空就好了。
  • 这样子多出来的空白的点(也就是要重新遍历的点)只会有log个,时间复杂度就可以保证了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值