自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 解题报告:luogu P2423 [HEOI2012]朋友圈【最大团转最大点独立集(匈牙利算法+时间戳优化)】

图的最大团:”任意两点之间都有一条边相连“的子图被称为无向图的团,点数最多的团为图的最大团 朋友圈中任意两个点之间都有关系,既是图中的团。 答案就是图中的最大团。 我们如果把B国的人分成奇数和偶数两类,就会发现奇数和偶数这两部分都是一个团 而且这两部分之间有一些连边 很像二分图是吧,就只是左右两边...

2020-07-31 23:00:58 88 0

原创 解题报告:线性规划与网络流24题

目录A.luogu P2756 飞行员配对方案问题 【提高+/省选- 】B.luoguP2762 太空飞行计划问题【省选/NOI- 】 *【题解】网络流24题 24/24 线性规划与网络流24题 解题报告 [线性规划与网络流24题] 网络流常见模型 问题编号 问题名称 问题模型 转化模型...

2020-07-31 20:55:39 183 0

原创 模板 - 二分图(包含全套常用定理性质)

整理的算法模板合集: ACM模板 目录染色法增广路的性质一些二分图的概念和定理二分图最大匹配匈牙利算法二分图匹配模型的两个要素二分图最小点覆盖的一个要素DAG的最小路径点覆盖DAG的最小可重复路径点覆盖最小可重复路径点覆盖模板 二分图: 如果一张无向图 (V,E)(V,E)(V,E)存在点集A,...

2020-07-31 20:46:32 97 0

原创 解题报告:AcWing 1165. 单词环(01分数规划、hash、经验优化)

本题的关键在于: 建图 01分数规划 本题的数据过大,如果直接spfa判断会TLE,因此我们使用经验优化,就是如果所有的点入队的次数过多,比如大于100000,那么我们直接认为它是存在正环的。(免去TLE,但是这个不一定对) 建图 做一个对偶 主要是除了两端的两个字母有用以外,字符串中间的...

2020-07-31 18:09:01 67 0

原创 【图论专题】拓扑排序

拓扑排序 给定一张有向无环图,若一个序列A满足图中的任意一条边(x,y)x都在y的前面呢么序列A就是图的拓扑排序 实际上拓扑排序就是满足所有的边x指向y,x一定在y的前面。这样按照拓扑排序递推,就可以满足每一个状态都没有循环依赖 −>->−> 没有后效性−>->−&...

2020-07-31 17:56:56 90 2

原创 解题报告:NOIP2013 车站分级(拓扑序递推求解差分约束、建图优化O(n+m)) 超详细讲解

本题是2013年NOIP普及组的压轴题 差分约束裸题。 计算当前线路中最小的级别(比较始发站和终点站)。 整条线路中所有大于这个级别的都必须停靠 所有未停靠的站点的级别一定小于这个级别 也就是说所有未停靠的即为级别低,记为A 所有停靠的站点级别一定比A的高,记作B 得到公式B≥A+1B ≥ A ...

2020-07-31 17:53:26 91 0

原创 模板 - 拓扑排序

拓扑排序 给定一张有向无环图,若一个序列A满足图中的任意一条边(x,y)x都在y的前面呢么序列A就是图的拓扑排序 实际上拓扑排序就是满足所有的边x指向y,x一定在y的前面。这样按照拓扑排序递推,就可以满足每一个状态都没有循环依赖 −>->−> 没有后效性−>->−&...

2020-07-31 12:30:53 78 0

原创 【图论专题】二分图

同样放一些yxc老师的讲课笔记 A、AcWing 257. 关押罪犯 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namesp...

2020-07-30 21:35:38 125 0

原创 【图论专题】无向图的双连通分量

A、AcWing 395. 冗余路径 结论:变成边双连通分量所需要新建的边数 无向图 连多少条边使得整个无向图变成任意两个点之间都有两条完全不相同的路径。 结论1:任意两个点之间都有两条完全不相同的路径 =>=>=> 没有割边 =>=>=> 边双连通图 结论...

