----------------图论----------------
文章平均质量分 66
UMR小豪
这个作者很懒,什么都没留下…
展开
-
图论总结
图论总结二分图最大匹配km最大权最小权最大流最小费用最大流强联通分量割点点双联通割边边双联通最大团带权并查集图论总结二分图最大匹配int match[MAXN];bool vis[MAXN];bool dfs(int u){ for(int v = 1; v <= b; ++v) { if(!vis[v]&&原创 2017-08-19 09:32:21 · 345 阅读 · 0 评论 -
HDU6118 度度熊的交易计划
度度熊的交易计划Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 527 Accepted Submission(s): 181Problem Description 度度熊参与了喵哈哈村的商业大会,但是这次商业大会遇到了一个难题原创 2017-08-14 02:14:41 · 343 阅读 · 0 评论 -
最大团
#include<cstdio>#include<cstring>#define N 1010bool flag[N], a[N][N];int ans, cnt[N], group[N], n, vis[N];// 最大团: V中取K个顶点,两点间相互连接// 最大独立集: V中取K个顶点,两点间不连接 // 最大团数量 = 补图中最大独立集数bool dfs( int u, int转载 2017-08-11 21:53:06 · 1445 阅读 · 0 评论 -
poj3255 Roadblocks (次短路)
Bessie has moved to a small farm and sometimes enjoys returning to visit one of her best friends. She does not want to get to her old home too quickly, because she likes the scenery along the way. She原创 2017-08-18 19:48:20 · 309 阅读 · 0 评论 -
CF19E Fairy
Once upon a time there lived a good fairy A. One day a fine young man B came to her and asked to predict his future. The fairy looked into her magic ball and said that soon the fine young man will meet原创 2017-08-18 14:17:45 · 487 阅读 · 0 评论 -
HDU 6038 Function
FunctionTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 607 Accepted Submission(s): 243Problem DescriptionYou are given a p原创 2017-07-26 10:37:57 · 507 阅读 · 0 评论 -
HDU5361 In Touch (dij)
题意:求1到其余的点的最短路。只不过这个边有些特殊,是可以到达一个区间的范围的点。 思路:可以想到每个点最多更新一次,利用dij做法的话。跟平常dij不同的是,因为1个点到区间范围内的点的花费相同,座椅每次更新出来的最小值应当是dis[u]+cost[u]。堆应当按照这个排序,才能确保更新的值最优。 然后区间覆盖的问题,我们可以利用并查集来维护。#include <cstdio>#includ原创 2017-08-17 09:13:42 · 260 阅读 · 0 评论 -
poj3522 Slim Span
题意: 让你在一个无向图中找到一棵树,使得树中最大边和最小边之差最小。 思路:如果我们知道最小边是谁的话,那么最小的最大边一定是最小生成树中的最大边了。那么不难想到我们可以枚举最小边,然后构造最小生成树,然后用最大边减去最小边更新答案。#include <cstdio>#include <algorithm>#include <cstring>#include <vector>#incl原创 2017-08-16 16:43:44 · 194 阅读 · 0 评论 -
POJ - 3107
Last years Chicago was full of gangster fights and strange murders. The chief of the police got really tired of all these crimes, and decided to arrest the mafia leaders.Unfortunately, the structure原创 2017-06-16 14:56:44 · 287 阅读 · 0 评论 -
hdu 1034 & poj 1077 Eight 传说中的八数码问题。真是一道神题,A*算法+康托展开
博主表示比较懒,说明什么的就直接粘过来啦。第一个A*搜索,A*是一种启发式搜索,g为已花代价,h为估计的剩余代价,而A*是根据f=g+h作为估价函数进行排列,也就是优先选择可能最优的节点进行扩展。对于八数码问题,以下几个问题需要知道1.判断有无解问题:根据逆序数直接判断有无解,对于一个八数码,依次排列之后,每次是将空位和相邻位进行调换,研究后会发现,每次调换,逆转载 2017-05-17 20:02:23 · 603 阅读 · 0 评论 -
Oil Deposits
The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with one large rectangular region of land at a time, and creates a grid that divides th原创 2017-05-16 19:48:43 · 218 阅读 · 0 评论 -
Gym 100917F Find the Length
题意:给你一个无向图(邻接矩阵),求每个点所在的最小环的长度,不存在输出-1。 思路:不是很难想到,包含点s的最小环,应该是s到其余点的最短路的边加上一条不是最短路的边,因为单纯靠最短路并不会形成环。这样的话我们先构造出以s为根,以s到其余点的最短路为边的生成树。然后我们去枚举这样的两个点。无非就两种情况: 1.额外边的一个端点包含点s的情况。 2.额外边的两个端点都不包含s的情况。 红原创 2017-08-22 08:43:30 · 1168 阅读 · 0 评论 -
CodeForces 125E MST Company(最小度限制生成树)
题意就不说了。 然后求最小度限制生成树的思路网上有很多。 下面是根据思路自己写的一个。#include <cstdio>#include <vector>#include <queue>#include <algorithm>using namespace std;typedef long long LL;const int MAXN = 5000+5;const int inf =原创 2017-09-04 22:02:21 · 404 阅读 · 0 评论 -
The Unique MST(次小生成树)
题意: 给你n个点,m条边,问你最小生成树是不是唯一的,如果唯一输出最小生成树的总权值大小,否则就输出“Not Unique!” 思路: 求一下次小生成树看一下是不是和最小生成树总权值大小一样即可。 关于求次小生成树: 求次小生成树#include <iostream>#include <cstdio>#include <cmath>#include <cstring>#inclu原创 2017-08-26 17:48:16 · 265 阅读 · 0 评论 -
HDU 4085 斯坦纳树
近期更新可能会比较少,只会更新新的知识点,因为要尽快多刷一些题。。。。 详解请参照:详解 然后按照思路,自己搞的份模版。#include <bits/stdc++.h>using namespace std;const int MAXN = 50+7;const int inf = 1e8;typedef long long LL;struct node{ int v,w;原创 2017-10-22 23:38:21 · 336 阅读 · 0 评论 -
sgu-194-Reactor Cooling(无源汇有上下界最大流)
无源汇有上下界的最大流的求法: 简单来说就是默认每条边的流量已经流了下界的流量了。但是这时候可能流不是平衡的,对于每个点来说。这时候就需要我们调节了。 用in[i]表示流入i点的所有下界之和,out[i]表示流出i点的所有下界之和。两者的差如果大于0,表示还需要流出一些流量,那么就加边s到i,流量为两者的差。相同的,如果小于0,表示还需要流入一些流量,那么加边i到t,流量为两者差。最后边的流量的原创 2017-10-10 21:38:06 · 421 阅读 · 0 评论 -
汽车加油行驶问题
给定一个N*N 的方形网格,设其左上角为起点◎,坐标为(1,1),X 轴向右为正,Y 轴向下为正,每个方格边长为1,如图所示。一辆汽车从起点◎出发驶向右下角终点▲,其 坐标为(N,N)。在若干个网格交叉点处,设置了油库,可供汽车在行驶途中加油。汽车在 行驶过程中应遵守如下规则: (1)汽车只能沿网格边行驶,装满油后能行驶K 条网格边。出发时汽车已装满油,在起 点与终点处不设油库。 (2)原创 2017-09-21 17:19:42 · 3279 阅读 · 0 评论 -
2-sat总结
1.n个物品,选与不选的问题。如果i与j冲突,则建边:head[i<<1].push_back(j<<1|1);head[j<<1|1].push_back(i<<1);head[j<<1].push_back(i<<1|1);head[i<<1|1].push_back(j<<1);2.2*n个物品,只能选一个的问题。如果有冲突,则建边:if(check(i<<1,j<<1))head[i<原创 2017-09-29 22:28:06 · 214 阅读 · 0 评论 -
poj 1325 Machine Schedule
题意:k个任务,每个任务可以被A机器的Ai模式干掉,也可以被B机器的Bi模式干掉。嗯,典型的二分图最大匹配问题。 注意:开始的机器是位于0模式的,也就是说如果有任务能被0模式干掉,就不要连边,因为这个任务相当于已经完成了的。#include <cstdio>#include <vector>#include <queue>using namespace std;typedef long lo原创 2017-09-02 20:44:51 · 227 阅读 · 0 评论 -
poj 1422 Air Raid(最小不相交路径覆盖)
最小不相交路径覆盖 = 顶点数 - 最大匹配#include <cstdio>#include <vector>#include <queue>using namespace std;typedef long long LL;const int MAXN = 120+5;const int inf = 1e9;int n,m;vector<int>head[MAXN];bool vi原创 2017-09-02 20:27:02 · 261 阅读 · 0 评论 -
codeforces 864 F
有向图,倍增。 思路:参考大佬的题解 倍增思想,比如求s到t的道路,那么先通过反向图dfs出所有可以到达t的节点。(相当于一棵树)如果s不在其中,输出-1.然后先用正向图的边把st数组初始化一下(用字典序最小的一个)。然后把st[t][0]置为n+1.其他剩余点都保持为0.然后在倍增完成后,如果st[ s ][ TOP ] ==n+1说明x最终可以到达t并且继续走到n+1.(2^TOP>3000原创 2017-09-27 20:54:22 · 258 阅读 · 0 评论 -
Magical Bridges UVALive - 5988
题意: 有n座塔,每座塔有f层: 1.相邻的两座塔之间第一层可以相互到达,花费是1. 2.同一座塔内,相邻的层之间可以相互到达,花费是1. 3.有m座桥。告诉你bib_i塔的fif_i层和bjb_j塔的fjf_j层可以相互到达,花费是w。 然后给你一个起点(qbiqb_i塔qfiqf_i层)和终点(qbjqb_j塔和qfjqf_j层)问最少花费 最多100座塔,每座塔最多1000000层原创 2017-09-08 19:53:31 · 197 阅读 · 0 评论 -
HDU3938 Portal
题意: 有n个点,给你m条无向边,然后有q次询问,每次询问给你一个L,问你对于u到v的所有路径中的每条路径中最长的边的最小值不超过L的这样的点对有多少。 思路:首先考虑每个点对,因为点对之间的决定值只是由最大边来决定。所以贪心一下,边按照从小到大连接,如果之前已经被连接了,那么后面没必要再连接了。 然后每次,询问跑一次是不现实的。嗯,因为大的情况一定包含比它小的情况,所以我们可以离线,排序,处原创 2017-08-27 17:28:11 · 217 阅读 · 0 评论 -
CF 821D Okabe and City
题意:给你一个n*m的格子,然后给你一些亮光点的坐标,你开始在(1,1)这个点,每次你可以上下左右走,但是如果格子是黑的,你首先必须要点亮它,你每次可以点亮一行或者一列的所有格子。但是这个技能有两个需要注意的地方: 1.如果你点亮了key行/列,那么当你离开当前key行/列时,你点亮的那些会灭掉。 2.发动技能的时候必须是在亮光的地方。 问你走到(n,m)的最少技能发动次数。如果到达不了,输出原创 2017-08-23 16:58:44 · 345 阅读 · 0 评论 -
UVA11624 Fire!
Fire!Joe works in a maze. Unfortunately,portions of the maze have caught on fire, and the owner of the maze neglectedto create a fire escape plan. Help Joe escape the maze.Given Joe's location原创 2017-05-16 17:57:02 · 406 阅读 · 0 评论 -
Find a way
Pass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year, yifenfei have many people to meet. Especially a good friend Merceki. Yifenfei’s home is at the c原创 2017-05-16 16:39:37 · 346 阅读 · 0 评论 -
喊山
L3-2. 喊山 (BFS)时间限制150 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂—喂喂喂……”的呼唤。呼唤声通过空气的传递,回荡于深谷之间,传送到原创 2016-06-16 23:21:35 · 1418 阅读 · 1 评论 -
棋盘问题
H - 棋盘问题Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64uSubmit Status Practice POJ 1321Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放原创 2016-07-20 18:58:45 · 200 阅读 · 0 评论 -
Flip Game
H - Flip GameTime Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64uSubmit StatusDescriptionFlip game is played on a rectangular 4x4 field with two-sided pie原创 2016-07-23 11:03:22 · 332 阅读 · 0 评论 -
The Pilots Brothers' refrigerator
The Pilots Brothers' refrigeratorTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 23708 Accepted: 9132 Special JudgeDescriptionThe game “The Pilo原创 2016-07-25 11:30:59 · 320 阅读 · 0 评论 -
poj3083 Children of the Candy Corn
Children of the Candy CornTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 12667 Accepted: 5437DescriptionThe cornfield maze is a popular Halloween tre原创 2016-07-28 10:34:51 · 323 阅读 · 0 评论 -
poj2488 A Knight's Journey
A Knight's JourneyTime Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64uSubmit Status Practice POJ 2488DescriptionBackgroundThe knight is getting bored原创 2016-07-29 10:22:55 · 378 阅读 · 0 评论 -
poj3009 Curling 2.0
Curling 2.0Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 17782 Accepted: 7315DescriptionOn Planet MM-21, after their Olympic games this year, curlin原创 2016-08-09 21:55:53 · 224 阅读 · 0 评论 -
poj 2531 Network Saboteurb
Network SaboteurTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 11199 Accepted: 5411DescriptionA university network is composed of N computers. System原创 2016-08-13 14:00:42 · 287 阅读 · 0 评论 -
poj1416 Shredding Company
Shredding CompanyTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 5381 Accepted: 3023DescriptionYou have just been put in charge of developing a new sh原创 2016-08-13 16:19:31 · 291 阅读 · 0 评论 -
poj2676 Sudoku
SudokuTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 17913 Accepted: 8674 Special JudgeDescriptionSudoku(数独) is a very simple task. A square tabl原创 2016-08-13 19:56:06 · 287 阅读 · 0 评论 -
poj3126 Prime Path
Prime PathTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 16991 Accepted: 9561DescriptionThe ministers of the cabinet were quite upset by the message原创 2016-08-11 21:33:46 · 204 阅读 · 0 评论 -
poj1426 Find The Multiple
Find The MultipleTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 26508 Accepted: 10977 Special JudgeDescriptionGiven a positive integer n, write a原创 2016-08-11 20:45:04 · 255 阅读 · 0 评论 -
poj2251 Dungeon Master
Dungeon MasterTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 26176 Accepted: 10198DescriptionYou are trapped in a 3D dungeon and need to find the qui原创 2016-08-11 19:32:31 · 217 阅读 · 0 评论 -
FZU-2150 Fire Game
Fat brother and Maze are playing a kind of special (hentai) game on an N*M board (N rows, M columns). At the beginning, each grid of this board is consisting of grass or just empty and then they start原创 2017-05-16 15:33:42 · 3452 阅读 · 0 评论