水题日记
写在前面
口嗨区 精神续作。
我是一个模板。
# 2020.
2020. 题
[]()
[详细做法 + 代码]()
2020. 爆零小技巧
2020. 日记
通知
此文从 12.3 停更,原因见此文:「杂文」雨色的魔法(一)。
2020.12.3
2020.12.2 日记
md 高强度考试考傻了。
轮到我啦!
比赛地址:THP3 考前信心赛。
赛后题解:「THP3考前信心赛」题解。
2020.12.2
2020.12.2 题
P2943 [USACO09MAR]Cleaning Up G
删去无用决策。
2020.12.2 日记
教 练 上 网 买 题 被 骗
买 到 一 套 傻 逼 题
身为一套教练买题被骗的 noip 全真模拟题,它有如下优点:
windows,大模拟,大样例水,开 c++11 和 O2,题意争议,题面写错,...
得到了非常完美的做题体验!
2020.12.1
2020.12.1 日记
水到十二月啦!
2020.11.30
2020.11.30 日记
想玩 DDLC。
2020.11.29
2020.11.29 日记
高强度测试 Day7,详情见考试解题报告。
我会告诉你这一连串的文字是我写了个脚本生成的吗
2020.11.28
2020.11.28 日记
高强度测试 Day6,详情见考试解题报告。
2020.11.27
2020.11.27 日记
高强度测试 Day5,详情见考试解题报告。
2020.11.26
2020.11.26 日记
高强度测试 Day4,详情见考试解题报告。
想写一篇关于秘封的结合自身感受的杂谈。
感觉秘封折射出的东西太丰富了,都能引发读者在不止政治,文化,社会方面的深思。
老鬼把这些都寄托在两个女大学生的冒险上,不得不说老鬼还是老鬼。
结合自身经历,发现想写的东西太多了,但又不知道从何入手,需要好好地组织一下语言。
在此之前可能需要阅读一些奇怪的参考资料,比如《毛选》之类的= =
在写完上面一段话的时候发现这句话是近十几天来日记中首次出现的非 OI 相关语段。
好可怜啊= =
2020.11.25
2020.11.25 日记
高强度测试 Day3,详情见考试解题报告。
2020.11.24
2020.11.24 日记
高强度测试 Day2,详情见考试解题报告。
2020.11.23
2020.11.23 日记
高强度测试 Day1,详情见考试解题报告。
2020.11.22
2020.11.22 日记
TouHouProbelm2 绝赞准备完毕!
2020.11.21
2020.11.21 题
2020.11.21 爆零小技巧
- 区间操作先考虑差分。
- 注意观察数据范围,结合数据范围和题目性质,能够得到一些结论。
- 多测直接 memset 清空数组的全部必定 TLE,应用 for 清空,用到多少清空多少。
- 注意链表的边界情况,注意特判。
2020.11.21 日记
养生修仙 CF!
2020.11.20
2020.11.20 日记
准备课件挺忙的所以咕咕咕了~
单独授课好草啊 = =
2020.11.16~11.19
2020.11.16~11.19 题
Codeforces Round #676 (Div. 2)
2020.11.16~11.19 日记
准备课件挺忙的所以咕咕咕了~
三个 csp 爆零的孩子回去期中考试了。
惨惨。
2020.11.15
2020.11.15 题
2020.11.15 爆零小技巧
- 暴力能 A 就别耍聪明。
- 注意平均数的下取整。
- 强制在线题 RE 可能是因为某次答案变成负数导致,不要一 RE 就看数组大小。
2020.11.15 日记
做了一回外包公司,从 Kersen 那里揽了个活。
代价是能让二区的也跟着听课,针不戳。
2020.11.14
2020.11.14 题
P5518 [MtOI2019]幽灵乐团 / 莫比乌斯反演基础练习题
RT,基础反演练习题。
没有任何高级的技巧。
2020.11.14 爆零小技巧
- 逆元能预处理就预处理。
- 注意对指数取模,模数为 \(\varphi(p)\)。
- 筛法预处理时一定注意初始值的设定。
2020.11.14 日记
这是在上面那道题的题解中写到的:
建议在阅读题解之前欣赏这首由普莉兹姆利巴姐妹带来的的合奏。
Q:你参加省选吗?不是说好了考完 NOIP 就退吗。
A:对啊。
Q:那你学这玩意干啥?
A:对啊,我学这玩意干啥?
写这题的动机?
一是一直很喜欢的曲子,感觉快退役了,圆个梦。
二是写了很多题解了,之前认为最优秀的是 NOI嘉年华的题解,但被叉掉之后不知道该怎么改了,于是删了。其他的都太不精致,都不满意。想在退役之前留下一篇最优秀的题解,于是瞅准了这题。
再有,就是想争口气吧。
最后扯一句,题面里将露娜萨(Lunasa)误写成了 (Lusana)。
2020.11.13
2020.11.13 题
多点对最短距离。用二进制分组 + 多源最短路实现。
2020.11.13 爆零小技巧
注意二进制分组的对象,应对关键点的编号分组。
有向图,注意正反各跑一遍。
2020.11.13 日记
开始写幽灵乐团了。
2020.11.12
2020.11.12 题
哈希,暴力,贪心 。
2020.11.12 爆零小技巧
- \(1\sim n\) 的阶乘的逆元可以 \(O(\log n + n)\) 地处理出来。
- 少一点分割线 markdown 会更好看。
- 只要是单点修改的信息都可以进行可持久化。
2020.11.12 日记
本来想自豪的发表:800AC祭:[MtOI2019]幽灵乐团。
但被你谷的延迟更新干掉了,所以800AC是这道:CF1436E。
想要一直爱着某物的话,以妖怪之生来说太长了;
想要实现一切梦想的话,以人类之生来说太短了。
写 P3333 [ZJOI2013]丽洁体 的动机只是这两句话= =
感觉最近有点空虚,之后可能会更一篇秘封相关随笔。
2020.11.11
2020.11.11 题
2020.11.11 爆零小技巧
注意 DP 的重复更新。
2020.11.11 日记
草 div3 原来是普及水平,2h 除了切题切了个爽啥也没学到(
DP 从入土到土门 90k 啦!
CSP2020-S 的阅读量一路飞升= =
有点酷。
以及今天是个好日子,哈哈。
2020.11.10
2020.11.10 题
2020.11.10 爆零小技巧
-
结论大胆猜。
-
注意大小比较时是否下取整。
-
对于一类有部分限制的问题,可先考虑没有限制的情况,观察有限制的情况能否通过无限制情况拓展/合并而来。
-
求组合数时,若询问次数较多,可以预处理阶乘的逆元降低复杂度。
-
在 SAM 上求某串的所有子串可以边跑前缀边查询。
因为连续前缀对应状态在 SAM 上也是连续的,把串扔到 SAM 上跑 即得所有前缀对应状态。
前缀对应状态到 parent 树根的链上 包含该前缀所有后缀,可以包含所有子串信息。
2020.11.10 日记
只想睡觉。
2020.11.9
2020.11.9 题
2020.11.9 爆零小技巧
\(2^{64}−1\) 可以通过 ull
溢出得到。
2020.11.9 日记
Luogu 自测 30 + 90 + 30 + 20。
垃圾到飞升的分数。看了 SD noip 裙的成绩,估计能在傻逼 SD 混个擦线 1=。
有点缓过来了。
noip 还是要打的。
先来补题了。
2020.11.8
2020.11.8 日记
今天是农历廿四,我不知道什么 11.8。
在家颓废,不想上学。
刷了一车的漫画。
什么都没变。
一样自大地写完了A的暴力。
一样死磕B的正解。
一样在最后30min发现A的算法实际上是假的。
一样在最后30min企图自救失败。
一样醉生梦死地走出考场。
一样在车上看旁边的学长打绀珠传。
一样看见cdx笔记本没电然后听歌。
一年过去一点没变没有还学你🐎呢。
2020.11.7
2020.11.7 题
nmsl.
- 爆零小技巧
nm$l.
- 日记
nm5l.
2020.11.6
2020.11.6 题
写了一顿板子。
模板库。
2020.11.6 爆零小技巧
2020.11.6 日记
来到了日照。
车上看了圣地巡游系列:Link。
2020.11.5
2020.11.5 题
写了一顿板子。
模板库。
2020.11.5 爆零小技巧
2020.11.5 日记
这图太草了,所以来水一下。
2020.10.29~11.4
2020.10.29~11.4 题
2020.10.29~11.4 日记
打了一车的比赛。
同时给学弟们搬了套题,自认为题面比较有意思。
2020.10.26~10.28
2020.10.26~10.28 题
2020.10.26~10.28 日记
准备了讲课。
草。
2020.10.24
2020.10.24 题
2020.10.24 爆零小技巧
写错变量。
最长不降写成最长不升。
初始化写挂。
手贱把变量名写成常数。
果然放假就应该放假啊= =
放假打个屁比赛。
2020.10.24 日记
返校啦 /kel
2020.10.24
2020.10.24 日记
回家啦 /kel
好像 holo 出了什么牛逼大事(
话说 holo 出事和 nayuta 有什么关系(
2020.10.21
2020.10.21 题
状压 DP + 隐藏的数据范围。
对质因数分解后的质数集合状压,特判大于 \(\sqrt n\) 的至多一个质因子。
2020.10.21 爆零小技巧
预处理某些信息后,可降低整体复杂度。
2020.10.21 日记
上文化课上了个爽。
感觉自己又行了。
2020.10.18
2020.10.18 题
CF703D Mishka and Interesting sum
异或的自反性,扫描线去除删除操作。
换根 DP 入门。
简单的换根 DP。
2020.10.18 爆零小技巧
注意修改区间的开闭情况。
2020.10.18 日记
推歌:Twilight
听到它的第一刻就有了为它画手书的想法。
Luogu 月赛打自闭了跑去打 CF。
CF 打一半跑去吃饭。
爽死了= =
一区居然停课了/jk
三区好像也马上要停/jk
唯独二区就剩我一个了,怕 whk 抛弃我不敢停。
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊真 nm 孤独。
2020.10.17
2020.10.17 题
双串最长公共子串问题。
学习了因多次驱魔导致常数巨大的二分答案 + hash 的实现方式。
2020.10.17 爆零小技巧
取模的时耗巨大,注意删去无用的取模。
如:((a%p - b*c%p)%p+p)%p
改成 ((a%p - b*c%p)+p)%p
。
因为可以保证前半部分 \(+p\) 后为正。
2020.10.17 日记
晚上整个学校都停电啦!
羌胡!全 没 啦!
刚计划好直接回宿舍睡觉,10min 后又来电了。
2020.10.14
2020.10.14 题
权值较小时的区间修改,区间数颜色。
状压维护权值的出现情况,取或维护。
二分答案枚举最大的最小值,枚举元素贪心地修改。
若枚举的元素小于枚举值,则进行多次以它为左端点的修改,使其等于枚举值。
最后检查需要的次数是否小于等于要求。
需要支持区间修改,可使用线段树,复杂度 \(O(n\log ^2 n)\)。
但不需要,修改的对象都 \(\ge\) 枚举值,直接差分修改,枚举时还原即可。
复杂度 \(O(n\log n)\)。
2020.10.14 爆零小技巧
区间修改不写懒标记,傻逼!
2020.10.14 日记
太抑郁了。
2020.10.10
2020.10.10 题
组合数 + 优先队列。
用到了乘法大小比较 转成 log 大小比较的小技巧。
2020.10.10 爆零小技巧
注意 priority_queue
奇怪的重载优先级。
2020.10.10 日记
双十协定纪念日。
下午滚回去上文化课啦/cy
2020.10.9
2020.10.9 题
二分答案 + 可持久化线段树。
强制加单调性,对二分的值建可持久化线段树。
莫队,bitset。
启发了带权 bitset 的写法。
询问分开处理以减小空间复杂度。
2020.10.9 爆零小技巧
注意可持久化线段树的实际含义。
root
的下标是 二分值,因此构建 root[i]
时,修改对象为 \(aj<i\) 的位置。
用自带容器前务必详细阅读说明文档:C++ 参考手册。
-
std::sort(first, last)
,以不降序排序范围[first, last)
中的元素。不保证维持相等元素的顺序。
注意是 左闭右开 区间,因此才有通常的std::sort(a+1, a+n+1)
的写法。 -
bitset
的下标从1
开始,越界后会抛出异常信息。 -
关于 bitset 的成员函数
.reset()
.reset()
:将bitset
全部置零。
.reset(pos)
:仅将位置pos
置零,相当于.set(pos, false)
。
2020.10.9 日记
晚上三区的哥哥们来了。
舍友遭遇了信仰危机,现在想成为资本家,如何制止.jpg
2020.10.8
2020.10.8 题
qbxt 考试题,无链接。
图论,哈密尔顿通路,状压 DP。
这个模型转化很有意思。
2020.10.8 爆零小技巧
赋 初 值
2020.10.8 日记
今天开始我要自己上厕所
恋恋阿燐你们不要小看我
觉觉大人教我上厕所秘诀
我等不及了我要...
你妈的,东方为什么变成了这样子
加上了神仙群友的 qq/se
2020.10.1 ~ 2020.10.7
2020.10.1 ~ 2020.10.7 题
去 qbxt 玩了。
见 考试解题报告-清北学堂。
密码多试几个质数就试出来了。
2020.10.1 ~ 2020.10.7 爆零小技巧
更小的数组,更多的挂分。
2020.10.1 ~ 2020.10.7 日记
qbxt 好玩!
建了个后门群,面了一堆神仙。
感谢群里神仙送的 v2xxx /se/se/se
2020.9.26
2020.9.26 日记
上午 nj 突然让我搬套题给 63 级做做。
花了一下午一晚上找题爬题面造数据写题解。
想整点数据结构娱乐一下身心的,只能明天力。
2020.9.23
2020.9.23 题
二分答案 + 树上差分。
以前觉得很神的题现在看来成了傻逼题。
2020.9.23 爆零小技巧
轻微卡常,注意实现。
2020.9.23 日记
草中午在宿舍打铃之后出厕所被发现了。
截止写下这句话的时候处分还没到。
但 是 我 已 经 完 了
2020.9.20
2020.9.20 题
网格图同行同列边权相等 时的 最小生成树。
考察对 Kruscal 本质的理解。
带限制的最短路,使用了 Dijkstra 实现。
一开始YY了一种错误的拓扑排序。
2020.9.20 爆零小技巧
多造数据卡自己一定没有错。
2020.9.20 日记
在给学弟讲完课之后看完了《终将》
感觉最后的高潮部分有点...不够劲吧,没有展示演剧后灯子的改变。
虽然两个女主的心理变化已经非常明了了,但还是想看直球是怎么回事= =
可能是大圆满结局看多了吧= =
总之是神作!仲谷老师 txdy!
滚回去上文化课啦!
2020.9.19
2020.9.19 题
二分答案 + 主席树上二分。
或者整体二分并用树状数组维护。
打了月赛,AB 一眼题没啥好说的,两道期望没做出来,自闭了。
2020.9.19 爆零小技巧
两个 int
变量相乘后,得到的值寄存时仍为 int
型。
注意可能会乘爆,所有乘法都应转化为 long long
后再进行。
2020.9.19 日记
经过文化课的洗礼又回来啦!
不得不说文化课是调整状态的最好方法/se/se/se
楼下 Lkp 讲课,下课的时候跑下去颓。
给学弟放《终将》的舞台剧,草这舞台剧纯度太高了,放在国内早被毙掉了。
这时三区唯一的女生上来看了看,风轻云淡,说自己喜欢BL,让我们看看《关于我被最想拥抱的男人给威胁了》(大概是这个名?)
然后我们一帮男的就去搜,就去看了....
这人留不得,建议收容。
2020.9.15
2020.9.15 日记
滚回去上文化课了。
十一再见吧。
稍微翻了翻暑假学的东西,想起了研读 SAM 和写 \(\LaTeX\) 时的快乐时光。
啊啊果然还是喜欢这种感觉啊。
从为了考试复习的时候就开始颓了。
2020.9.14
2020.9.14 题
最短路径计数问题,dj + DP(记忆化搜索实现)。
补个考场上没写出来的坑。
DP + 贪心 + 单调队列优化。
2020.9.14 爆零小技巧
注意单调队列首尾指针的写法。
2020.9.14 日记
感觉好颓啊。
发现自己学 OI 只是喜欢学东西的快感。
自己的心态已经不适合竞赛这两个字了。
大概打完今年的noip就afo了= =
要是有学上的话估计也不会体验acm了。
要上文化课啦!
2020.9.13
2020.9.13 题
2020.9.13 日记
讲课大概比较成功?
以及课件没写完啊啊啊啊啊啊
2020.9.12
2020.9.12 日记
讲课可能比较成功(存疑)
该念的倒是念完了。
另外终于回家了!
偶然翻到了文件夹底的图1。
突然就和最近补的番看对了眼。
没想到确实是一个作者,仲谷老师原来画了这么长时间车万/jk
2020.9.11
2020.9.11 题
2020.9.11 日记
写课件好麻烦啊啊啊啊
感谢老年复建选手 @happy forever 的鼎力相助!
2020.9.10
2020.9.10 题
莫比乌斯反演
莫比乌斯反演
莫比乌斯反演 + 杜教筛
2020.9.10 爆零小技巧
处理时会出现求平方的运算,需要特别注意取模问题,ll 都会爆,被坑惨了。
在预处理前缀和的这个地方:
sum[i] = (sum[i - 1] + 1ll * i * i % kMod * (mu[i] + kMod)) % kMod; //仅令 mu + kMod
注意先对平方取模,在乘上 \(\mu\),否则就会爆掉。
以及可以仅令 mu+mod。
以及这个地方:
int g(int n_, int m_) {
return (1ll * n_ * (n_ + 1ll) / 2ll % kMod) * (1ll * m_ * (m_ + 1ll) / 2ll % kMod) % kMod;
}
平方计算,注意随时取模。
注意筛法中出现平方因子的处理。
2020.9.10 日记
写课件好麻烦
2020.9.9
2020.9.9 题
莫比乌斯反演
2020.9.9 爆零小技巧
注意线性筛时的初始化。
2020.9.9 日记
感谢 oi-wiki 贡献的今日懵点:
\[\sum_{i=1}^n\sum_{j=1}^ni\cdot j\cdot \gcd(i,j)\bmod p\\ n\leq10^{10},5\times10^8\leq p\leq1.1\times10^9,\text{p 是质数} \]解法二
转化一下,可以将式子写成
\[\sum_{d=1}^{n}\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{d}\rfloor}ijd\cdot[\gcd(i,j)=1]\]
?这推导给我看懵了,\(d\) 怎么只剩一个了啊
?哪来的 \(m\) 啊
开了个 pr 修了一下。
2020.9.8
2020.9.8 题
经典值域分块的 Kth \(O(1)∼O(n\sqrt{n})\) 解法。
简单记录了一下平衡结合。
经典题,虚树 + DP。
2020.9.8 爆零小技巧
注意极大值的设置。
2020.9.8 日记
上午表彰大会,校长日常吹竞赛。
写了很多,想了想最后还是删掉了。
2020.9.7
2020.9.7 题
整理了一下。
「hackerrank」Range Modular Queries
分块 + 莫队,预处理与平衡结合。
分治。
2020.9.7 爆零小技巧
注意莫队的初始左右端点:左 1 右 0。
2020.9.7 日记
下午 6 点到晚上 9 点机房一直断网= =
水 群 不 能
2020.9.6
2020.9.6 题
2020.9.6 爆零小技巧
注意边界。
写完代码后建议通读全文来 debug。
2020.9.6 日记
终于轮到我来讲课啦!
生嚼大青叶,好吃!
2020.9.5
2020.9.5 题
树链剖分。
树链剖分 + 可持久化线段树。
2020.9.5 爆零小技巧
2020.9.5 日记
新博客背景真的好看
尤其是在背景里的莲梅丽出现在半透明的代码块后面的时候。
射射兄弟!
试了试 L,哭了。
Voyage1969 和 1970傻傻分不清。
感谢辨识度超高的竹取送分!
以及秘封/se
神必 Lkp 想⑧我裤,隔着裤子把口袋里的饭卡扳断了。
不愧是 Lkp!轻易就做到了我们做不到的事!
2020.9.4
2020.9.4 题
线段树分治 + 可撤销扩展域并查集维护独立集。
2020.9.4 爆零小技巧
做题前要看题。
注意扩展域并查集对空间的需求。
2020.9.4 日记
只打到辉针城= = 之后的除了心之在处和寄偶像这种大火的根本听不出来。
要抽时间重启打飞机了吗= =
生活不易,只能听听天之前的 Esay 难度弹幕作过活的样子。
删除了水题日记里的大量题目分析。
机房电脑杀手被终结了!
2020.9.3
2020.9.3 题
\(O(n\sqrt{n}\log n)\) 分块预处理 + 主席树维护,或者 \(O(n\sqrt{n})\) 预处理之王。
莫队套分块,复杂度分析。
2020.9.3 爆零小技巧
2020.9.3 日记
一周年纪念!
中午梦到我有一个序列,要求支持区间修改和区间查询。
然后我把区间修改拆成 \(O(n^2)\) 个单点修改,扔到整体二分里,然后 T 了。
然后就吓醒了。
这都是些啥
2020.9.2
2020.9.2 题
01 背包,可用 bitset 进行实现。
数据范围这么大,递推式都给了,矩阵加速数列直接莽。
2020.9.2 爆零小技巧
咕咕
2020.9.2 日记
有些东西我没办法和你解释。
因为我只是一个 €€£。
2020.9.1
2020.9.1 题
套路题,容斥变为三维偏序形式,Cdq 分治。
静态区间第 k 小值,经典问题经典解法。
主席树 或 整体二分。
单点修改,查询区间第 k 小值。
树状数组套主席树 或 整体二分。
静态子矩阵第 k 小值,整体二分 套 二维树状数组。
离散化 + 排序 + 树状数组,或者 CDQ 往上莽。
Cdq 能过 5e5 挺玄学的。
想到一种主席树在线做法。
整体二分 + 线段树,咕咕。
2020.9.1 爆零小技巧
不可这样写,因为 posy_ 会被赋值,导致循环无法进行。
int Sum(int posx_, int posy_) {
int ret = 0;
for (; posx_; posx_ -= lowbit(posx_)) {
for (; posy_; posy_ -= lowbit(posy_)) {
if (ti[posx_][posy_] < time) {
t[posx_][posy_] = 0;
ti[posx_][posy_] = time;
}
ret += t[posx_][posy_];
}
}
return ret;
}
2020.9.1 日记
漫无止境的八月结束啦!
CCF 又在搞什么牛逼操作= =
观望一波
2020.8.31
2020.8.31 题
在线 Kruscal 重构树 + 主席树。
离线并查集 +1线段树合并。
Kruscal 重构树 + 最短路 + Dfs。
spfa 死了。
曼哈顿距离套路 + Cdq 分治 + 卡常。
2020.8.31 爆零小技巧
关于 spfa,他____了。
卡常小技巧:Cdq 中对区间的排序写成归并不要写 sort。
2020.8.31 日记
刚开《终将》的坑 zsf 就用这样的背景,草草草这个 b 一定是在视奸我。
2020.8.30
2020.8.30 题
经典 Cdq 分治模板
离线反转操作 Cdq 分治。
二维 LIS 问题,Cdq 分治维护 DP。
2020.8.30 爆零小技巧
Cdq 每次处理横跨 \(mid\) 的点对时,都将数据结构清空。
卡常小技巧:懒惰删除,Cdq 中对区间的排序写成归并不写 sort。
2020.8.30 日记
草草草一觉睡到 7:20,玩不了了,抓紧跑路。
忍不住了,在机房看冻鳗,新奇体验,绝妙享受。
见到某人会有生理上的不适,希望人有事。
2020.8.29
放 假 啦
2020.8.29 日记
快乐假期!太长啦!
从昨天看漫画看到今天 2:00,见了不少有趣的新作。
一觉睡到 8:00,爽死了。
开了个新坑《终将成为你》,纯度略高,倒是很让人 dokidoki。
从 epic 嫖到 Hitman,有点好玩,太让人上头了。
真正的杀手:多样刺杀,潜入伪装,被发现就会死。
虚假的刺客:ACT + TPS,区域内全是敌军,被发现就扔烟硬钢。
刺客信条:潜行 × RPG √
下午找学长联机,看见他 steam 在线:
您的好友正在游玩:妖语
立马提醒他注意身体。
早睡了,明早起来 Hitman。
2020.8.28
回 家 啦
2020.8.28 日记
高三高二全都上午 11 点走掉了,我回到宿舍的时候大爷已经锁门跑路啦!
没地方去只能去机房睡。
想在窗边睡,站在窗边,无意中扫到到一区某学妹的眼神,感觉不对劲。
似乎非法越境了,跑路了跑路了,拿着 C++ Primer 去走廊里了。
感想:震惊!一男学生休息铃后不回宿舍,竟来到漆黑的走廊里...
下午起来感觉全身血液都集中在右半边,昏昏沉沉地要起飞了。
下午五点回家啦!
什么嘛,打个军备还是挺稳的嘛。
2020.8.27
2020.8.27 题
2020.8.27 爆零小技巧
数据范围允许暴力,一定别写奇怪的算法。
2020.8.27 日记
现在是下午 16:25。
zsf 穿着过膝袜在上课。
Zero or Infinity
很有 ** 和 ** 的感觉。
2020.8.26
2020.8.26 题
线段树扫描线 + 主席树。
2020.8.26 爆零小技巧
一个奇怪的边界问题。对于 \(x\in \Z\):
\(x\le \dfrac{a + b}{2}\iff x\le \left\lfloor\dfrac{a+b}{2}\right\rfloor\)
\(x> \dfrac{a+b}{2}\iff x\ge \left\lfloor\dfrac{a+b}{2}\right\rfloor+1\)
2020.8.26 日记
女装到啦!
zsf 好色啊
2020.8.25
2020.8.25 题
树状数组上倍增。
2020.8.25 爆零小技巧
为什么线段树是四倍常数?
考虑一次区间查询,遍历过的线段树的节点 组成的查询树。
查询区间会被查询的区间分为 \(\log n\) 个完整的,节点维护的区间,在树上体现为 \(\log n\) 个叶节点。
由线段树完美二叉树的结构,则查询树也会有 \(4\log n\) 级别的节点数。
每次查询都会遍历 \(4\log n\) 个节点,故为 \(4\) 倍常数。
2020.8.25 日记
为什么做题这么少?
写解析太麻烦啦!!!!
2020.8.24
2020.8.24 题
裸的线段树合并 + 并查集,取对数,加法代替代替乘法。
线段树维护单调栈,奇怪的 \(O(\log n)\) 复杂度的 pushup 写法。
离线并查集 + 线段树合并。
或 LCT 维护子树信息。
线段树扫描线 + 单调栈。
2020.8.24 爆零小技巧
注意线段树 Insert
的写法。
如果在分裂区间之前就更新了大小,则不需要 Pushup
。
自己先把代码全都 rush 出来再集中调试的写法早就觉得有问题了了。
*必须要改变了*
*Luckyblock 上升到了新的高度*
2020.8.24 日记
神奈子自机/se
晚上继续探险/se
2020.8.23
2020.8.23 题
广义 SAM + 线段树合并。
2020.8.23 爆零小技巧
傻逼错误,线段树合并 lson
写成 rson
。
2020.8.23 日记
今晚 zsf 听见远处操场上,好像有奇怪的声音。
怀疑是高一新生在看电影。
zsf:探险?
我:探险!
提上水杯两人直接开冲,中途 lzx 加入了队伍。
三个傻逼摸黑往操场开冲,到了操场南门往里一瞅,发现一片漆黑。
我,大失所望,边往里走着,边开始大声嘴臭。
突然发现墙..上..为什么...有一片光.....??!!!
銧里还透着蠢蠢欲动的人的模样....!!!!!
完了!!!!
回头,捂嘴,对视。
惊叹,戏谑,恐惧。
转身,拔腿,迈步。
我第一个冲出操场,zsf,lzx 紧跟其后。
闻讯赶来的涛队看到三个 sb 狂奔草出了声。
跑到操场旁边的水池子旁边回头发现没有追兵。
太刺激了,意犹未尽,再冒把险。
四人绕道操场背面,决定从北门再进入操场。
北门的灯照的我们心里发慌,这时候突然冒出个老师我们必死。
zsf:老师问:你们是几区的啊?
Lb:2,zsf:3,涛队:1
老师:????????????
到北门了,放慢脚步,躲到观众席侧面,向操场内部窥视,
越 共 代 表 大 会
屁也没看到,灯光下的我们格外显眼,保命要紧跑路了。
回来的路上听到电影的声音:
我是中国人!
*落水的声音
*噼里啪啦的声音
*男人女人的喊叫声
???他们在播什么
2020.8.22
2020.8.22 题
树上差分 + 线段树合并。
SAM + 线段树合并维护 endpos。
2020.8.22 爆零小技巧
SAM 分裂状态时,注意状态信息的继承。
2020.8.22 日记
超东方 Station!
恶 臭 马 里 奥
2020.8.21
2020.8.21 题
SP8093 JZPGYZ - Sevenk Love Oimaster
代码无
感觉这题广义 SAM 做法挺假的,仅口述思路。
算法一
按正常方式建广义 SAM,建完后枚举模式串。
对于每一个模式串,找到它所有前缀对应的状态,暴力跳 link,祖先的 size + 1,并标记该祖先已被到达。
直到遇到一个被标记的节点停止。
即可求得每个状态对应的串 是多少模式串的子串。
询问时先跑出查询串对应状态,直接输出即可。
不存在对应状态答案为 0。
具体可参考 神仙的代码。
复杂度比较假,但是能过,讨论区有人给出了可能正确的 hack。
算法二
题解 SP8093 【JZPGYZ - Sevenk Love Oimaster】 - ywy_c_asm
写一个假的广义 SAM:插入函数与普通 SAM 相同,每次仅将 last 设为 1。
建立新节点时,标记新节点对应哪个模式串。
询问时先跑出查询串对应状态,答案即对应状态子树中不同标记个数。
转化为数颜色问题,树状数组 / 莫队即可。
由于 SAM 写假了,可保证每个状态仅对应一个模式串。
如果写真了,每个状态可能对应多个模式串,这样就做不了了。
二分答案,SA + 主席树 或 SAM + 线段树合并。
2020.8.21 爆零小技巧
查询区间 \(l>r\)。
2020.8.21 日记
群友去全T了啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
我也想去啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
傻逼高中啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
我也全 T 了/cy
2020.8.20
2020.8.20 题
发现 任意 选择两个节点构成的所有字符串,等价于选择两个 叶节点 构成的字符串的 所有子串。
广义 SAM + 暴力枚举。
P4081 [USACO17DEC]Standing Out from the Herd P
广义 SAM + parent 树上 DP。
2020.8.20 爆零小技巧
前缀和 没有加 前缀的和。
你的前缀和既不前,也不缀,更不和。
2020.8.20 日记
睡了一觉感觉心态回来了。
Luckyblock 的今日运势:
2020.8.19
2020.8.19 题
变为多串最长公共子串问题,SAM 维护。
SP1812 LCS2 - Longest Common Substring II
多串最长公共子串问题,SAM 维护。
建议阅读 【学习笔记】字符串—广义后缀自动机 - 辰星凌
广义 SAM 模板。
2020.8.19 爆零小技巧
有个傻逼这样写:
for (; p && ch[p][c_] == q; p = link[p]) ch[p][c_] = newq;
len[newq] = len[p] + 1;
我们恭喜他 WA 了 1 页。太厉害了!
2020.8.19 日记
今天是 noi day2。
看着神仙们在 LA 群里晒牌子。
热闹是他们的。
我,什么都没有
最近心态有点崩,颓頽颓,一天三道板题,其余时间不是水群就是睡觉。
感觉调不回来了,挺难受的。
zlq 交错程序挂了。
zbq 遇上羟基挂了。
wxy 这么强还是挂了。
glc 这么銧还是挂了。
只能感叹命运无常了。
畅想一下我会以什么傻逼方式挂掉
我自奶一波初赛退役/cy
2020.8.18
2020.8.18 题
最小表示法模板,或者 SA,SAM 水过去。
SP1811 LCS - Longest Common Substring
详细做法 + 代码
双串最长公共子串,使用了 SA 实现。
SA + 并查集,或者后缀树上 DP。
实际上SA + 并查集就是在模拟后缀树上 DP。
2020.8.18 爆零小技巧
\(\log\) 函数贼 jier 慢,建议预处理 \(\log_2\) 函数。
2020.8.18 日记
女装到了,很有那味。
就等接头人回来了(
2020.8.17
2020.8.17 题
SAM 模板题,考察对 SAM 构建过程的理解。
SA做法,\(\operatorname{lcp}\) 单调性 + 数据结构维护。
或者 广义 SAM + parent 树上 DP。
SA + 单调栈维护 lcp 单调性。
或者后缀树 DP。
2020.8.17 爆零小技巧
函数无 return,爆零两行泪
边界玄学怎么办?判断正确性可靠对拍实现。
线段树不一定只开 4 倍空间,当 \(n\) 到达 \(5\times 10^5\) 级别一定要小心。
2020.8.17 日记
kero kero kero kero~
今天是风神录发行13周年纪念日,转发这条信息,你就能向守矢神社传达信仰,让诹访子继续存在,我试过,是假的,还会因为和交大校友撞日期而-1s,但今天真的是风神录发行13周年纪念日。
过膝袜到啦!
吐槽一波 博客园的 [toc],标题行重复跳转就会爆炸。
2020.8.16
2020.8.16 题
SP8747 NSUBSTR2 - Substrings II
没有写代码,以下口胡现场:
出现次数 = 所在状态的 parent 树子树和。
静态问题可直接 dfs。动态问题考虑新加入字符的影响。
一个点只对根 -> 该点路径上节点的子树和 有贡献。
考虑 SAM Insert 时的分类讨论,发现要求支持下列操作:
- 分裂已有节点,相当于将一条边拆成 两条边一个节点。
- 建立一个新节点,指向已有的节点。
将 根-> 新节点路径 权值 + 1。
强制在线,不可线段树,使用 LCT 维护。
强 \(\hearts\) 制 \(\hearts\) 在 \(\hearts\) 线,林 \(\hearts\) 克 \(\hearts\) 卡 \(\hearts\) 特。
无 \(\hearts\) 机 \(\hearts\) 结 \(\hearts\) 合,建 \(\hearts\) 议 \(\hearts\) 击 \(\hearts\) 毙。
而莲子则是超统一物理学。最近在做弦论方面的研究,还顺利吗?
———— 《梦违科学世纪》永夜の報い ~ Imperishable Night
SAM 的性质 + 预处理 + dfs。
2020.8.16 爆零小技巧
结构体自带 TLE debuff!
2020.8.16 日记
全群就我不能参加 NOI
今晚大冒险翻车了草草草
晚上和 SD 群友讨论 dua 郎话题。
神仙群友居然打印本子藏在被子里半夜手冲
是我纯度不够了
2020.8.15
2020.8.15 题
SA 板子背诵检查。
SP705 SUBST1 - New Distinct Substrings
SAM 板子背诵检查。
SAM 板子背诵检查。
2020.8.15 日记
你圈两件大事:
惨 咩 惨。
FELT 有缘再见。
感谢陪伴,后会有期。
写在最后
你居然能翻到最后
是有多闲,快去干正事。