2020-07-29 23:24:18 141 0

原创 蓝桥杯C++ AB组辅导课

今天在AcWing闲逛白嫖到了yxc老师的蓝桥杯C++ AB组辅导课的题单,正好快要蓝桥杯了,我准备每天花半个小时刷5道这个题单里的水题,练一练,不然到时候我各种花里胡哨的算法学了一堆,水题切不动就gg了。 一共86道水题,每天5道半个月水完吧 这是蓝桥杯C++ AB组辅导课的链接感兴趣的可以报个...

2020-07-29 23:23:23 199 2

原创 模板 - 无向图的连通性

整理的算法模板合集: ACM模板 目录tarjan算法求无向图的桥、边双连通分量并缩点tarjan算法求无向图的割点、点双连通分量并缩点结论:变成边双连通分量所需要新建的边数 tarjan算法求无向图的桥、边双连通分量并缩点 // tarjan算法求无向图的桥、边双连通分量并缩点 #includ...

2020-07-29 17:50:28 83 0

原创 【图论专题】欧拉路径和欧拉回路

优化 有向图用一条边删一条边 无向图,用一条边,删一条边,对边也要标记 #include<iostream> #include<cmath> #include<algorithm> using namespace std; const int N = 5...

2020-07-29 12:22:49 82 0

原创 模板 - 有向图的连通性

整理的算法模板合集: ACM模板 一般用到tarjan算法的题目步骤都非常相似: tarjan算法 缩点,建图 按照拓扑序递推(这里缩点以后就已经是逆拓扑序了)/ 循环遍历新图求解答案。 上一道我认为非常经典的有向图tarjan算法模板例题,包含了: 有向图的tarjan模板 去重缩点模板...

2020-07-29 08:56:55 105 0

原创 【动态规划专题】最长上升子序列模型

A、AcWing 895. 最长上升子序列(模板) 给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。 今天的最长上升子序列模型的基础 这里是一个O(n2)O(n^ 2)O(n2)的做法。可以用二分优化成O(nlogn)O(nlogn)O(nlogn) #include <...

2020-07-28 21:02:12 67 0

原创 【图论专题】有向图的强连通分量

AcWing 1174. 受欢迎的牛 #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #include<vector> using n...

2020-07-27 22:42:41 83 0

原创 解题报告:luogu P2272 [ZJOI2007]最大半连通子图(tarjan缩点、递推DP、hash、set判重)

AcWing 1175. 最大半连通子图(tarjan缩点 + DP + hash) 这时yxc上课时讲解的截图。 一般用到tarjan算法的题目步骤都非常相似: tarjan算法 缩点,建图(这里要判重) 按照拓扑序递推(这里缩点以后逆向就已经是拓扑序了)/ 循环遍历新图求解答案。 导出...

2020-07-27 22:18:03 45 0

原创 【动态规划专题】数字三角形模型

题目 算法 AcWing 1015. 摘花生 简单线性DP、数字三角形模型 AcWing 1018. 最低通行费 数字三角形模型 AcWing 1027. 方格取数 DP AcWing 275. 传纸条 DP 闫氏DP分析法 从集合的角度思考DP问题 从最基础的例题开始分析...

2020-07-26 21:07:18 80 0

原创 Codeforces Round #621题解

A、 Cow and HaybalesCow\ and\ HaybalesCow and Haybales 贪心模拟题。 #include<iostream> #include<iomanip> using namespace st...

2020-07-24 21:26:33 54 0

原创 解题报告:CF1307D Cow and Fields(最短路、最优解不等式化简)

CF1307D Cow and Fields 整张无向图的边权为1。 首先求出 1,n1,n1,n 两个点的单源最短路径。这 kkk 个特殊点中,我们令第 aaa 个特殊点到 111 的距离为 xax_axa​,到 nnn 的距离为yay_aya​。设答案是连接 a,ba,ba,b 两点。 我...

2020-07-24 19:24:44 73 0

