当前位置: 首页 > news >正文

2025 杭电暑期多校训练

第一场

1001 博弈

每个房间的先手并不一定追求在该房间获胜,所以考虑 anti-nim,也就是拿到最后一个石子的必败。

anti-nim 的结论是:若全部元素均为 \(1\),偶数个 \(1\) 必败,奇数个 \(1\) 必胜;若存在大于 \(1\) 的堆,则异或和为 \(0\) 时必败,否则必胜。

先不考虑全为 \(1\) 的情况,发现如果异或和不为 \(0\),先手可以控制自己下回合是先手还是后手,于是也就必胜了。否则,先手既不能控制获胜也不能控制失败,故先手必败。

接下来考虑全是 \(1\) 的情况,发现根据 \(1\) 的奇偶性,会改变先后手的顺序。于是枚举前缀中 \(1\) 的数量,即可判断要使先手必胜,下一个位置应该放哪种房间,然后接下来的部分就随便排。最后再把不会影响先后手顺序的全 \(1\) 房间插回去即可。

注意特判房间全为全 \(1\) 房间的情况。

1002 夜世界

先考虑没有回溯的情况,没经过一个金矿,可以获得 \(a_i-b_i\) 的金币,也就是 \(sum=\max(0,sum+a_i-b_i)\)。假设我对于每个段,预处理出以 \(0\) 的金币进入,会以多少金币离开。那么就只用考虑第一变成 \(0\) 金币的位置,大概就是二分找到前缀最小值的位置,在线段树上二分复杂度可以做到 \(O(n\log^2n)\)。回溯的话大概可以可持久化。


注意到本题可以离线,修改操作也是可逆操作,所以回溯的部分可以写成一个树形结构。在树上递归去做。

刚刚那个单侧递归的做法也不太对,这类问题貌似有个更简单的想法。

1003 奸商

http://www.hskmm.com/?act=detail&tid=503

相关文章:

  • 友链
  • BongoCat - 可爱的桌面互动猫咪
  • qoj6279 Honeycomb
  • Vue 将api 获取的 json 数据保存到本地
  • Claude Code新手入门指南:AI编程助手完全教程
  • 0124_观察者模式(Observer)
  • 读人形机器人07零售行业
  • 你可能不需要WebSocket-服务器发送事件的简单力量
  • 2014年11月微软安全更新风险评估与技术解析
  • 洛谷P5854 【模板】笛卡尔树 题解 笛卡尔树模板题
  • [Flink] Flink 经典场景:数据流输出到多个Sink
  • 都江堰操作系统
  • [OLAP/Doris] Doris 之表设计
  • cmov用法一例
  • 20250909 之所思 - 人生如梦
  • 认识人工智能-基础认知
  • Codeforces Round 1049 (Div. 2)(A~D)
  • 苹果im虚拟机协议群发系统,苹果imessage推信软件,苹果iMessage自动群发协议–持续更新中...
  • 【ChipIntelli 系列】SDK详解4——Makefile 设置 单SDK多工程文件夹实现方法
  • Codeforces Round 1049 (Div. 2)
  • 课前问题思考1
  • huggingface
  • 安全不是一个功能-而是一个地基
  • Python基础-27 match-case 使用教程
  • 从0到1实现Transformer模型-CS336作业1
  • 准备工作之结构体[基于郝斌课程]
  • 软工课程第一次作业
  • java学习起航喽
  • 初始化树莓派(Raspberry Pi)系统并以 ssh 连接教程(只需读卡器、手机开热点,无需显示器) - tsunchi
  • 从windows 自动进入BIOS