03 2022 档案
摘要:割点 定义 在一个无向图(强连通分量仅针对有向图)中,若去掉一个点 u,该图有两点不连通,则称点 u 为割点。 点连通度:该连通(且无向)图的割点数量。 求割点 对于点 u: u 为一个根节点(把图看成树):因为他是根节点,所以它的入度为 0,那么只要它有两个及以上的孩子,那么它就是割点(去掉它了会
阅读全文
摘要:强连通分量 更好阅读体验请点击此链接 先推荐几道综合性较强的题目,详细题解我写了,持续更新中。 我的博客:整理 + 题解 P2341 [USACO03FALL][HAOI2006]受欢迎的牛 G P2272 [ZJOI2007]最大半连通子图 强连通分量( strongly connected co
阅读全文
摘要:缩点 说说缩点,缩点可以算是强连通分量的一个小小的进阶。 本博客也可以理解为 P3387 【模板】缩点 - 传送门 的题解。 正片开始—— 一 题目分析 求有向图上的一条路径,使该路径上点的权值和最大,输出和的最大值(可以重复经过点和边)。 啊当然了,你可以使用 spfa 或者 dijkstra 以
阅读全文
摘要:怎么突然从图论跳到字符串了。。。 UPDATE 2021 - 08 - 23 KMP 练习题: P3435 [POI2006]OKR-Periods of Words P3426 [POI2005]SZA-Template 题解博客:P3426 [POI2005]SZA-Template (题记)
阅读全文
摘要:一、网络最大流 (从学委那里拿的动图。) Dinic \text{Dinic} Dinic /* Dinic 在残留网络和 EK 的基础上,按照源点到该点的距离进行分层,每次寻找增广路径时, 保证每次都是从一层走到下一层。每次可寻找到多条增广路径 */ #include<bits/stdc++.h>
阅读全文
摘要:定义 分块,无非就是将长为 n n n 的序列分为长度为 n \sqrt{n} n 的若干小块,以每次处理或查询时提高效率。说白了就是优雅的暴力。 块内排序 一、Problem G: [loj6278]数列分块入门 2 给出一个长为 n n n 的数列,以及 n n n 个操作,操作涉及区间加法
阅读全文
摘要:计算无权二分图的最大匹配 匈牙利算法 给定一个二分图,其左部点的个数为 n n n,右部点的个数为 m m m,边数为 e e e,求其最大匹配的边数。 左部点从 1 至 n n n 编号,右部点从 1 至 m m m 编号。 法1: 枚举每一个左部点 u u u,然后枚举该左部点连出的边,对于一个
阅读全文
摘要:前言 真不是有目的地学主席树的...(~~实在是因为它太上头了~~) 《关于我某天第二节晚修一直在看<进阶指南>可持久化数据结构这章然后学了主席树这件事》 update 2022-05-23:添加一些题型的整理。 主席树 也叫可持久化线段树、函数式线段树。其思想与可持久化 $\mathtt{Trie
阅读全文
摘要:双端队列 + pair pair 类型的变量下可以直接进行比较。 在不同 pair 的比较中,自动把 x.first 当作第一关键字,x.second 当作第二关键字。 1 定义队列 deque <pair <int, int> > q; 2 定义 pair pair <int, int> nw =
阅读全文
摘要:1、AND & 与运算 当同位都为 1 时,才为 1,否则都是 0。 1 & 1 = 1; 1 & 0 = 0; 0 & 0 = 0。 2、XOR ^ 异或运算 只有同位都不一样,才为 1,否则都是 0。 1 ^ 0 = 1; 1 ^ 1 = 0; 0 ^ 0 = 0。 3、OR | 或运算 只要同
阅读全文
摘要:前言 定义 所谓贪心选择是指应用同一规则,将原问题变为一个相似的但规模更小的子问题, 而后每一步都是当前看似最佳的选择, 且这种选择只依赖于已做出的选择,不依赖于未做出的选择。 依赖于未做出选择的,是 dp。 做题 对于贪心,当然是多刷刷题,知道这一类型的题目和做法。 在比赛考试的时候遇到贪心题目,
阅读全文
摘要:暴搜 + 毒瘤剪枝。 说说这道花了我三四天才调处来的毒瘤暴搜。 事实证明,该借鉴题解时就要借鉴题解。 不过做完这题之后确实对深搜、优化、剪枝有了更深刻的理解。 题意 给 n n n 个小木棒的长度,求他们最多能拼成的长度相同木棍的长度。 下文为了区分,把短的(用来拼的)叫做(小)木棒,长的(被拼接成
阅读全文
摘要:前言 小性质, Q W Q QWQ QWQ。 定理 n n n 的所有因子的欧拉函数的和为 n n n。 即 ∑ d ∣ n φ ( d ) = n \sum_{d|n}\varphi(d) = n d∣n∑φ(d)=n 证明 通过积性函数证明。 将所有因子的欧拉函数之和记为 σ ( n ) σ(
阅读全文
摘要:前言 终于看懂了!!!连夜丢掉卡特兰来做了两道 exLucas 的题目。 定理 作为一个没什么用的铺垫:数论 · Lucas 定理 求解 C n m % p C_n^m \%p Cnm%p(不保证 p p p 为质数)。 证明 1 先把 p p p 拆分一下: p = p 1 a 1 ∗ p 2
阅读全文
摘要:问题 已知有: { x ≡ a 1 ( m o d m 1 ) x ≡ a 2 ( m o d m 2 ) ⋯ x ≡ a k ( m o d m k ) \begin{cases}x\equiv{a_1}\pmod{m_1}\x\equiv{a_2}\pmod{m_2}\\cdots\x\e
阅读全文
摘要:前言 在 A 了 Lucas 模板之后,十几天才弄懂证明。 UPDATE 2021 - 12 - 25:学习了 exLucas 详见 数论 · exLucas 定理 定理 组合数取模 对于整数 a , b , p a,\ b,\ p a, b, p( p p p 为素数), a = ∑ i = 0
阅读全文
摘要:UPDATE 2021 - 12 - 02:添加了扩展欧拉定理。 2022 - 01 - 11:添加了欧拉反演。 扩欧拉证明,待填坑。 1 欧拉函数 φ ( n ) \varphi(n) φ(n) 表示小于等于 n n n 的数中与 n n n 互质的数的数目。 举例: φ ( 8 ) = 4 \v
阅读全文
摘要:问题 求解方程 a x + b y = c ax+by=c ax+by=c。 以下摘自一本通 1 求特解 定理 对于该方程,它等价于 a x ≡ c ( m o d b ) ax \equiv c \pmod b ax≡c(modb)。 即有整数解的充要条件就是: gcd ( a , b ) ≡
阅读全文
摘要:思路 模拟。 快读。这个就不用多说了。 判断质数。这个是用于辅助后面得到最大质因数,细节就是为了避免超时,循环上限是 sqrt (x) (头文件记得加 include<cmath> ,除非你用万能头)。 最大质因数的获取。从大到小枚举!! 不然一发 MLE 警告。 主函数没什么好说的了,最好用 pr
阅读全文
摘要:笔者没 ac ,因为没绑定没提交。但在其他 OJ 上提交 ac 了,可以确保代码正确性。 UVA1327 King’s Quest 传送门 一道强连通分量的板子题。 思路: 最终可以满足条件的女孩 既要王子喜欢又可以被娶(也就是巫师那个名单) ,这不就类似强连通分量吗?只要王子喜欢的女孩和王子在同一
阅读全文
摘要:一道字符串模拟题。 思路 输入 m 个字符串; 从第 0 位到第 n - 1 位,统计每一个字符串该位的字母,并用变量存下个数,具体操作如下: for (int i = 0; i < n; i++) { t = a = g = c = 0; for (int j = 1; j <= m; j++)
阅读全文
摘要:题目分析 一道桥的题(比模板难一点吧)。 我们要在无向图中选择一些边,使得当它们变为有向边时,该图仍能连通。 与其思考选择哪些边去改变,不如考虑哪些边不可以改。 很明显,在有向图中,如果桥变成了单向边,这幅图肯定不能连通(可结合桥的定义理解)。 那么我们只需要找出桥,也就是不能更改的边,并把他们输出
阅读全文
摘要:P2941 [USACO09FEB]Surround the Islands S 传送门 感觉其他有些题解有点简略,wtcl,一开始理解不了题意,我现在就写篇详细点点的吧。 题目分析 我们最开始输入的 n n n 条边 ( u , v ) (u,v) (u,v) 都是可以直接以 0 费用从 u 到
阅读全文
摘要:一道 01 背包的题。 题目概述 我们要从若干党中挑选几个党出来,组成一个联合内阁,使得: 内阁的党的总席位数要越多越好; 阁内党席位总数要超过(已给出的)所有党的席位总数的一半; 当其中席位数最小的党退出之后,其他阁内的党的总席位数要比总席位数的一半要少。 求解 在此题中,每一个党面临的问题只有被
阅读全文
摘要:思路 我们要先找到所有的升级序列,找出所有的包含与被包含的关系, 然后找到一条最长链,满足题目要求。 如何找到所有的包含关系? 遍历每一对盒子,对于二者,我们用 dfs 扫一遍,如果有一个盒子在一个节点输出了串,而另一个没有,那么这两者就不存在包含关系。 反之,两者就存在包含关系。我们就可以建一条有
阅读全文
摘要:前言 针对比赛学的一点点逆元,在这里记录一下其中一种方法。 当然求逆元的方法有很多种,之后学到再回来写。 —— 2021.8.24 UPDATE 2021 - 11 - 25 填坑。 添加了两种求逆元的方法 + 修改了一些写得不好(难看至极)的地方 2021 - 12 - 01 补充了欧拉定理的证明
阅读全文
摘要:思路 题目要问的,是 k k k 个物品最多能组成多少种不同的权值之和(每个数量不限)。 正着求当然很麻烦,但是反着解相对来说就简单多了。 所以我们可以将题目转化为: 求凑某个权值和最少要多少物品,如果最少个数比 k k k 要大,则这个权值和就无法凑出。 题目分析到这里,就不难看出是背包 dp 了
阅读全文
摘要:思路 1 题目给出的字符串可以是由一个子串 a 翻转而得; 而 a 也可以是由一个子串 b 翻转而得; 而 b 可以是由一个子串 c 翻转而得; …… 最终得到一个无法再翻转下去的子串 x。 而字符串本身、子串 a、子串 b、子串 c……子串 x 各自的长度就是我们要的答案。 例如:给出字符串 qw
阅读全文
摘要:题意 给定一张有 n n n 个节点, m m m 条边的无向图(可能有环或重边),对于每个节点 i i i,有 l i l_i li 和 r i r_i ri,定义在经过该节点后,只能携带于 l i l_i li 和 r i r_i ri 之间的数。 从编号为 1 的节点出发(初始时携带了
阅读全文
摘要:提供一种分类讨论的做法。 思路 对于输入的 x x x 和 y y y,会有一下三种情况: x > y x>y x>y 易得,此时 n ← x + y n \gets x+y n←x+y 是符合条件的: ( x + y ) m o d x = y = y m o d ( x + y ) (x + y
阅读全文
摘要:UVA756 Biorhythms - 传送门 思路 直接来看,它就是一个中国剩余定理(CRT)。 但与【模板】中国剩余定理(CRT) 不同的是,它已经给出了所有的模数。 在 CRT 思想的基础上,我们可以求出每一个模数对应的正整数 a a a,使得(以第二个模数为例): { a ≡ 0 ( m o
阅读全文
摘要:传送门:P3866 [TJOI2009] 战争游戏 Solution 首先考虑如何建图。 先看建源点和汇点的原因: 建源点:有若干支不同的军队需要拦截,所以要将他们所在点都与源点连接,以跑网络流。 建汇点:有若干个通向图外的可行边界点,也要将它们都与汇点连在一起,以跑网络流。 这样一来,源点的汇点的
阅读全文
摘要:本题解侧重解释 HLPP \text{HLPP} HLPP 细节部分,而对于 HLPP \text{HLPP} HLPP 的详细思路等不会过多阐述。 HLPP \text{HLPP} HLPP 思路 按照众多大佬所说的那样, HLPP \text{HLPP} HLPP 就是将水流自源点一步一步地推到
阅读全文
摘要:传送门:P3872 [TJOI2010]电影迷 以最大权闭合子图为基础,再加上一点小拓展。 本题解主要是想细讲一下最大权闭合子图。 最大权闭合子图 1. 概念 闭合子图:在原图 G G G 的闭合子图中,每一个节点,它在 G G G 中所能到达的所有节点都包含在这个子图中。 最大权闭合子图:即原图
阅读全文
摘要:这几道题都是 Tarjan 和其他算法的综合,难度较大,含金量较高,特别是第二题。 我的博客:关于 Tarjan 算法的入门博客。 传送门 - 板子题 B3609 题解 开始—— 例题一 受欢迎的牛 传送门 - P2314 受欢迎的牛 G 思路 概述: Tarjan + 缩点 DAG + 出入度 1
阅读全文
摘要:一道十分毒瘤的模拟题。代码很短,推我花了二三十分钟。 数字游戏 传送门 - 数字游戏 Description 不高兴找到了一个 N N N 行 M M M 列的矩阵。 矩阵的第一行数字为 1 1 1 , 2 2 2 , 3 3 3 ,…, M M M ; 第二行数字为 M + 1 M+1 M+1 ,
阅读全文
摘要:Description 一个连通,n 个顶点和 m 条边的无向图被给了 CRB。 一对顶点 ( u , v ) (u,v) (u,v)(u 认证机构的任务是寻找每条边的关键对。帮助他!) Input 有多个测试案例。输入的第一行包含一个整数 t,表示测试用例的数目。 对于每一个测试案例: 第一行包含
阅读全文
摘要:UPDATE 21/08/26 更改题面、转移链接等。 2021.8.10 新初一暑假测试五 链接集合 11 / 18,190 / 400。 T1 签到题,就不说了。简单的一批(题目说行末不能有空格,结果加了也 ac,就离谱)。 T2 Recording the Moolympics P2255 [
阅读全文
摘要:UPDATE 21/08/26 更改题面、转移链接等。 2021.8.12 新初一暑假测试六 链接集合 1 / 18,260 / 400。 总结 整体还可以吧,该拿的分都尽量拿了,也证明最近的训练有效 (我近来的效率是真的低),除了 T4。 排名我是真没想到 ,考试的时候看见教练对着我笑还来问候我,
阅读全文
摘要:UPDATE 21/08/26 更改题面、转移链接等。 2021.8.24 新初一暑假测试七 链接集合 4 / 18,300 / 400。 总结 谁会想到分数第一和第二分别都三个同分的。。我的第二。。。 状态不错,好好做了推了的都 AC 了 (虽然这次比赛题都是板子)。 题目概述 T1:贪心 + 模
阅读全文
摘要:2021.8.26 2021CSPJ初二初一冲刺一 链接集合 18 / 32,188 / 400。 总结 被公开处刑了,麻了。T2 T4 做的不错,T1 拖后腿。 比赛刚写完 T1 代码电脑突然不行,代码没了,这突发情况真没想到。影响到了 T1。 若 T1 AC 了就 268 了。。 写着是普及,结
阅读全文
摘要:2021.10.4 2021CSPJ初二初一冲刺七 链接集合 总结 炸了炸了。。T3 半天做了个寂寞。 对算法不熟悉。 T1:简单思维题; T2:KMP nxt 数组的运用; T3:二分 + 图,代码实现可用并查集; T4:四维树形 dp。 T1 题意 设 a 0 ← 1 a_0 \gets 1 a
阅读全文
摘要:此题算法:模拟。 题目概述 由题意可得,此题是让我们连接三种不同颜色的点, 要求同颜色的点距离大于等于 3 (每条边的距离为 1 ), 任意两个点至多连 1 条边, 问有多少种连接方案(答案需取模)。 Part 1 - 主要思路 首先, 因为:同颜色的点距离大于等于 3 , 所以我们可以得出: 显然
阅读全文
摘要:区间内三元组个数(满足 a i + a j + a k = 0 ai + aj + ak = 0 ai+aj+ak=0) (GZEZ 新初一第一次测试 第四题) 在指定范围 [ l , r ] [l, r] [l,r] 内,求满足 a i + a j + a k = 0 ai + aj + ak =
阅读全文
摘要:又是一道考试题 对一排泥土进行三种操作,使其变为目标状态,求最小花费代价。 请原谅我接下来奇怪的量词… 思路 大致方法: 很明显,求代价,就是用 dp 。但是,你会发现直接去推动态转移方程是很难的,所以,我们选择把泥土“量化”。 “量化泥土”: 我们把泥土按量进行排列,例如: 原数组是:1 2 3
阅读全文
摘要:差分数组 我们在每一次输入的时候,若 x = i x=i x=i ( x x x 为输入的数)可以直接 c o n t i n u e continue continue (因为是求最小值),若是 x ! = i x!=i x!=i ,先存下来二者中的最大以及最小,并记录差分数组。 为什么用差分数组
阅读全文
摘要:P1135 奇怪的电梯 传送门 暴搜,dfs。 普及,提高 -。 话说下一次再碰到暴搜就用 bfs 写。 细节 / bug 要开 vis 数组——判断走没走过,减少次数; 每次回溯的时候清空 vis(两种都可以,见代码); ans 初始值设成 1e7 (反正够大就行了),千万不要设 0x7f ,这个
阅读全文
摘要:区间内三元组个数(满足 a i + a j + a k = 0 ai + aj + ak = 0 ai+aj+ak=0) EG (新初一第一次测试 第四题) 在指定范围 [ l , r ] [l, r] [l,r] 内,求满足 a i + a j + a k = 0 ai + aj + ak = 0
阅读全文
摘要:线段树的除法: EG:(来源:GDEZ2021新初一第一次测试 第三题) update: 1.区间加 2.区间除 (转化为区间减。当区间内最大值除完后与最小值除完后一样时,存下除后最大值比原先要少的值,再放入 l a z y t a g lazytag lazytag 中即可 记得负数向下取整用 f
阅读全文
摘要:树链剖分 换根操作 三个操作: 修改根; 修改路径上的值; 查询以 x x x 为根的子树。 1 修改根: 用变量 r o o t root root 把它存下来即可,它主要是为操作 3 服务的。 在 d f s dfs dfs 的时候以 1 为根。 2 修改路径上的值: 基本上是常规操作,线段树存
阅读全文
摘要:洛谷博客链接 P3426 [POI2005]SZA-Template - 传送门 题意 给你一字符串,需要你制作一个印章,能用它盖出该字符串(当然不能多盖)。 求最小印章长度。 盖印章: 同一位置,一样字符可以重复盖; 同一位置,不同字符不能重复盖。 例如: 字符串为 ababbababbababa
阅读全文
摘要:2117: 摩尔庄园 从前,有一个地方叫作摩尔庄园。摩尔庄园里有 n 座房子,编号为1到n。房子与房子之间有隧道连接。由于建造者们很懒,它们只建了 n−1 条隧道,每条隧道长度为1。对于编号 i(i>1) 的房子,有一条连向编号为 ⌊ i 2 ⌋ \left\lfloor\frac{i}{2}\ri
阅读全文
摘要:P2257 YY的GCD 给定 N N N, M M M,求 1 ≤ x ≤ N 1 \leq x \leq N 1≤x≤N, 1 ≤ y ≤ M 1 \leq y \leq M 1≤y≤M 且 gcd ( x , y ) \gcd(x, y) gcd(x,y) 为质数的 ( x , y ) (
阅读全文
摘要:P4449 于神之怒加强版 给定 n , m , k n,m,k n,m,k,计算 ∑ i = 1 n ∑ j = 1 m gcd ( i , j ) k \sum_{i=1}^n \sum_{j=1}^m \gcd(i,j)^k ∑i=1n∑j=1mgcd(i,j)k 对 1 0 9 +
阅读全文
摘要:传送门:P3324 [SDOI2015]星际战争 二分 + 最大流 S o l u t i o n \mathfrak{Solution} Solution 1 不可否认,看到题面的第一反应是构造二分图,让武器在一边,机器人在另一边,武器连向自己可以攻击的机器人。 然后边的费用就是该武器灭掉这个机器
阅读全文
摘要:传送门:Problem A: 抢夺 (放不了题面。) S o l u t i o n \mathfrak{Solution} Solution 一道很像最大流的费用流。 1 第一眼看过去觉得是分层图。原因:到某个节点时车的状态(第几天)是不同的。 但数据范围明显不让你这么干。 然后就不难想到二分。
阅读全文
摘要:P5782 和平委员会 - 传送门 题目分析 2 - SAT 板子题是这样的: 给 n 个节点, m 个类似 ¬ a ∨ b \lnot a \lor b ¬a∨b (满足 a ← f a l s e a \gets false a←false 或者 b ← t r u e b \gets true
阅读全文
摘要:赛时花了两个半小时在它身上。。 考场做法,自我感觉这道题推出来以后代码实现并不难。 写篇题解纪念我 C S P 2021 J / S CSP\ 2021\ J/S CSP 2021 J/S 中唯二 100 p t s 100\ pts 100 pts 的题目(另一道是分糖果)。 思路 用样例 1 的
阅读全文
摘要:1 最大公因数 gcd n = ∏ p i t 1 i m = ∏ p i t 2 i n = \prod p_i ^ {t1_i}\ m = \prod p_i ^ {t2 ^ i} n=∏pit1i m=∏pit2i gcd ( n , m ) = ∏ p i min ( t 1
阅读全文
摘要:UPDATE 2021 - 12 - 10:补充扩展中国剩余定理 EXCRT,额外开了一篇博客写。 2021 - 12 - 21:修改了一两句话,更严谨一些。 问题概述 小奥里的韩信点兵问题: { x ≡ a 1 ( m o d m 1 ) x ≡ a 2 ( m o d m 2 ) ⋯ x ≡ a
阅读全文
摘要:问题 扩展欧几里得算法是用来在已知 ( a , b ) (a,b) (a,b) 时,求解一组 ( p , q ) (p,q) (p,q),使得 p × a + q × b = gcd ( a , b ) p \times a + q \times b = \gcd (a, b) p×a+q×b=
阅读全文
摘要:传送门:P4587 [FJOI2016]神秘数 主席树 Solution 思路其实就是一楼大佬的思路,只不过大佬写的有些内容我太弱看不懂,所以来补充一下。 1 对于区间 [ l , r ] [l,r] [l,r],将它升序排序后从左往右扫,设当前可以表示出的数为 [ 1 , x ] [1,x] [1
阅读全文
摘要:做的第一道莫队题 QwQ。 P5072 [Ynoi2015] 盼君勿忘 给定一个序列,每次查询一个区间 [ l , r ] [l,r] [l,r] 中所有子序列分别去重后的和 m o d p \bmod\ p mod p。 思路 莫队 + 手写双向链表 1 题意有点绕,但注意是“分别去重”。 那么假
阅读全文
摘要:P3704 [SDOI2017]数字表格 设 f f f 为斐波那契函数,求 ∏ i = 1 n ∏ j = 1 m f gcd ( i , j ) \prod_{i=1}^n\prod_{j=1}^mf_{\gcd(i,j)} i=1∏nj=1∏mfgcd(i,j) 推柿子: 设 n ≤
阅读全文
摘要:传送门:P2472 [SCOI2007]蜥蜴 最大网络流(建图复杂) 此题外附一个当前弧优化的运用。 除建图外,其余都是 Dinic \text{Dinic} Dinic 板子了。 石柱内部建两个点,一个入口,一个出口, 容量为其高度; 如果可以一步跳出地图,就和汇点连一条边; 源点和木桩连边,因为
阅读全文
摘要:传送门:P2891 [USACO07OPEN]Dining G 最大网络流:拆点的运用 针对题目条件,我们可有一下分析: 1. “一头奶牛只和一种饮料且只吃一种食物” 这个条件意在限定一个点的流量。 所以,就可以将代表一头奶牛的每一个节点拆分成两个节点,入点和出点。这头奶牛喜欢的所有食物连向入点,自
阅读全文
摘要:传送门:P1251 餐巾计划问题 一个餐厅在相继的 N 天里,每天需用的餐巾数不尽相同。假设第 i 天需要 ri 块餐巾(i = 1, 2, ..., N)。 餐厅可以购买新的餐巾,每块餐巾的费用为 p 分;或者把旧餐巾送到快洗部,洗一块需 m 天,其费用为 f 分;或者送到慢洗部,洗一块需 n 天
阅读全文