原创 模板 - 基础数论

目录试除法判定质数试除法分解质因数朴素筛法求素数线性筛法求素数试除法求所有约数约数个数和约数之和欧几里得算法求欧拉函数筛法求欧拉函数快速幂扩展欧几里得算法高斯消元递归法求组合数通过预处理逆元的方式求组合数Lucas定理分解质因数法求组合数卡特兰数NIM游戏SG函数 试除法判定质数 bool is_...

2020-07-24 11:03:34 104 0

原创 字符串哈希

字符串哈希 核心思想:将字符串看成P进制数,P的经验值是131或13331,取这两个值的冲突概率低 小技巧:取模的数用2^64,这样直接用unsigned long long存储,溢出的结果就是取模的结果 typedef unsigned long long ULL; ULL h[N], p[N]...

2020-07-24 10:37:38 96 0

原创 KMP算法

KMP // s[]是长文本,p[]是模式串,n是s的长度,m是p的长度 /*求模式串的Next数组:*/ for (int i = 2, j = 0; i <= m; i ++ ) { while (j && p[i] != p[j + 1]) j = ne[j];...

2020-07-24 10:36:32 122 0

原创 Trie树

Trie树 int son[N][26], cnt[N], idx; // 0号点既是根节点,又是空节点 // son[][]存储树中每个节点的子节点 // cnt[]存储以每个节点结尾的单词数量 // 插入一个字符串 void insert(char *str) { int p = 0...

2020-07-24 10:35:27 69 0

原创 模板 - C++ STL

C++ STL vector, 变长数组,倍增的思想 size() 返回元素个数 empty() 返回是否为空 clear() 清空 front()/back() push_back()/pop_back() begin()/end() ...

2020-07-24 10:32:09 124 0

原创 模板 -基础数据结构

目录单链表双链表栈循环队列单调栈单调队列KMPTrie树并查集堆一般哈希字符串哈希 单链表 // head存储链表头,e[]存储节点的值,ne[]存储节点的next指针,idx表示当前用到了哪个节点 int head, e[N], ne[N], idx; // 初始化 void init() {...

2020-07-24 10:25:27 86 0

原创 模板 - 基础算法

