Loading

摘要: SP1716 GSS3 - Can you answer these queries III 线段树求最大子段和 我们考虑对于每个区间维护四个值:sum、suml、sumr、res,分别存区间和、从左端点开始的最大子段和、从右端点开始的最大子段和、这个区间的最大子段和。 sum 的维护都会,对于 s 阅读全文
posted @ 2021-04-06 21:32 Quick_Kk 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 2022.2.21 upd emacs快捷键 M-; 添加缩进并格式化的注释 M-m 移动光标到行首第一个(非空格)字符 C-k 移除(kill)一行 C-x C-w 使用其他文件名另存为文件 C-x h 全选 C-x k 关闭文件 M-% 搜索替换 C-c 复制、C-x 剪切、C-v 粘贴、C-z 阅读全文
posted @ 2021-04-06 09:24 Quick_Kk 阅读(166) 评论(2) 推荐(0) 编辑
摘要: 关于此题有一种精简的写法。 首先我们分析题面,可以发现如果最后可以达到使 \(1\) 到 \(n\) 的路径距离都相等,那么从 \(1\) 到任意一个 \(1\) 到 \(n\) 的路径上的节点的路径也都相等。所以我们设 \(dis[u]\) 为 \(1\) 到 点 \(u\) 的路径长度,\(di 阅读全文
posted @ 2021-04-05 14:50 Quick_Kk 阅读(66) 评论(1) 推荐(1) 编辑
摘要: 题解 NOIP2020 字符串匹配 感谢 @slzs [NOIP2020] 字符串匹配 先枚举单个 \(AB\) 的总长度,有了很厉害的Z函数我们就可以 \(O(1)\) 求出 \(AB\) 的个数 \(k\)。我们可以预处理出 \(S\) 串的前缀的奇偶个数和后缀的奇偶个数。然后我们再确定 \(C 阅读全文
posted @ 2021-03-31 13:22 Quick_Kk 阅读(102) 评论(1) 推荐(0) 编辑
摘要: P3376 【模板】网络最大流 首先我们都已经知道了网络的定义和各种各样的东西。 最大流就是从源点到汇点的最多能流的流量,可以类比二分图的最大匹配。考虑怎么来求她。 Dinic算法 建图没话说,一条正弧一条反弧。 void adde(int u,int v,int cap){ edges.pb({u 阅读全文
posted @ 2021-03-16 01:18 Quick_Kk 阅读(132) 评论(1) 推荐(0) 编辑
摘要: 当树也拥有了很强的控制欲…… [ZJOI2012] 灾难 支配树顾名思义,就是一棵树,这棵树上的节点的父亲对儿子起支配作用~~(家庭地位)~~,如果父节点没了,儿子节点也没了。 对于这道题,我们可以设生物 \(u\) 对 \(v\) 起支配作用,如果 \(u\) 灭绝了,那么 \(v\) 也会灭绝。 阅读全文
posted @ 2021-02-23 12:04 Quick_Kk 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 落实2 考试降智了 T1 疯狂的馒头 显而易见,对于这个馒头的有效操作只是最后一次操作,所以我们倒序枚举,用并查集维护这个馒头有没有涂色就行了。 #include<bits/stdc++.h> using namespace std; inline int read(){ int ans=0,f=1 阅读全文
posted @ 2021-02-22 09:32 Quick_Kk 阅读(74) 评论(0) 推荐(0) 编辑
摘要: [NOIP2010 提高组] 关押罪犯 考虑用并查集维护两个监狱里面的情况。首先对于 \([1,n]\) 我们表示为 \(A\) 监狱里面的情况,对于 \([n+1,2n]\) 我们表示为 \(B\) 监狱里面的情况,首先这两个监狱里面的情况是镜像的,因为你不确定也不需要确定哪个人到底去了哪个监狱, 阅读全文
posted @ 2021-02-19 17:03 Quick_Kk 阅读(63) 评论(2) 推荐(1) 编辑
摘要: 题解 [AHOI2005] 航线规划 很神的一道树剖题。 [AHOI2005] 航线规划 首先对于关键航线有一个很显然的性质: 如果存在一个环,则环上的所有点都不可能是关键航线 注意到题中给定了 无论航线如何被破坏,任意时刻任意两个星球都能够相互到达。在整个数据中,任意两个星球之间最多只可能存在一条 阅读全文
posted @ 2021-02-19 10:06 Quick_Kk 阅读(64) 评论(2) 推荐(1) 编辑
摘要: Luogu P5906 回滚莫队&不删除莫队 看题,考虑用莫队的写法来做。 我们发现,对于当前区间 \([l,r]\),我们进行删除操作时很麻烦,不能直接得到,所以我们考虑用增加替换掉删除操作。 首先对序列分块。 对于要查询的区间在一个块里的,我们可以直接暴力搞出来 int cul(int l,in 阅读全文
posted @ 2021-02-18 10:05 Quick_Kk 阅读(238) 评论(1) 推荐(1) 编辑