- 博客(130)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 目录
一些学习笔记/做题记录/杂文。2022.7 之前的东西没有放进来,因为普及组算法能写得漏洞百出自己都看不下去。学习笔记加 * 表示内容不完善。这种一般是历史遗留博客,计划逐步重构。字符串ACAM 学习笔记 | 附 YbtOJ 全部题解 ACAM 基础,简单优化及大量例题回文自动机(PAM) 详解 PAM 的定义与构造后缀自动机 (SAM) 的构造及应用 SAM 详解与各种应用*...
2023-10-13 11:25:00
40
原创 WC 2024
故事很可笑,可笑到在 WC 正式结束时才勉强整理好自己乱七八糟的心情。游记大概还是要写一点的吧。Day 1 (1.29)PKUWC 打得中规中矩。虽然考场降智,也有不少分没调出来,但对比一下自己的垃圾水平至少还能看。感觉太早进学校没啥用,上午在酒店睡大觉。下午没什么事就去报到了。发现室友和同学都没来。突然认识到不能社恐!于是做足心理准备前往楼下寝室依次进行一个 QQ 的加。最后还是...
2024-02-03 20:01:00
475
原创 2023-2024 杂题乱补
新坑。只收录题解。P7215 [JOISC2020] 首都Tags: 贪心,点分治深刻地认识到自己根本没学会点分治。考虑朴素的暴力怎么做:枚举一个点作为根,考虑求出令这个点的颜色全部连通所需要的最少合并次数。维护一个队列,每次将队首的父亲塞进队列,如果这使得队列里出现了一个新颜色,则将这个颜色的所有点塞进队列。记录过程中访问过的颜色个数,单次复杂度线性,总复杂度 \(\mathcal{O...
2024-01-02 18:06:00
950
原创 2022-2023 杂题乱补
上个赛季没补的题,可能当时确实是看不懂题解在说些什么。不知道这个赛季有没有取得了一点进步呢。wind_whisper 集训 (2023.1) (76+0)/80HL 集训 (2023.3) (23+5)/43CF1451F Nullify The MatrixTags: *2700, constructive algorithms, games.先丢结论:先手必败,当且仅当每个斜线上...
2023-12-26 17:31:00
890
原创 AtCoder Regular Contest 169 (ARC169)
怎么有人 ARC A 卡了半天的?A. Please Sign考虑 \(i\) 位置上的数,下次它被加到 \(P_i\),再下次被加到 \(P_{P_i}\),因为这个序列有性质 \(P_i<i\),这样加若干轮一定会到达 \(1\)。令所有的 \(i\) 向 \(P_i\) 连边,则这是一棵以 \(1\) 为根的树。设 \(f_i=\sum\limits_{j=1}^n [dep...
2023-12-11 07:19:00
1015
原创 [Tricks] 记各类欧拉回路问题
以前从来没见过除了板子以外的题,但最近总是做题见到欧拉回路,然后一样的 trick 每次都想不到。怎么一点举一反三的能力都没有的?板子有向图的欧拉回路dfs,当前弧优化。 Codestack<int> q;void dfs(int u){ for(int i=head[u];i;i=head[u]) { head[u]=e[i].nx...
2023-11-29 21:49:00
1114
原创 CodeTON Round 7 Div. 1 + 2 (CF1896)
终于把 agc 交了。A. Jagged Swaps模拟即可。B. AB Flipping显然全是 \(\texttt{B}\) 的前缀和全是 \(\texttt{A}\) 的后缀都动不了。答案是最后一个 \(\texttt{B}\) 的位置减第一个 \(\texttt{A}\) 的位置。WA 了一发,真服了 /oh。C. Matching Arrays先把 \(a,b\) 分别...
2023-11-28 16:56:00
844
原创 AGC 020~039 记录
看到最后面题解写了半篇是正常现象。AGC020D. Min Max RepetitionTags: binary search.要令连续的相同字符个数的最大值最小,可以直接贪心将 A 和 B 尽可能分开,得出答案 \(k=\lfloor\frac{A+B}{\min(A,B)+1}\rfloor\)。接下来要在这个基础上构造字典序最小的答案。我们显然希望 A 尽量靠前,直到超出限制时...
2023-11-21 17:12:00
42
原创 AGC 020~025 记录
AGC020D. Min Max RepetitionTags: binary search.要令连续的相同字符个数的最大值最小,可以直接贪心将 A 和 B 尽可能分开,得出答案 \(k=\lfloor\frac{A+B}{\min(A,B)+1}\rfloor\)。接下来要在这个基础上构造字典序最小的答案。我们显然希望 A 尽量靠前,直到超出限制时再用 B 分开,即靠前部分的答案形如...
2023-11-21 17:12:00
26
原创 NOIP 2023 游记
人生第一次 NOIP。\(\text{Day 1 = 2023.11.18}\).Day -?CSP 考烂了之后心态貌似反而正常了一点,也不知道是好事还是坏事。比如怎么会有人心安理得地在这写游记不去复习呢?Day -4感冒了。上一次比较严重的感冒还是 NOI 的 Day 1.5,奇奇怪怪的巧合总是令人感叹。Day -2感觉“NOIP 还有挺久”一瞬间变成了只剩两天,大概是这几天一...
2023-11-16 16:23:00
106
原创 [Luogu NOIP 2023 模拟] Solution
这篇 blog 在我的博客后台躺了好几天了,只不过今天才记起来发。种树 (plant)首先看到因数个数,想到在质因数分解后的序列上考虑问题。进一步观察,每个不同质因子的贡献是独立的。也就是说,我们单独考虑某一个质因子对答案的贡献,是这样的问题:给长度为 \(n\) 的序列 \(a\) 和一个数 \(w\),每次操作你可以选择一个 \(i\),令 \(a_i\gets a_i+1\),可...
2023-11-12 14:36:00
53
原创 杂项·降维技巧
有过量的题和比赛要补。Tricks双指针(不删除双指针)二分(wqs 二分),倍增分治(归并,二维分治,对操作序列分治,决策单调性优化 dp,CDQ,线段树分治,猫树分治)扫描线 & 二维扫描线(莫队)补完题要填的科技坑:wqs 二分,吉司机线段树二分与倍增CF1548B Integers Have Friends不删除双指针板子,但是孤陋寡闻的樱雪喵第一次听说这个...
2023-11-06 20:57:00
40
原创 Codeforces Round 906 Div. 1 (CF1889)
貌似现在发周六的 CF 题解已经失去了时效性,不过问题不大。A. Qingshan Loves Strings 2Description定义一个长度为 \(k\) 的 \(01\) 串 \(s\) 是好的,当且仅当 \(\forall i\in [1,k],s_i\neq s_{k-i+1}\)。现给你一个串,每次操作你可以在任意位置插入一对 \(01\)。请构造操作方案使串变成好的,或...
2023-10-31 21:03:00
136
原创 Atcoder Beginner Contest 326 (ABC326)
不知道为什么拖到现在,我是摆怪。A. 2UP3DOWN模拟,略。B. 326-like Numbers模拟,略。C. Peak双指针板子。D. ABC Puzzle基础 dfs。但是赛时不知道为什么觉得状态数不会很少,于是写了一个巨大复杂的状压。这里粗略算算有效状态数:仅考虑每行的限制,有 \(\binom{5}{3}=10\) 种选择填数位置的方法。又因为第一个数填什么是固...
2023-10-30 13:02:00
120
原创 广义后缀自动机(广义 SAM)学习笔记
开 CF 开到了一道广义 SAM,决定来学一学。发现网上确实充斥着各种各样的伪广义 SAM,也看到了前人反复修改假板子的过程,所以试着来整理一下这堆奇奇怪怪的问题。当然本文的代码也不保证百分百正确,有误请指出(?前置知识后缀自动机 (SAM) 的构造及应用其实想写在一起的,但因为太长就把这两篇文章拆开了。本文所述的「上文」若无法在本文中找到,则均指代该博客。概述广义 SAM 用于解...
2023-10-26 19:21:00
303
原创 Pinely Round 2 (Div. 1 + Div. 2) (CF1863)
本来开了某场远古 Div 1,然后学了一堆前置知识至今仍然不会 E。换一场写来得及吗?A. Channel模拟,略。B. Split SortDescription给你一个长度为 \(n\) 的排列。每次操作你可以选择一个数 \(x\),然后类似于快速排序地把小于 \(x\) 和大于等于 \(x\) 的分成两个序列,把它们拼在一起。求最小操作次数使排列有序。Solution发现...
2023-10-26 19:01:00
111
原创 VK Cup 2016 - Round 1 (CF639)
A. Bear and Displayed FriendsDiv2 的题,不写。B. Bear and Forgotten Tree 3这种东西怎么评蓝的?Description给定 \(n,d,h\),构造一棵有 \(n\) 个点,直径为 \(d\),高度为 \(h\) 的树。\(n\le 10^5\)。Solution首先 \(d>2h\) 是无解的,\(d=h=1\)...
2023-10-24 21:02:00
39
原创 IOI2020 国家集训队作业 Part 1
日期不对,但要保证顺序正确方便查找少了啥题。计算几何和实在不会的题没写。9.20CF504E Misha and LCP on Tree*3000 二分,hash,树剖CF505E Mr. Kitayuta vs. Bamboos*2900 二分,堆,时间倒流9.21CF506E Mr. Kitayuta's Gift*3000 矩阵乘法,DP,自动机,字符串你管这叫 *30...
2023-10-23 19:31:00
86
原创 Codeforces Round 905 Div 1 (CF1887)
A1. Dances (Easy version)把 \(a,b\) 序列都从小到大排序,\(a\) 贪心删大的,\(b\) 贪心删小的,二分答案并 \(O(n)\) \(\text{check}\)。Code```cppconst int N=1e5+5;int T,n,m;int a[N],b[N];il bool check(int mid){ for(int i...
2023-10-23 09:28:00
193
原创 CSP 2023 游记
省流:把 #define int long long 写在快读下面,找到答案了不 break。Day -1手速大赛很有趣,但有人不认识 Aigony 我不说是谁。Day 0睡大觉,给小朋友讲考场注意事项。晚上试图向学妹传教 vscode,但被反向传教了一顿 code::blocks。怎么回事呢(做出一副努力学习的样子,但是我也很想玩森林冰火人。Day 1(12:40)上午睡大觉...
2023-10-21 22:12:00
39
原创 Atcoder Regular Contest 167
卡 B 下大分了。A. Toasts for Breakfast Party发现题意是让方差尽可能小,就是让 \(A\) 里的值尽可能接近。所以从小到大排个序,把 \(A_{N,\dots,N-M+1}\) 依次放进 \(1,2,\dots,M\),再把 \(A_{N-M,\dots,1}\) 依次放进 \(M,M-1,\dots,2M-N+1\) 就赢了。B. Product of ...
2023-10-16 20:00:00
151
原创 NOI Linux 食用指北
写这篇 blog 的原因是某个小朋友要考 CSP 了还不会用 linux,怎么回事呢。单击图片即可放大。前置- linux 虚拟机的安装在官网 / 其他地方下载 VMware。在 noi 官网 下载 NOI linux 的 .iso 文件。(可能系统会把这玩意识别成压缩包,但不要闲得没事把它解压了。)在 VMware 选“新建虚拟机”,类型选“推荐”。点“浏览”把刚刚...
2023-10-14 23:03:00
456
1
原创 动态规划的状态设计 | bot 讲课の补题
sto james1badcreeper orz.好厉害的题,但是怎么有人补了三天才补完呢?CF1810G The Maximum Prefix线性 dp,怎么有 bot 说题目难度在 *2400~*2800 之间结果开场就是 *3200 啊 /youl尝试直接正着做,发现要记 \(f_{i,j,k}\) 表示前 \(i\) 个数,最大前缀和是 \(j\),当前前缀和是 \(k\) 的答...
2023-10-12 16:37:00
81
原创 Codeforces Round 902 Div 1 (CF 1876)
A. Helmets in Night Light按花费 sort 一下,\(b<p\) 就让他用 \(b\) 的花费告诉别人,剩下的人一开始用 \(p\) 的花费告诉即可。B. Effects of Anti Pimples发现一个数会被所有它的因数贡献,\(O(n\sqrt{n})\) 随便算一算,式子略。C. AutosynthesisSolution 1想到了建图但没...
2023-10-10 14:25:00
219
原创 Atcoder Regular Contest 166
只打了半场。A. Replace C or Swap AB首先如果存在某个 \(i\),使得 \(Y_i\) 是 C 且 \(X_i\) 不是,那么显然是不合法的,可以直接判掉。那么除去上述情况 \(Y\) 中为字符 C 的位置 \(X\) 也只能是 C。它们把字符串分成了若干段,可以把每一段分开单独考虑。对于只含 A/B 的一段 \(Y\),我们可以根据个数得出 \(X\) 在这段中应...
2023-10-09 17:49:00
127
原创 Atcoder Regular Contest 165
B. Sliding Window Sort 2被题目名里的滑动窗口误导了,于是卡 B 40min /fnDescription给定长度为 \(n\) 的排列 \(P\) 和一个整数 \(K\)。一次操作定义为选择一个长度为 \(K\) 的区间,对原排列的这段区间升序排序,其余位置不变。你要执行操作恰好一次,求能得到的字典序最大的排列。\(1\le K \le N\le 2\times...
2023-10-09 15:36:00
141
原创 同余最短路学习笔记
重构于 2023.10.5。破防了,怎么什么都记不住什么都要重学。概述同余最短路一般用于解决形如「给定一些整数 \(a_i\),每个数可以多次使用,问是否能相加得到 \(n\)」的问题。通常 \(n\) 是一个很大的数,不能直接使用完全背包等方法。这类问题可以利用同余的性质来压缩状态,以优化复杂度。基本做法接下来以一道题目为例,说明同余最短路的具体做法。P2371 [国家集训队]墨...
2023-10-05 17:43:00
119
原创 回文自动机(PAM) 详解
PAM 是一种高效存储字符串中所有回文子串的自动机,用于解决回文串相关问题。虽然代码稍微长一点,但写起来比 manacher 容易很多,毕竟没有加了一堆字符再转回原串的若干上取整下取整问题。前置知识无。或许需要一些自动机相关的理论基础。结构 & 定义状态我们用 PAM 上的一个节点来表示一个回文子串,作为 PAM 的一个状态。但回文串分奇偶两种,像 manacher 一样在每...
2023-10-01 20:53:00
469
原创 ACAM 学习笔记 | 附 YbtOJ 全部题解
怎么有人现在才学 ACAM 呢。好像比 SAM 简单挺多啊,也不记得当时是哪里看不懂。AC 自动机(✔) 自动 AC 机(✘)概述ACAM(Aho–Corasick Automaton),是用来解决多模式串匹配的字符串算法。它的结构是个 DAG,其中点表示状态,边表示转移。这一点上各种自动机都是相同的。具体来说,可以感性理解为在 Trie 树上构建失配指针跑 KMP。前置知识Tr...
2023-09-27 19:14:00
179
原创 dfs 序 O(nlogn)-O(1) 求 LCA
学点分树,发现不会询问复杂度 \(O(1)\) 的 LCA。于是被迫递归式学习。我们设 \(dfn_i\) 表示点 \(i\) 在 dfs 过程中第几个被访问到,把点按访问到的顺序排序得到的序列叫 dfs 序。考虑 \(u\) 和 \(v\) 在 dfs 序上的位置之间的这一段序列有什么。设 \(lca(u,v)=x,dfn_u<dfn_v\)。那么 \(x\) 到 \(v\) 路径...
2023-09-20 19:25:00
133
原创 CSP 初赛复习
想要做一些不需要思考也算不得摆烂的事,但发现很难找到符合上述要求的学习内容。突然想到还剩两天就 CSP 初赛了。虽然在 LN 想过不了初赛纯属搞笑,但为了不让自己的分数太难看还是简单复习一下。没有顺序,根据自己考了几年初赛的记忆想到啥写啥。Linux 命令大纲里的“常用命令”范围究竟是什么啊?NOI 笔试题库,这里的都背了就差不多了。pwd 显示工作路径cd 切换工作目录ls 查看文...
2023-09-14 00:29:00
53
原创 Splay 详细图解 & 轻量级代码实现
学 LCT 发现有点记不得 Splay 怎么写,又实在不知道这篇博客当时写了些什么东西(分段粘代码?),决定推倒重写。好像高一学弟也在学平衡树,但相信大家都比樱雪喵强,都能一遍学会!/kel写在前面整合了一些各种地方看到的 corner case,和我学的时候想不明白题解却说显然的东西。Splay 的实现方式多种多样,这里只讲我比较喜欢的写法。部分参考 Cx330 神仙的板子,拜谢。不...
2023-09-10 20:15:00
310
原创 CSP2023 模拟赛总结合集
9.9 ZZFLS感觉 ucup 剩下的题完全不可做了啊!先对比赛时间来写总结对队友道歉(鞠躬.jpg开题策略很失败。开场 30min 得的分数是一整场考试的分数。开题,发现 T1 是水题,30min 大样例过了就没管。看 T2,发现是字符串。感觉翻转操作很怪,一时想不到好的转化。决定先看看后面。推了一会感觉 T3 可以直接分段贪心。这不赶紧写。过不去大样例,发现假了。似乎要一起考虑...
2023-09-09 22:11:00
37
原创 FWT & FMT(位运算卷积)学习笔记
它们两个的全名叫 快速沃尔什变换(FWT) 和 快速莫比乌斯变换(FMT),用来在 \(O(n\log n)\) 时间复杂度内求位运算卷积。因为 FMT 能解决的问题是 FWT 的子集,所以这里不讲 FMT,把它拎出来是想说它们两个的区别。参考资料:偶耶XJX-浅谈快速沃尔什变换(FWT)&快速莫比乌斯变换(FMT)、zcxxn-多项式学习笔记。位运算卷积位运算卷积,就是求下面这...
2023-09-08 16:19:00
85
原创 后缀自动机 (SAM) 的构造及应用
cnblogs 怎么又炸了。为什么又可爱又强的 xxn 去年 9 月就会的科技樱雪喵现在还不会呢 /kel。感觉 SAM 的教程已经被前人写烂了啊。那就写点个人学习过程中对 SAM 的理解。参考资料:KesdiaelKen-史上最通俗的后缀自动机详解、OI wiki-后缀自动机 (SAM)。概述SAM 是一个能够在线性时间内解决很多字符串问题的算法。比如对于 \(s=\mathtt{...
2023-09-06 21:05:00
170
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人