【2023.07.18】“钉耙编程”中国大学生算法设计超级联赛Day1过题小记
1009 - Assertion(模拟、数学)
9分钟过题。打卡题,鸽巢原理,不懂也能做。
1005 - Cyclically Isomorphic(字符串)
26分钟过题。打卡题,比较典,用KMP过的。也有字符串哈希、后缀数组等过法。
1002 - City Upgrading(树、dp-树形dp)
1小时22分钟过题。树形dp,队友做的。
1012 - Play on Tree(树、dp-换根dp、概率论-树上删边游戏)
3小时14分钟过题。题目表述不清,一开始以为暴力枚举、只要有赢的走法即认定为赢,不用深度博弈、答案有限。结果看了提问区才知道双方仍然采取最优策略。
于是,固定根节点,问题转变为树上删边游戏(模板链接 ),可以使用SG函数解决;随后使用换根dp转移到不定根节点,个人感觉这题难度较高,然而过题人数惊人,竟差点成人均算法!
1001 - Hide-And-Seek Game(树、暴力、数论-扩展欧几里得)
题意:给定一棵 个节点的树。
接下来为 次询问,每一次询问如下:有一个人 会在 到 的路径上来回走动、另有一人 会在 到 的路径上来回走动,询问他们最早会相遇在哪个节点;如果永不相遇则输出 。
对于每一组询问,我们可以用BFS或者LCA之类的算法计算出两个人路径相交的点的编号,随后依次枚举两个人到达这些点的时间方程,随后对这些方程求解最小正整数解即可。
- 到某一点 : 或 其中 为非负整数。
本文作者:hh2048
本文链接:https://www.cnblogs.com/WIDA/p/17564191.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步