随笔分类 -  题目

1 2 3 4 5 ··· 7 下一页
摘要:我们发现假若 \(l,r\) 有边,则 \([l,r]\) 之间所有的都在这个块内。归纳易得:最终每个连通块必定是一个区间。 考虑重新刻画答案的计数方式。我们尝试在连通块间的的断点处计数,此时存在一个 \(v\),使得连通块左边 \(\geq v\) 且 \(\min=v\) ,右边 \(< v\) 阅读全文
posted @ 2025-07-13 15:29 徐子洋 阅读(5) 评论(0) 推荐(0)
摘要:做法 1 将相同 \(x\) 的交替染色,相同 \(y\) 的也交替染色。具体的,为了使得行列不冲突,我们将相同 \(x,y\) 的相邻点两两连边(多出的别管),然后跑二分图染色。 注意到这样不会冲突(因为横竖边交替),且满足每行两种颜色数至多差 \(1\) 条件。 做法 2 对行、列分别建点,如果 阅读全文
posted @ 2025-07-12 11:48 徐子洋 阅读(10) 评论(0) 推荐(0)
摘要:Problem A 注意到,\(\oplus\) 运算可能让一个奇数 \(-1\),或者让一个偶数 \(+1\)。 转化后的操作如下: 花费 \(x\) 的代价让 \(a\leftarrow a+1\) 花费 \(y\) 的代价让 \(a\leftarrow a+1(\text{a is even} 阅读全文
posted @ 2025-07-06 12:15 徐子洋 阅读(37) 评论(1) 推荐(0)
摘要:Part 1:一些发现 首先我们注意到,每个数位可以几乎独立地计算贡献,不同数位的之间的联系只在于总和 \(n\)。 同时还容易发现,把两个同数位上的 \(3,3\) 或 \(3,6\),合并成一个必定不劣,可能更优。 比如说:假若存在两个数同数位上分别是 \(3,3\),我们将它们合并成一个 \( 阅读全文
posted @ 2025-07-05 08:31 徐子洋 阅读(13) 评论(0) 推荐(0)
摘要:为了叙述方便,下文使用“小C”和“小D”来代指原题面中的 Cirno 和 Daiyousei,分别是游戏中的先手和后手。 Part1:Eazy Version 题目要求不能操作的人获胜,意味着每个人都希望让对方操作的是最后一步。 可以先观察边界局面,小C何时能“一步杀”取胜。 按照 \(w_u\) 阅读全文
posted @ 2025-07-03 17:15 徐子洋 阅读(10) 评论(0) 推荐(0)
摘要:Part1:观察描述 对于任意次操作后的字符串,其每个位置都对应原序列一段区间的 \(\max\)。我们记当前第 \(i\) 个数来源于为 \([l_i,r_i]\)。 初始时 \(l=r=\{1,2,\dots,n\}\)。考虑每次操作前 \(p\) 个数,等价于删去 \([l_1,r_1],[l 阅读全文
posted @ 2025-07-02 18:19 徐子洋 阅读(17) 评论(0) 推荐(0)
摘要:Part1:转化 转化为单蚂蚁和单方糖的二分图最大匹配 考虑霍尔定理经典推论,\(|V1|-\max_{S\in V1}(|S|-|N(S)|)\),其中 \(N(S)\) 表示与 \(S\) 节点有边的点集。 位置 \(x\) 的蚂蚁能匹配的方糖区间为 \([x-L,x+L]\) 一个直接的思路是 阅读全文
posted @ 2025-07-02 11:58 徐子洋 阅读(8) 评论(0) 推荐(0)
摘要:转化题意 你需要找出两个序列 \(x,y\),在满足下列条件的情况下最小化 \(\sum (x_i+y_i)\): 对于任意 \(1\leq i\leq N\),满足 \(x_i\geq X_i,y_i\geq Y_i\) 对于任意 \(1\leq i\leq M\),满足 \(\forall j, 阅读全文
posted @ 2025-06-29 21:27 徐子洋 阅读(10) 评论(0) 推荐(0)
摘要:题目大意 给定 \(N,M\),你需要求有多少个长为 \(N\) 的序列 \(A\),满足下列条件: \(0\leq A_i\leq 2^M(1\leq i\leq N)\) \(\text{popcount}(A_i\oplus A_j)\leq 2(1\leq i\leq j\leq N)\) 阅读全文
posted @ 2025-06-21 07:57 徐子洋 阅读(17) 评论(0) 推荐(0)
摘要:题目链接 Part1:一些转化 为了使操作形式更加好看,我们在所有操作前,将答案异或上 \(\oplus_{i=1}^n b_i\)。然后令 \(c_i=a_i\oplus b_i\)。这样每次只需要决定一个 \(c_i\) 选不选就行了。 显然转化后与原问题等价。 不选 \(c_i\),对应着选择 阅读全文
posted @ 2025-06-03 09:26 徐子洋 阅读(41) 评论(0) 推荐(1)
摘要:题目链接 解题思路 考虑枚举最小值 \(x\) 以及枚举最大值 \(y\)。 每次再枚举 \(y\) 在原序列出现的位置 \(i\),则容易计算对答案的贡献: 我们拿最小值 \(\geq x\) 的方案数,减去最小值 \(>x\) 的方案数。 具体的,我们按照 \(x\) 从大到小处理,利用并查集维 阅读全文
posted @ 2025-04-27 18:56 徐子洋 阅读(8) 评论(0) 推荐(0)
摘要:解题思路 具体做法 我们希望找到一个合理的区间判定方法。 一个很直观的思路就是,维护一个哈希函数,使得区间的值为 \(0\)。 换句话说,在本题中,我们要找到一种维护方法,使得每种颜色的所有数在哈希函数里总贡献为 \(0\)。 考虑异或哈希。给每个位置上的数随机赋一个权值 \(w_i\),如果它是同 阅读全文
posted @ 2025-04-19 11:10 徐子洋 阅读(56) 评论(0) 推荐(0)
摘要:题目链接 解题思路 初步观察 首先,必定存在一个位置,使得环从那里断成链之后,答案不变。 对于一条链,操作两两之间,如果不是不相交,就是包含关系,不然必定不优。 具体做法 题目给出的 \(b+X_c\) 这个式子中,既有与区间长度 \(b\),又有和具体颜色有关的 \(X_c\)。 直接贪心我们难以 阅读全文
posted @ 2025-04-09 16:48 徐子洋 阅读(29) 评论(0) 推荐(0)
摘要:题目链接 Part1:转化 考虑什么情况下能保证 Alice 获胜。 记 Alice 给箱子 \(i\) 配的锁的集合为 \(N(i)\),则 Bob 需要满足: \[\forall s\subseteq{1,2,\dots,n},(\sum_{i\in s} a_i)\leq(\sum_{j\in 阅读全文
posted @ 2025-04-03 20:41 徐子洋 阅读(9) 评论(0) 推荐(0)
摘要:简单的操作分析题。 一些基础想法 首先,注意到直接怼着序列,不好计数。考虑按照值域从小到大计数。 假若不考虑边界(或者我们令 \(B_0=B_{N+1}=N+1\)),那么每次的段数是固定的。 具体的,元素 \(1\) 的所有数形成了 \(a_1\) 个不能相交的段,其中每个段两端都需要两个元素 \ 阅读全文
posted @ 2025-02-25 15:00 徐子洋 阅读(10) 评论(0) 推荐(0)
摘要:这题看起来无从下手,我们没法立即就找到多项式复杂度内的做法。故而考虑贪心。 容易想到排序后处理。考虑两种排序方式: 按体重排序 按牛的数量排序 显然第一种相比于第二种更可能是这道题的解法。 尝试按体重从小到大处理,每次把新的一种体重的牛加进去。加到怎样的序列合适呢?我们发现只要是当前能加的都行。因为 阅读全文
posted @ 2024-02-04 08:25 徐子洋 阅读(87) 评论(0) 推荐(1)
摘要:这种题在想题的时候可以先随便找到一个做法再去优化,不要管复杂度,想多了容易混。 首先容易发现,这道题直接计数比较困难。所以我们想到了用容斥来解决这个问题。 但是容斥的方式可能比较多,可以多尝试然后选择最简便的方法。钦定 \(f_i\) 表示,我们强制 \(n\) 个数中的 \(i\) 个出现次数不超 阅读全文
posted @ 2024-01-26 21:48 徐子洋 阅读(36) 评论(0) 推荐(0)
摘要:题目链接 很显然,按照右端点从小到大排序,对于每段区间尽量地贪心放在靠右的位置即可。 中间用 std::set 维护当前还是 \(0\) 的位置,以及树状数组维护区间 \(1\) 的个数。 点击查看代码 #include <bits/stdc++.h> #define FL(i, a, b) for 阅读全文
posted @ 2023-12-31 21:30 徐子洋 阅读(19) 评论(0) 推荐(0)
摘要:题目链接 考虑拆贡献。 显然答案可以拆成对于所有 \(s_i\) 的每一个后缀的反串,作为前缀在所有串中的出现次数的加和。 这个东西字典树维护一下就行了。 不知道是谁考场上写哈希赛后被人对着模数卡掉了 点击查看代码 #include <bits/stdc++.h> #define FL(i, a, 阅读全文
posted @ 2023-12-31 21:28 徐子洋 阅读(55) 评论(0) 推荐(0)
摘要:题目链接 题目本质就是对一个多项式 \(F\) 进行等比数列求和得到 \(G\)(\(F_i\) 表示 \(i\) 在序列 \(A\) 中的出现次数),求 \(G\) 所有下标 \(>0\) 的位置的权值和。 显然,\(M\) 固定就可以直接做了。但 \(M\) 不固定,所以我们只能暴力枚举 \(M 阅读全文
posted @ 2023-12-31 21:26 徐子洋 阅读(21) 评论(0) 推荐(0)

1 2 3 4 5 ··· 7 下一页