![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
基础算法——图论
2468060694
Aloof__
笔记是记忆的缓冲
展开
-
2020 CPCC 网络赛 Graph Theory Class
Graph Theory ClassProblem DescriptionThis class is on graph theory. Mr. Kruskal teaches babies the concept of minimal spanning tree, and how to calculate the minimal spanning tree of a given graph.Now, it's time for an in-class quizz. Mr. Kruskal sh.原创 2020-09-22 16:18:47 · 577 阅读 · 0 评论 -
牛客练习赛69 C-旅行 (贪心最大生成树)
C-旅行昨晚做的时候竟然能把看成u和v之间的最长路径的长度;思路:最大生成树;其实不证明的话猜两组数据就能看出来;证明的话放官方证明吧:作者:scimoon可以发现,对答案有贡献的边肯定是最大生成树上的边,那么可以将这些边先拉出来,每条边至少会被贡献一次对于当前的一个联通块,找到最小的一条边,那么这个联通块肯定被分成了两个联通块考虑怎么样才能使答案最优,显然先将一个联通块内选完以后在经过当前边到另一个联通块最优(因为两边的边比当前边要大),可以看出这条边只对答案贡...原创 2020-09-12 12:43:45 · 254 阅读 · 0 评论 -
AcWing 1064. 小国王 (状态压缩DP)
在n×n的棋盘上放k个国王,国王可攻击相邻的88个格子,求使它们无法互相攻击的方案总数。输入格式共一行,包含两个整数nn和kk。输出格式共一行,表示方案总数,若不能够放置则输出00。数据范围1≤n≤101≤n≤10,0≤k≤n20≤k≤n2输入样例:3 2输出样例:16思路:状态压缩DPf(i,j,m)表示第i行已经使用了j个国王,状态为m时的方案数 ;上下两行的状态 a ,b 如果不冲突需要满足的关系为 a、b...原创 2020-07-28 22:56:00 · 360 阅读 · 0 评论 -
几何模板
#include <bits/stdc++.h>const double eps = 1e-8;inline int dcmp(double x) { return x < -eps ? -1 : x > eps;}struct Point;using Vector = Point;using Polygon = std::vector<Po...原创 2019-08-14 10:56:32 · 132 阅读 · 0 评论 -
UCF Local Programming Contest 2014 E. Chain Email (tarjan强联通分量)
整理的算法模板:ACM算法模板总结(分类详细版)A chain email is an email that people receive and then forward to all of their friends. This sort of email is very common amongst elderly people, who have notably bad memories. Elderly people’s memories are so bad that if they eve原创 2020-06-01 10:14:29 · 2340 阅读 · 0 评论 -
AcWing 368. 银河 (有向图的强连通分量)
整理的算法模板:ACM算法模板总结(分类详细版)银河中的恒星浩如烟海,但是我们只关注那些最亮的恒星。我们用一个正整数来表示恒星的亮度,数值越大则恒星就越亮,恒星的亮度最暗是 1。现在对于 N 颗我们关注的恒星,有 M 对亮度之间的相对关系已经判明。你的任务就是求出这 N 颗恒星的亮度值总和至少有多大。输入格式第一行给出两个整数 N 和 M。之后 M 行,每行三个整数 T, A, B,表示一对恒星(A, B)之间的亮度关系。恒星的编号从 1 开始。如果 T = 1,说明 A 和原创 2020-05-12 10:52:38 · 280 阅读 · 0 评论 -
ICPC North Western European Regional Contest 2019
整理的算法模板:ACM算法模板总结(分类详细版)Table of ContentsF. Firetrucks Are RedE. Expeditious CubingF. Firetrucks Are Red如何用并查集建立联系呢?首先对于第i行中的每个数,如果之前这个数存在过,位置为 x ,那么就把 i 和 x 所在的连通块合并(注意:如果本身就在一个联通里则不需要加任何边,避免存储不必要的边);并且更新这个数的位置为i;最后判断所有的点是否在一个连通块即...原创 2020-05-09 21:51:11 · 431 阅读 · 0 评论 -
Codeforces Round #639 (Div. 2) D Monopole Magnets
整理的算法模板:ACM算法模板总结(分类详细版)D. Monopole Magnetstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputA monopole magnet is a magnet th...原创 2020-05-08 10:49:20 · 214 阅读 · 0 评论 -
AcWing 1172. 祖孙询问 (lca模板)
整理的算法模板:ACM算法模板总结(分类详细版)给定一棵包含nn个节点的有根无向树,节点编号互不相同,但不一定是1∼n1∼n。有mm个询问,每个询问给出了一对节点的编号xx和yy,询问xx与yy的祖孙关系。输入格式输入第一行包括一个整数 表示节点个数;接下来nn行每行一对整数aa和bb,表示aa和bb之间有一条无向边。如果bb...原创 2020-05-06 18:17:28 · 224 阅读 · 0 评论 -
AcWing 1170. 排队布局 (差分约束)
整理的算法模板:ACM算法模板总结(分类详细版)当排队等候喂食时,奶牛喜欢和它们的朋友站得靠近些。农夫约翰有NN头奶牛,编号从11到NN,沿一条直线站着等候喂食。奶牛排在队伍中的顺序和它们的编号是相同的。因为奶牛相当苗条,所以可能有两头或者更多奶牛站在同一位置上。如果我们想象奶牛是站在一条数轴上的话,允许有两头或更多奶牛拥有相同的横坐标。一些奶牛相互间存有好...原创 2020-05-05 23:50:28 · 259 阅读 · 0 评论 -
AcWing 1165. 单词环 (SPFA求正环&&二分哈希)
整理的算法模板:ACM算法模板总结(分类详细版)我们有nn个字符串,每个字符串都是由a∼za∼z的小写英文字母组成的。如果字符串AA的结尾两个字符刚好与字符串BB的开头两个字符相匹配,那么我们称AA与BB能够相连(注意:AA能与BB相连不代表BB能与AA相连)。我们希望从给定的字符串中找出一些,使得它们首尾相连形成一个环串(一个串首尾相连也...原创 2020-05-04 10:24:51 · 230 阅读 · 0 评论 -
AcWing 1148. 秘密的牛奶运输 (严格次小生成树)
整理的算法模板:ACM算法模板总结(分类详细版)农夫约翰要把他的牛奶运输到各个销售点。运输过程中,可以先把牛奶运输到一些销售点,再由这些销售点分别运输到其他销售点。运输的总距离越小,运输的成本也就越低。低成本的运输是农夫约翰所希望的。不过,他并不想让他的竞争对手知道他具体的运输方案,所以他希望采用费用第二小的运输方案而不是最小的。现在请你帮忙找到该运输方案。...原创 2020-05-01 11:28:16 · 290 阅读 · 0 评论 -
AcWing 346. 走廊泼水节 (kruskal+连通块size)
整理的算法模板:ACM算法模板总结(分类详细版)给定一棵N个节点的树,要求增加若干条边,把这棵树扩充为完全图,并满足图的唯一最小生成树仍然是这棵树。求增加的边的权值总和最小是多少。注意:树中的所有边权均为整数,且新加的所有边权也必须为整数。输入格式第一行包含整数t,表示共有t组测试数据。对于每组测试数据,第一行包含整数N。接下来N-1行,每行三个整数X,Y,Z,...原创 2020-04-30 18:16:05 · 209 阅读 · 0 评论 -
AcWing 1146. 新的开始 (prim+超级源点)
整理的算法模板:ACM算法模板总结(分类详细版)发展采矿业当然首先得有矿井,小 FF 花了上次探险获得的千分之一的财富请人在岛上挖了nn口矿井,但他似乎忘记了考虑矿井供电问题。为了保证电力的供应,小 FF 想到了两种办法:在矿井ii上建立一个发电站,费用为vivi(发电站的输出功率可以供给任意多个矿井)。 将这口矿井ii与另外的已经有电力供应的矿井jj之间建立电网,...原创 2020-04-30 17:05:15 · 261 阅读 · 0 评论 -
AcWing 1145. 北极通讯网络 (kruskal最小生成树+连通块)
整理的算法模板:ACM算法模板总结(分类详细版)北极的某区域共有nn座村庄,每座村庄的坐标用一对整数(x,y)(x,y)表示。为了加强联系,决定在村庄之间建立通讯网络,使每两座村庄之间都可以直接或间接通讯。通讯工具可以是无线电收发机,也可以是卫星设备。无线电收发机有多种不同型号,不同型号的无线电收发机有一个不同的参数dd,两座村庄之间的距离如果不超过dd,就可以用...原创 2020-04-30 16:51:07 · 261 阅读 · 0 评论 -
AcWing 1141. 局域网 (最小生成森林)
整理的算法模板:ACM算法模板总结(分类详细版)某个局域网内有nn台计算机和kk条双向网线,计算机的编号是1∼n1∼n。由于搭建局域网时工作人员的疏忽,现在局域网内的连接形成了回路,我们知道如果局域网形成回路那么数据将不停的在回路内传输,造成网络卡的现象。注意:对于某一个连接,虽然它是双向的,但我们不将其当做回路。本题中所描述的回路至少要包含两条不同的连接。 两台计算机...原创 2020-04-30 00:51:29 · 316 阅读 · 0 评论 -
牛客小白月赛24 E—旅游旅游 (Dijkstra||spfa+并查集)
整理的算法模板:ACM算法模板总结(分类详细版)链接:https://ac.nowcoder.com/acm/contest/5158/E来源:牛客网题目描述牛牛国有 nnn个城市,mmm条无向道路,每条道路三个属性 ai,bi,cia_i,b_i,c_iai,bi,ci,表示城市aia_iai 与城市bib_ibi 之间有一条长为cic_ici 的道路,现...原创 2020-04-21 17:20:18 · 289 阅读 · 3 评论 -
Kefa and Park CodeForces - 580C
Kefa decided to celebrate his first big salary by going to the restaurant.He lives by an unusual park. The park is a rooted tree consisting of n vertices with the root at vertex 1. Vertex 1 also cont...原创 2019-12-01 10:31:08 · 173 阅读 · 0 评论 -
Shortest Cycle CodeForces - 1206D
You are given n integer numbers a1,a2,…,an. Consider graph on n nodes, in which nodes i, j (i≠j) are connected if and only if, ai AND aj≠0, where AND denotes the bitwise AND operation.Find the length...原创 2019-11-30 22:23:51 · 191 阅读 · 0 评论 -
Cow Hurdles POJ - 3615(Floyd的变形)
Farmer John wants the cows to prepare for the county jumping competition, so Bessie and the gang are practicing jumping over hurdles. They are getting tired, though, so they want to be able to use as ...原创 2019-09-10 16:24:06 · 157 阅读 · 0 评论 -
Dijkstra算法和Floyd算法超详解以及区别
鉴于之前我看到过非常好的博客,如果自己总结的话,大多也是按照别的博主的思路来解释,所以就直接推荐给大家这些优秀的博客;Dijkstra:最短路径dijkstra算法精品代码(超详解)Floyd:Floyd 算法最短路径问题精品(超详解)关于代码模板,我还是想展示自己的模板,毕竟自己的用着才是最舒服的(其实都大同小异,自己写一遍才能成为自己的东西)Dijkstra模板:#include &...原创 2019-09-09 16:56:26 · 27544 阅读 · 11 评论 -
最短路 HDU - 2544(Floyd算法模板&&Dijkstra算法模板)
在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?Input输入包括多组数据。每组数据第一行是两个整数N、M(N<=100,M<=10000),N表示成都的大街上有几个路口,标号为1的路口是商店所在地,标号为N的路口是赛场所在...原创 2019-09-09 15:05:39 · 171 阅读 · 0 评论 -
Frogger POJ - 2253(dijkstra变形)
Freddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fiona Frog who is sitting on another stone. He plans to visit her, but since the water is dirty and full of tourists’ sun...原创 2019-09-08 16:58:16 · 153 阅读 · 0 评论 -
Dijkstra最短路径算法的权值不能为负及其原因
Dijkstra算法当中将节点分为已求得最短路径的集合(记为S)和未确定最短路径的个集合(记为U),归入S集合的节点的最短路径及其长度不再变更,如果边上的权值允许为负值,那么有可能出现当与S内某点(记为a)以负边相连的点(记为b)确定其最短路径时,它的最短路径长度加上这条负边的权值结果小于a原先确定的最短路径长度,而此时a在Dijkstra算法下是无法更新的,由此便可能得不到正确的结果。求...原创 2019-08-25 17:36:17 · 4490 阅读 · 2 评论 -
最短路径(dijkstra)以及输出路径
河南理工大学算法协会暑期集训积分赛(四)B. wzy的大冒险——出发咯QAQ单点时限: 2.0 sec内存限制: 512 MBwzy踏上了冒险的旅程。现在他从地精手里买了一份地图,地图上有n个城镇。他从第一个城镇出发,走向(没钱只能走)第n个城镇,现在,请你帮wzy找到一条最短的路径,并倒序(从n到1)输出一条最短路径。举个栗子:如果有两条路径6 4 3 1和6 5 2 1,我们选择...原创 2019-08-14 23:51:18 · 3796 阅读 · 0 评论 -
最短路径模板
#include <bits/stdc++.h>using namespace std;const int maxx=1e3+7;#define INF 0x3f3f3f3fint dist[maxx];int c[maxx][maxx];int s[maxx];int v,e,n,m;void dijkstra(){ for(int i=1;i<=...原创 2019-08-09 19:29:16 · 287 阅读 · 0 评论 -
AcWing 383. 观光 ( dijkstra拆点求最短路数)
整理的算法模板:ACM算法模板总结(分类详细版)“您的个人假期”旅行社组织了一次比荷卢经济联盟的巴士之旅。比荷卢经济联盟有很多公交线路。每天公共汽车都会从一座城市开往另一座城市。沿途汽车可能会在一些城市(零或更多)停靠。旅行社计划旅途从 S 城市出发,到 F 城市结束。由于不同旅客的景点偏好不同,所以为了迎合更多旅客,旅行社将为客户提供多种不同线路。游客可以选择的...原创 2020-04-28 17:49:31 · 402 阅读 · 0 评论 -
AcWing 1134. 最短路计数
整理的算法模板:ACM算法模板总结(分类详细版)给出一个NN个顶点MM条边的无向无权图,顶点编号为11到NN。问从顶点11开始,到其他每个点的最短路有几条。输入格式第一行包含22个正整数N,MN,M,为图的顶点数与边数。接下来MM行,每行两个正整数x,yx,y,表示有一条顶点xx连向顶点yy的边,请注意可能有自环与重边。输出格式输出...原创 2020-04-27 22:18:37 · 282 阅读 · 0 评论 -
AcWing 1135. 新年好 (暴搜+dijkstra||spfa+sfa优化)
整理的算法模板:ACM算法模板总结(分类详细版)重庆城里有nn个车站,mm条双向公路连接其中的某些车站。每两个车站最多用一条公路连接,从任何一个车站出发都可以经过一条或者多条公路到达其他车站,但不同的路径需要花费的时间可能不同。在一条路径上花费的时间等于路径上所有公路需要的时间之和。佳佳的家在车站11,他有五个亲戚,分别住在车站a,b,c,d,ea,b,c,d,...原创 2020-04-25 21:51:52 · 200 阅读 · 0 评论 -
AcWing 342. 道路与航线 (连通块Dijkstra+拓扑序||spfa+slf优化)
整理的算法模板:ACM算法模板总结(分类详细版)农夫约翰正在一个新的销售区域对他的牛奶销售方案进行调查。他想把牛奶送到T个城镇,编号为1~T。这些城镇之间通过R条道路 (编号为1到R) 和P条航线 (编号为1到P) 连接。每条道路ii或者航线ii连接城镇AiAi到BiBi,花费为CiCi。对于道路,0≤Ci≤10,0000≤Ci≤10,000;然而航线的花费很神奇...原创 2020-04-25 21:22:01 · 440 阅读 · 2 评论 -
AcWing 903. 昂贵的聘礼(dijkstra||spfa)
整理的算法模板:ACM算法模板总结(分类详细版)年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用10000个金币作为聘礼才答应把女儿嫁给他。探险家拿不出这么多金币,便请求酋长降低要求。酋长说:”嗯,如果你能够替我弄到大祭司的皮袄,我可以只要8000金币。如果你能够弄来他的水晶球,那么只要5000金币就行了。”探险家就跑到大...原创 2020-04-23 14:50:51 · 217 阅读 · 0 评论 -
AcWing 1126. 最小花费 ( dijkstra||spfa)
整理的算法模板:ACM算法模板总结(分类详细版)在nn个人中,某些人的银行账号之间可以互相转账。这些人之间转账的手续费各不相同。给定这些人之间转账时需要从转账金额里扣除百分之几的手续费,请问AA最少需要多少钱使得转账后BB收到 100 元。输入格式第一行输入两个正整数n,mn,m,分别表示总人数和可以互相转账的人的对数。以下mm行每行输入三个正整数...原创 2020-04-23 11:42:50 · 253 阅读 · 0 评论