整理的算法模板合集: ACM模板 快速排序 void quick_sort(int q[], int l, int r) { if (l >= r) return; int i = l - 1, j = r + 1, x = q[l + r >> 1]; ...

2020-07-24 09:20:09 100 0

原创 解题报告:AcWing 352. 闇の連鎖(树上差分、方案统计)

https://www.acwing.com/problem/content/354/ 在没有附加边的情况下,我们发现这是一颗树,那么再添加条附加边(x,y)后,会造成(x,y)之间产生一个环 如果我们第一步截断了(x,y)之间的一条路,那么我们第二次只能截掉(x,y)之间的附加边,才能使其不连...

2020-07-23 23:55:13 84 0

原创 模板 - LCA最近公共祖先(倍增法、Tarjan、树上差分、LCA优化的次小生成树)

注意LCA可以是自己 一、LCA的在线倍增算法 /*给定一棵包含 n个节点的有根无向树,有 m个询问,每个询问 给出了一对节点的编号 x和 y,询问 x与 y的祖孙关系。 注意要先算t,这里使用bfs防止爆栈,使用手写循环队列效率更高 */ const int N = 50007, M = ...

2020-07-23 18:05:21 80 0

原创 解题报告:luogu P4180 [BJWC2010]严格次小生成树(次小生成树、倍增LCA优化、O(mlogn) )

P4180 [BJWC2010]严格次小生成树 次小生成树有两种,一种是不严格次小生成树,也就是可以数值上等于最小生成树,一种是严格次小生成树,是权值严格大于最小生成树,两种求法大同小异。 方法2在严格次小生成树和不严格次小生成树都成立,而方法1只在严格次小生成树中成立 对于任意一颗最小生成树...

2020-07-23 17:49:20 53 0

原创 【网络流24题】I、 方格取数问题(二分图的最大独立集/最小割)

I、 方格取数问题(二分图的最大独立集/最小割) 【问题分析】 二分图点权最大独立集,转化为最小割模型,从而用最大流解决。 【建模方法】 首先把棋盘黑白染色,使相邻格子颜色不同,所有黑色格子看做二分图X集合中顶点,白色格子看做Y集合顶点,建立超级源点S超级汇点T。 1、从S向X集合中每个顶点连接...

2020-07-22 23:25:43 87 0

原创 Codeforces Round #643 (Div. 2)题解

A Sequence with DigitsSequence\ with\ DigitsSequence with Digits

2020-07-22 18:45:48 69 0

原创 【图论专题】差分约束系统

差分约束系统详解及专题训练

2020-07-22 17:41:59 91 0

原创 模板 - 判断负环(超时高效优化技巧)、01分数规划

模板 - 判断负环(超时高效优化技巧)、01分数规划

2020-07-22 15:46:51 111 0

原创 【常用技巧精选】尺取法

尺取法是一种线性算法。记(l,r)(l,r)(l,r)为一个序列内以l为起点的最短合法区间,如果有rrr随l的增大而增大的话,我们就可以使用尺取法。具体的做法就是不断的枚举lll,同时求出rrr。因为rrr随lll增大而增大,所以rrr只有nnn次变化的机会,所以时间复杂度为O(n)O(n)O(n...

2020-07-20 22:12:23 58 0

原创 0x42.数据结构进阶 - 树状数组

目录一、树状数组与逆序对A、luogu P1908 逆序对(模板题)B、AcWing 241. 楼兰图腾树状数组的拓展应用1.区间加,求单点值A、AcWing 242. 一个简单的整数问题2.区间加,区间求和AcWing 244. 谜一样的牛 声明: 本系列博客是《算法竞赛进阶指南》+《算法竞...

2020-07-20 22:06:33 68 0

原创 【图论专题】负环与01分数规划

我们一般使用方法2,这里有两个需要注意的点: 将所有点入队 这里是假象有一个虚拟源点,虚拟源点与所有点连接权值为0的边,我们将虚拟源点入队,那么第一轮while就是会将所有的结点入队,因此我们直接将所有点入队,就省去了建虚拟源点这一步。 将所有的dist[i] = 0; 实际上这里所有点的距离都...

2020-07-20 16:03:42 73 0

原创 【图论专题】最小生成树的扩展应用

最小生成树的扩展应用 能用kruskal打死不用prim kruskal是要把所有的边都遍历一遍 图论中的超级源点就比较常用,要时刻想到它 题目列表: 题目 算法 AcWing 1146. 新的开始 超级源点的应用 AcWing 1145. 北极通讯网络 贪心 AcWing...

2020-07-19 23:36:46 78 0

转载 《挑战程序设计竞赛(第2版)》习题册攻略

本项目来源于GitHub 链接: 项目GitHub链接 1 前言项目为《挑战程序设计竞赛(第2版)》习题册攻略,已完结。可配合书籍或笔记,系统学习算法。题量:约200道,代码注释内含详解。难度:总体高于Leetcode,部分接近ACM。1.1 题库来源Google Code Jam(GCJ)Pek...

2020-07-19 10:24:48 122 0

原创 【图论专题】最小生成树及其简单应用

题目列表: 题目 算法 AcWing 1140. 最短网络 prim模板 AcWing 1141. 局域网 kruskal模板 AcWing 1142. 繁忙的都市 瓶颈MST(最大边权最小的生成树) AcWing 1143. 联络员 确定边最小生成树 AcWing...

2020-07-18 21:37:04 120 0

原创 ACM/OI卡常技巧总结(clock大法好)

NO.10: 特殊运算优化: 取模优化: inline int inc(int x,int v,int mod){x+=v;return x>=mod?x-mod:x;}//代替取模+ inline int dec(int x,int v,int mod){x-=v;return x<...

2020-07-18 20:33:01 582 0