
图论
hrbust_wgq
当我们理解了一个东西的时候,所应该做的,是将这个东西放下去,好让更多的人明白和掌握;而不是举起来,以一种高姿态故作高深。这不是科学文化发展和传播的正道。有时候,所谓的“一言以蔽之”,不经意间,就“蔽”掉了求知者的热情和渴望,同时也就“蔽”掉了科学文化的健康传承。
把问题说清楚,尽可能让更多的人明白,是博客的宗旨。直达本质,直达底层,去术语化,用最通俗、最平易的语言和讲解方式说清“到底是什么”、“原来是这样”,是要努力的方向。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Codeforces Round #720 (Div. 2) D. Nastia Plays with a Tree
D. Nastia Plays with a Tree 题意:n个节点的树,用最少的操作次数使得每个节点的度数<=2保证最后也是一棵树。 操作: 选择一条已存在的边删掉 在任意两个节点间添加一条边 输出:最小的操作次数以及每次的删除边的节点以及加边的节点 思路:看题解没写网络流解法,那我来写一下。 首先看复杂度如果线性建边:O(n*sqrt(n)) 树是一个特殊的二分图,可以染色后保持原来的边不变且flow=1 S——左部点 flow=2. 右部点——>T flow=2. 这样跑出最大流之原创 2021-05-10 13:15:11 · 249 阅读 · 0 评论 -
可撤销并查集
可撤销并查集 一定要按秩合并优化,不能路径压缩,不然不能保存父亲节点信息。复杂度:O(log(n)) struct dsu { int pre[N],top,sz[N]; p stk[N]; void init(int n) { for(int i=1; i<=n; i++)pre[i]=i,sz[i]=1; top=0; } int find(int x) { if(x==pre[x])retur原创 2020-10-02 20:43:33 · 1655 阅读 · 0 评论 -
树上背包问题
树上背包问题引例1 引例1 金明的预算方案 题意:01背包问题,某些物品有依赖关系,但是一个物品只能依赖一个物品,最多可被两个物品依赖,问你最大价值是多少? 思路:很明显就是01背包的思路,分类讨论就好了 /* ▄███████▀▀▀▀▀▀███████▄ ░▐████▀▒▒▒▒▒▒▒▒▒▒▀██████▄ ░███▀▒▒▒ACCEPTED▒▒▒▒▀█████ ░▐██▒▒▒▒▒▒▒▒▒▒▒▒▒...原创 2020-05-06 11:31:58 · 423 阅读 · 0 评论 -
Codeforces 1340 C (01BFS)
Codeforces 1340 C (01BFS) 题意:你要从0走到n,红绿灯交替,绿灯可以随便走,红灯原创 2020-04-27 21:40:30 · 374 阅读 · 0 评论 -
Tarjan缩点解决环问题 codeforces
简介:tarjan是一种求强连通分量、双连通分量的常用算法,其拓展例如求缩点、割点、割桥以及2-SAT等都是非常实用的(tarjan orz)、 1.点我 题意:一个寝室里有n个房间和一个老鼠,老鼠一开始可能在任意一个房间,老鼠会从房间i跳到a[i]房间,问在哪些房间下陷阱可以用最小的代价抓到老鼠? 思路:建完边之后发现这个图是有环有向图,我们直接tarjan强连通分量缩点重新建图,重构出来的图必...原创 2020-02-22 20:14:46 · 377 阅读 · 2 评论 -
差分约束
具体三类模型看这篇博客:添加链接描述 写的很详细,我只给出对应例题的代码: 建图技巧: 1.a-b<=c ——> add(b,a,-c)spfa跑最短路 2.a-b>=c ——> add(b,a,c)spfa跑最长路 其他不等式或者等式可以转化成这种形式来做 1、线性约束 线性约束一般是在一维空间中给出一些变量(一般定义位置),然后告诉你某两个变量的约束关系,求两个变量a和...转载 2020-02-04 20:42:00 · 180 阅读 · 0 评论 -
North American Southeast Regional 2019 (Div 1) D - Swap Free
D - Swap Free 题目链接: 题意:找一个集合的最大子集,这个集合中不允许互斥,两个字符串能相互转化(串字符交换一次变成另一个串)就算互斥。 思路:最大独立集 定义:选出一些顶点使得这些顶点两两不相邻,则这些点构成的集合称为独立集。找出一个包含顶点数最多的独立集称为最大独立集。 定理:最大独立集 = 所有顶点数 - 最小顶点覆盖 = 所有顶点数 - 最大匹配 就是最大独立集模板题,建...原创 2020-01-19 18:11:43 · 3156 阅读 · 0 评论 -
NOIP2013 货车运输【最大生成树+倍增LCA】
NOIP2013 货车运输【最大生成树+倍增LCA】 题目链接 题意:n个点,m条无向边,每条边都有边权w,q次询问,问你从x–>y的(路径上的最小边权中)最大是多少? 0<=n,m,q<=1e5 思路:两个点之间可能有多种路径可以到达,那就构成了一个环,环之间的点可以两两互相到达,那么我们是否可以在保证联通的情况下贪心的把某些最小的边删去,保证了答案尽可能大,那么这不就是最大生...原创 2020-01-17 13:42:01 · 287 阅读 · 0 评论