当前位置: 首页 > 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.gsyq.cn/news/1333.html

相关文章:

  • 友链
  • qoj6279 Honeycomb
  • Vue 将api 获取的 json 数据保存到本地
  • Claude Code新手入门指南:AI编程助手完全教程
  • cmov用法一例
  • Codeforces Round 1049 (Div. 2)(A~D)
  • Python基础-27 match-case 使用教程
  • 准备工作之结构体[基于郝斌课程]
  • 软工课程第一次作业
  • 初始化树莓派(Raspberry Pi)系统并以 ssh 连接教程(只需读卡器、手机开热点,无需显示器) - tsunchi
  • CF
  • Ubuntu 安装 VSCode
  • A
  • 【2024-2025第二学期】助教工作学期总结
  • 对抗样本
  • ssh相关问题
  • 使用 Visual Studio 2022 创建动态库和静态库 - Invinc
  • 软件
  • 打工人必看!昆工MBA“项目管理”杀疯了
  • 201912_BUUCTF_Base64隐写
  • 软考达人-案例分析
  • kettle插件-sqlserver cdc插件,从sqlserver获取实时数据so easy,早早下班
  • try hack me.md
  • 7. LangChain4j + 记忆缓存详细说明 - Rainbow
  • 在AI技术唾手可得的时代,挖掘新需求成为制胜关键——某知名语音识别框架需求洞察
  • 英语_阅读_raise awareness about water conservation_待读
  • [豪の学习笔记] 软考中级备考 基础复习#5
  • 02020212 .NET Core重难点知识12-服务定位器、.NET依赖注入示例
  • apache详细配置
  • 9.8总结