[总结]2022-2-10

今天超长发挥,状态回升了。两个组混战Rank11。

P1心路历程#

赛时#

看到T1,觉得就是模拟。如果是其他,也不知道怎么写(事实证明,真的是这样,正解是:平衡树/27棵线段树/27个树状数组)。
T2一下子就知道是博弈论,但是由于受水平限制,不会打正解。花了大概50min找规律,找了5个规律。准备打,结果打到 13,发现可以把好几个规律合在一起。总共花了1.5h~2h。
说一下我的做法吧。
首先给01串分段。
image
由于最后那个00我们不需要,只要有1的段,所以用灰色,舍去。
分段的方法也很简单,就是把连续的1看做一个块,在每个块的后面画一条竖线。
然后可以发现:在块中,必然是一堆0后面跟着一堆1。所以我们只用找规律找出情况即可。
显然,01的情况下,显然是先手;在0000000……1的情况下0的个数是奇数就是后手,偶数就是先手;在111111111111111的情况下,必然是后手,这个要特判。
通过以上说的,可以知道上一个块是先手还是后手必胜,我们可以处理出每一个块的必胜选择,然后如果当前块的必胜选择是后手,那么这一个块的必胜是上一个的的必胜;否则,就是“反着的上一个块的必胜”。比如当前的块处理的必胜选择是先手,上一个块是先手必胜(已经确定),那么这一个块的确定选择就是后手。
显然是不正确的。
花了1.5h~2h。
T3放弃。
T4最后20min打了一个全排列。

P2比赛反思#

  1. 要永远想着暴力。
  2. 不要再把时间花在一题上,但今天确实是很多题不会,所以情有可原。
  3. 想问题的时候要快一点。

P3感想#

  1. GDOI的题不一定就是难到做不出来,面对难的比赛,要以积极的心态面对比赛,想着多拿点分。
  2. 你可以永远想着暴力。
  3. 多做找规律题。

P4题目总结#

T1#

赛时暴力100,但赛后又双叒叕改数据了!!!
正确做法要用27棵线段树/树状数组/平衡树。

T2#

讲一下结论吧。
首先依旧是分块。
image
然后统计0的个数的时候是要从开头开始统计一共有多少个0,1在块内统计。设统计出来的结果是 x,y,如果x%3==0或者y%2==0不做下面操作,因为没有贡献。否则,如果x%3==1,开一个变量a++x%3==2b++。最后,如果a,b有一个是奇数就是先手,两个是偶数是后手。

T3#

将原地图放大,原来不是障碍的东西位置不变,障碍就可以到一个格子里面。然后dfs+剪枝+状态压缩+hash。

T4#

作者:xmtxlym

出处:https://www.cnblogs.com/xmtxlym/p/15880746.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   小铭同学lym  阅读(53)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示