自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 思维/技巧 Unjust Binary Life

出发前可以任意翻转 a 和 b 内的元素,定义 f(x,y) 表示走到 (x,y) 这个格子最少需要翻转的次数,给两个 01 串 a 和 b,这两个串定义了一个 n*n 的矩阵,(i,j) 这个位置的值等于。只能走 0 的位置,也就是说这个位置对应的 ai 和 bj 一定要相同。,记 p1 为转化后 a 数组的前缀和,p2 为 b 的,那么。表示区间 a[1,x] 和 b[1,y] 内 0 的个数,Yuri 要从矩阵的 (1,1) 出发,每次只能。(但是c0 c1的定义有区别)最后两部分相减记得除以二。

2025-08-17 14:39:29 564 1

原创 思维/技巧 Gangsta

排序后下标为 i 的数 pi 的贡献就是:被加了 (n-i) 次 ,被减了 i 次。技巧:这种 max 和 min 有关的东西可以把它拆开。表示区间 [x,y] 内 1 的个数,则所求就是。将原本位置上的 0 看成 -1 ,原本的 1 不变。表示区间 [x,y] 内 0 的个数,懒得写了,直接看题面吧,比较短。就等于区间和的绝对值,可以用。处理,设前缀和的数组为 p。这两部分答案可以分开处理。第一部分推一推发现等于。最后两部分相加记得除以二。

2025-08-17 14:05:05 543

原创 大模拟 Major

模拟 16 支队伍的瑞士轮比赛结果,规则太多,直接上题面吧。

2025-08-17 00:00:46 1894

原创 启发式合并 + 莫队 恋恋的心跳大冒险

