摘要: AT AGC D - Game on Tree 大意 典型的树上博弈。 思路 利用节点 \(SG\) 值等于其所有子树 \((SG+1)\) 的异或和判定在不断删边过程中谁能赢得比赛。 代码 #include<iostream> #include<vector> #include<cstring> 阅读全文
posted @ 2026-02-10 21:36 To_Carpe_Diem 阅读(3) 评论(0) 推荐(0)
摘要: P2252 【模板】威佐夫博弈 / [SHOI2002] 取石子游戏 大意 两堆石子,两人轮流从一堆或同时从两堆中取走相同数量的石子,取走最后一个石子的人获胜。 思路 Wythoff 博弈的奇异局势与黄金比例相关 (\(k \in \mathbb{N}\)): \[a_k = \lfloor k\p 阅读全文
posted @ 2026-02-10 21:27 To_Carpe_Diem 阅读(2) 评论(0) 推荐(0)
摘要: COGS 2546. 巴什博弈 大意 一堆石子共 \(n\) 个,两人轮流取走 \(1\) 到 \(k\) 个,取走最后一个石子的人获胜。 思路 当 \(n \mod (k + 1) = 0\) 时,先手必败,反之先手必胜。 代码 #include <cstdio> inline char gc() 阅读全文
posted @ 2026-02-10 21:25 To_Carpe_Diem 阅读(2) 评论(0) 推荐(0)
摘要: P5854 【模板】笛卡尔树 大意 建一个小根堆笛卡尔树。 思路 用单调栈维护右链,直接建即可。 代码 #include<iostream> #include<stack> using namespace std; #define int long long const int MAXN = 1e7 阅读全文
posted @ 2026-02-10 13:55 To_Carpe_Diem 阅读(2) 评论(0) 推荐(0)
摘要: P3195 [HNOI2008] 玩具装箱 大意 这道题要求将 \(N\) 个物品分成若干连续的段,每段的代价与该段的长度和重量之和有关。求最小的费用。 思路 我们发现其符合四边形不等式,于是我们可以记录决策点,但是依旧是 \(\mathcal{O}(n ^ 2)\) 的,于是,我们发现,决策点是单 阅读全文
posted @ 2026-02-09 20:21 To_Carpe_Diem 阅读(4) 评论(0) 推荐(0)
摘要: UVA1640 统计问题 The Counting Problem 大意 给定两个整数 \(a\) 和 \(b\),求 \(a\) 和 \(b\) 之间的所有数字中 \(0 \sim 9\) 出现次数。 思路 直接对于 \(0 \sim 9\) 的每一数都去做一次数位统计,然后就没有然后了。 代码 阅读全文
posted @ 2026-02-09 17:02 To_Carpe_Diem 阅读(3) 评论(0) 推荐(0)
摘要: P6218 [USACO06NOV] Round Numbers S 大意 如果一个正整数的二进制表示中,\(0\) 的数目不小于 \(1\) 的数目,那么它就被称为「圆数」。 请你计算,区间 \([l,r]\) 中有多少个「圆数」。 思路 简单的数位 DP,我们直接做前缀相减。 那么对于处理这个, 阅读全文
posted @ 2026-02-09 16:41 To_Carpe_Diem 阅读(2) 评论(0) 推荐(0)
摘要: B3883 [信息与未来 2015] 求回文数(加强版) 大意 现给出一个正整数 \(n\),求出 \([1,n]\) 中的回文数的个数。 思路 我们采用分段统计与数位 DP 的方式。 分段统计: 对于位数小于 len 的数字,直接利用回文数的构造公式计算。对于 \(i\) 位的回文数,只需确定前 阅读全文
posted @ 2026-02-09 15:53 To_Carpe_Diem 阅读(3) 评论(0) 推荐(0)
摘要: P13085 [SCOI2009] windy 数(加强版) 大意 不含前导零且相邻两个数字之差至少为 \(2\) 的正整数被称为 windy 数。windy 想知道,在 \(a\) 和 \(b\) 之间,包括 \(a\) 和 \(b\),总共有多少个 windy 数? 思路 首先,我们考虑数位 D 阅读全文
posted @ 2026-02-09 15:02 To_Carpe_Diem 阅读(1) 评论(0) 推荐(0)
摘要: P2602 [ZJOI2010] 数字计数 大意 给定区间 \([a, b]\),统计其中所有整数中,数字 \(0 \sim 9\) 分别出现的总次数。数据范围达到 $10^{12}。 思路 状态定义 使用 f[pos][sum][lim][zero] 表示记忆化状态: pos: 当前处理到的数位下 阅读全文
posted @ 2026-02-09 12:05 To_Carpe_Diem 阅读(1) 评论(0) 推荐(0)