(第一次打的时候不知道如何用 set 维护区间,用数组存区间端点,又加了一个 goodr 表示当前维护的所有右端点,过程相对复杂,容易错,但好在没怎么调试,把两种写法代码都放在下面。MIN 的答案就是区间众数的出现次数(若有多个众数,只算单个众数的出现次数)当我们每加入一个新的点时,合并左右临接的区间,于是我们维护的区间一定是。然后就可以把树上的问题变成普通序列区间上的问题处理了。于是答案就分为两个部分,一个。MAX 的答案就是区间长度。至于第二部分,直接离线询问。

2025-08-16 23:59:23 494

原创 莫队 (维护区间众数的出现次数) Cut and Stick

记录每个数的出现次数 col[i] ,以及一个数组 num[i] 表示 "出现次数为 i 的数的个数",把询问离线就可以用莫队维护区间众数了。需要把这个区间的数划分成若干个子序列(同一个子序列里的数在原序列中不要求连续),使得对于每个子序列,假设长度为 len ,则序列中。先考虑整个区间的众数出现次数 f ,如果 f <= (len + 1) / 2,则无需划分,答案为 1。于是第二种情况的答案就可以表示为:f - (len - f + 1) + 1 = 2 * f - len。

2025-08-16 01:27:19 243

原创 树上启发式合并/莫队 Tree and Queries

一棵树上 (n <= 1e5) 每个点都有一个颜色 (ci <= 1e5) ,m (m <= 1e5) 次询问,每次询问包含一个 v 和一个 k ,统计。树上启发式合并,记录每个颜色出现的次数 col[i],以及一个数组。(注意我们可以在更新 col 的同时 O(1) 更新 num)利用 "子树内节点的 dfn 是一段连续区间" ,可以。将统计子树内的答案转化成统计区间内的答案。

2025-08-16 01:04:19 365

原创 莫队 + 离散化 Ann and Books

q (q <= 1e5) 次查询,每次查询一段区间 [l,r] ,求 [l,r] 内所有满足 " 数学书的题目数量之和 - 经济书的题目数量之和 = k " (每个询问的 k 都是同一个固定值)的。即:pre[x] - pre[i-1] == k -> pre[i-1] == pre[x] - k ( i-1。即:pre[i] - pre[x-1] == k -> pre[i] == pre[x-1] + k ( i。无修改,区间查询,k 值固定,可以离线,又想到莫队了。" 的子区间的数目。

2025-08-14 17:16:48 1205

原创 莫队 Little Elephant and Array

给一个长度为 n (n <= 1e5) 的数组 (ai <= 1e9),m (m <= 1e5) 次询问,每次查询一个区间 [l,r] ,求区间内有多少个数 x ,满足 x 在这个区间的出现次数也刚好等于 x。我们要维护每个数出现的次数,但是 ai <= 1e9 太大了,无法维护所有的数。注意到答案可以离线,考虑莫队,可以算是模板题了。ai > n 的数其实是不需要维护的。,因为他们永远不可能出现那么多次嘛。

2025-08-14 16:47:02 336

原创 根号分治 Remainder Problem

于是我们可以暴力求解这部分 x 比较大的答案,假设这个临界是 x > A,单次查询时间复杂度为。表示模 i 余 j 的位置上的所有数之和,因为是单点修改,维护 f 的复杂度为。有一个长度 5e5 的数组,初始所有元素都是 0。当 x 比较小的时候(临界是 x <= A),设。我们想要这两部分的复杂度相同,则 A 应该取。于是这道题变成了一个根号算法,总复杂度为。

2025-08-14 16:37:16 373

原创 分块 GukiZ and GukiZiana

每次修改非整块之后重新排序(整块无需重复排序,因为整块内部所有值在本次操作中都同时增加一个相同的值,相对顺序不变),排序是为了。如果对每个块都开一个 map 记录,多带一个 log 可能会超时,而且空间上也不优秀,于是考虑直接。(其中一大细节就是:因为我们对每个块排序了,而修改的时候是按原数列的顺序进行修改的,因此我们。嗯没错,某些分块的题就是如此暴力,注意块的临界范围等代码细节......注意到 q 的范围较小,并且有区间操作,答案还可以离线做,于是分块。操作类型 2. 查询使得。

2025-08-14 00:25:31 331

原创 树形DP Maximum White Subtree

设 f[i] 表示以 i 为根的子树内答案的最大值,先进行一次 dfs 把以 1 为根的答案计算出来,然后考虑其他节点为根的情况。假设当前节点为 x ,从 x 过渡到计算 x 的子节点 rec 的真实答案,也就是。一棵树,每个节点被染成黑或白色,对每个节点 v ,求。于是可以递归一边换根一边计算答案,记得回溯就行了。的连通图里,白色节点数减去黑色节点数的最大值。白点权值标为 1 ,黑点标为 -1。f[rec] += (新的)f[x];

2025-08-11 00:43:57 306

原创 树上启发式合并 Blood Cousins

对每个 vi ,肯定要先求出它的 pi-th ancestor,倍增即可。(其实这里不是LCA,只是ancestor,但是本人代码里顺手就这么打了)m 次询问,要求计算节点 vi 的 pi-th cousins 的数目。计算节点 vi 的 pi-th cousins 的数目,其实。维护一个 num[i] 表示子树中深度为 i 的节点个数((减 1 代表除去 vi 这个节点本身)。可以先记录 m 个答案,再离线处理。

2025-08-11 00:31:41 469

原创 树上启发式合并 Ancient Tree

整个子树的待定颜色都可以变成子树内任意一个已知的颜色,如果没有已知颜色(全部都待定),那么整个子树都延迟染色,让祖先来决定他们的颜色。如果当前节点无颜色,贪心地令它颜色为这个配对的颜色一定是最优的,并且我们可以把整个子树的待定颜色都变成这个颜色。1. 若已配对的个数 >= 2:那无论当前节点是什么颜色,它都是 cute。如果当前节点有颜色且和配对的颜色不同,那么它也是 cute。维护子树内的颜色集合,和孩子之间已经 "配对" 的颜色个数。

2025-08-10 01:02:17 486

原创 树上启发式合并 Lomsat gelral

维护当前最多颜色的数量,以及对应颜色之和,树上启发式合并。

2025-08-10 00:20:44 390

原创 概率/期望 DP Jeff and Furik

假设初始的逆序对数目为 num ,那么每一次 J 的贡献就是把这个 num -1,F 则有可能 +1 也有可能 -1。有一个 n 的排列数组 p ,J 和 F 轮流(J 先)调整数组 p 中相邻两个数的前后顺序,J 要尽力使数组 p 变成从小到大的有序数组,而 F 则有 0.5 的概率随机调换一组相邻的。还需注意的是,若 num 为奇数,则最后一次只需 J 出手就可以直接结束游戏。,而 F 则有 50% 的概率帮忙也有 50% 的概率捣乱。,亦有 0.5 的概率随机调换一组相邻的。

2025-08-06 21:19:16 310

原创 概率/期望 DP Jon and Orbs

需要收集 k (k <= 1000)个球,初始一个球都没有,每次有等同概率得到任意一个球,求要想收集完全整套魔法球(每种至少一个)的概率至少是。可以直接预处理出 f(1~10000,j) 的所有值,然后二分答案即可。询问若干个 pi ,对于每个 pi 输出对应的答案。为拿了 i 次之后收集了 j 种球的概率。

2025-08-06 21:02:51 252

原创 概率/期望 DP Bag of mice

袋子里有 w 只白鼠和 b 只黑鼠,princess 和 dragon 轮流随机取出一只,princess 先取,特别的是每次dragon 取完会有随机一只老鼠从袋子里跳出,谁先取出白鼠谁赢,若袋子空了还没分出胜负,则 dragon 获胜。状态转移:(设 all = w + b - 3i ,bl = all - j)那么 i 轮之后会剩下 (w + b - 3i) 只老鼠,于是。官方的解法其实本质上没有区别,只是换了一种实现方式。表示剩下 i 只白鼠 j 只黑鼠。自己琢磨了一种解法,写在前面。

2025-08-06 20:50:33 328

原创 概率/期望 DP Let‘s Play Osu!

其实 P(i,j) 代表的就是第 i 个为 "O" 和第 j 个为 "O" 的组合贡献,它并不包含譬如 P(i+1,j)、P(i,j + 1) ... 的贡献。也就是说,我们在已经有一段长度为 x 的连续 "O" 序列的情况下,再加多一个 "O" ,得到的贡献就会加上 "2x+1"。第二部分的答案,我们要计算的就是 [i,j] 这段序列出现全 "O" 的概率,记作 P(i,j) ,有一个长度为 n 的序列,第 i 个位置上为 "O" 的概率为。,为 "X" 的概率为。求整个序列的期望得分。

2025-08-06 19:02:21 404

原创 概率/期望 DP llya and Escalator

只有从状态 (i,j) 转移到 (i + 1,j + 1) 的边的边权为1,从状态 (i,j) 转移到 (i + 1,j) 的边的边权设置为 0 ,那么这里边权的意义就是此次转移增加了电梯上的几个人(1或0)。于是问题转化成了。

2025-08-06 18:06:53 917

原创 交互 Codeforces Round 1040 Interactive RBS

Codeforce 交互题 好题 妙题

2025-08-02 21:54:15 831

原创 启发式合并、树上启发式合并(基础)

启发式合并

2024-09-03 16:07:46 667

原创 Sprague–Grundy Function

博弈论 —— Sprague–Grundy Function

2024-08-30 01:27:59 1069

原创 Codeforces Round 968 (Div. 2)

Codeforces Round 968 (Div. 2)

2024-08-28 22:49:31 1839

原创 Educational Codeforces Round 169 (Rated for Div. 2)

Educational Codeforces Round 169 (Rated for Div. 2)

2024-08-23 23:26:17 1406

原创 EPIC Institute of Technology Round August 2024 (Div. 1 + Div. 2)

EPIC Institute of Technology Round August 2024 (Div. 1 + Div. 2)

2024-08-18 03:43:14 1825 2

原创 Codeforces Round 965 (Div. 2)

Codeforces Round 965 (Div. 2)

2024-08-14 00:58:40 2151

原创 Codeforces Round 963 (Div. 2)

Codeforces Round 963 (Div. 2)

2024-08-05 21:04:36 1730

原创 Codeforces Round 962 (Div. 3)

Codeforces Round 962 (Div. 3)

2024-08-02 02:56:22 1673

原创 Codeforces Round 961 (Div. 2)

Codeforces Round 961 (Div. 2)

2024-08-01 21:42:08 1310

原创 Codeforces Round 959 sponsored by NEAR (Div. 1 + Div. 2)

Codeforces Round 959 sponsored by NEAR (Div. 1 + Div. 2)

2024-08-01 17:42:06 825

原创 Codeforces Round 958 (Div. 2)

Codeforces Round 958 (Div. 2)

2024-07-29 23:02:51 1247

原创 Codeforces Round 957 (Div. 3)

Codeforces Round 957 (Div. 3)

2024-07-17 19:00:03 1084

原创 Codeforces Round #956 (Div. 2) and ByteRace 2024

Codeforces Round #956 (Div. 2) and ByteRace 2024

2024-07-15 17:55:50 1466

原创 Codeforces Round 953 (Div. 2)

Codeforces Round 953 (Div. 2)

2024-07-06 23:53:24 1442

原创 EPIC Institute of Technology Round Summer 2024 (Div. 1 + Div. 2)

EPIC Institute of Technology Round Summer 2024 (Div. 1 + Div. 2)

2024-07-03 15:32:04 1707

原创 CR 952 (Div. 4)

Codeforces Round 952 (Div. 4)

2024-07-01 02:46:20 893

原创 CR 954 (Div. 3)

Codeforces Round 954 (Div. 3)

2024-06-27 22:07:17 1104

原创 CR 951 (Div. 2)

Codeforces Round 951 (Div. 2)A. Guess the MaximumB. XOR SequencesC. Earning on BetsD. Fixing a Binary StringE. Manhattan TriangleF. Kostyanych's Theorem

2024-06-12 22:20:02 1474

原创 CR 950 (Div. 3)

Codeforces Round 950 (Div. 3)A. Problem GeneratorB. Choosing CubesC. Sofia and the Lost OperationsD. GCD-sequenceE. Permutation of Rows and ColumnsF1. Field Division (easy version)F2. Field Division (hard version)G. Yasya and the Mysterious Tree

2024-06-05 22:52:26 1181

原创 CR 949 (Div. 2)

Codeforces Round 949 (Div. 2)

2024-06-02 20:39:18 707 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除