![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
accepted_accepted
当你迷茫的时候,不妨静下心来学习。
展开
-
POJ-3659 Cell Phone Network
题目链接:POJ-3659题意: 给你一棵树,在树上装一些信号搭,有信号搭的节点可以使得自己和相邻的节点有信号,问最小安装多少个节点使得树上任意一个点都能有信号。题解:这个就是求最小支配集,用树形dp一下就好。dp[u][0] 代表不取i节点,靠子节点覆盖,dp[u][1]代表去u节点 ,dp[u][2]代表不取u节点,靠父节点覆盖代码如下:#include<iostream...原创 2019-11-05 20:01:15 · 181 阅读 · 0 评论 -
hdu 5934
题解:建有向图,trajan缩点求强连通分量,板子题#include<stdio.h>#include<string.h>#include<algorithm>#include<iostream>using namespace std; #define ll long long#define MAX 10001 int n,m;...原创 2019-10-20 21:02:00 · 120 阅读 · 0 评论 -
POJ - 1236 tarjan缩点
题目链接POJ - 1236题意:n个学校,每个学校可以向其他学校发送软件,问题一:最少向多少个学校发送软件使得所有学校都可以收到软件。问题二:最小加几条边使得这个图是一个强连通图。题解:先把这个图缩下点,然后统计缩点图中入度为0和出度为0的点的个数,问题一的答案就是入度为0的点的个数。问题二的答案就是 max(入度为0的点个数,出度为0的点的个数);注意:特判下n==1;代码如下...原创 2019-10-13 20:49:45 · 122 阅读 · 1 评论 -
poj2186 tarjan缩点
题目链接poj2186题意:n个奶牛,m个条边,每条边a指向b,代表a奶牛认为b奶牛是受欢迎的,如果b奶牛认为c奶牛是受欢迎的,那么a奶牛认为c奶牛是受欢迎的。现在要你求受其他所有奶牛欢迎的奶牛个数。题解,把每一个连通块缩成一个点,然后记录每个连通块的出度点,设出度点个数为cnt1,cnt1=0,ans=n;cnt=1,ans=出度为0的那个联通块的大小。cnt1>1,ans=0;...原创 2019-10-13 15:22:19 · 185 阅读 · 0 评论 -
KuPellaKeS UVA - 10968 bfs
https://vjudge.net/problem/UVA-10968题意 :给你一个无向图,其中点的度数为奇数的最多有俩个,现在删除一些边要使得每个点的度数为偶数并>=2,如果可以,输出要删除的最小边数,如果不能,输出Poor Koorosh。题解:如果有俩个奇数点,bfs搜索u到v的最短路径,要求路径上的点度数>=4,u和v>=3;奇数点为0,判断是不是每个点的度数大...原创 2019-09-12 20:27:20 · 139 阅读 · 0 评论 -
UVA 10607 Siege
题目链接 https://vjudge.net/problem/UVA-10607题意,给你一个国家的地图,这个国家有一个首都和多个省,首都不包含边界的点,问敌国最小要攻下几座省才能包围首都。包围不了就输出-1.题解: 要把首都包围,就要把与首都相邻的省全都占领,那么对于与首都相邻的所有省,我们只要搜出他们到边界要经过的最小省会,然后取他们的最小值,因为跌过可以先攻到这个省,然后与首都相邻的...原创 2019-09-09 20:09:54 · 82 阅读 · 0 评论 -
Slash Maze UVa 705
https://vjudge.net/problem/UVA-705题解:这个题目我们可以把斜线变成一个2成2的方格,然后我们往8个方向搜索,先搜直的四个方向,在搜斜的,斜的方向可走当且仅当这俩个点所在的方格的斜线都平行与这俩点连成的直线,看看我盗来的这个图就明白了。~~~c#include<iostream>#include<algorithm>using n...原创 2019-08-13 00:29:42 · 117 阅读 · 0 评论 -
poj3565 Ants(二分图最小权匹配,KM算法)
http://poj.org/problem?id=3565题意:给你n的蚂蚁的坐标和n和苹果的坐标,要你匹配它们,一个要求是它们各自匹配所构成的线段不相交,题解: 有三角形俩边之和大于第三边可以得到他们连线的所有线段和最小的时候线段一定不会相交。所以这个题目就转化为二分图最小权匹配,把俩点距离堪称权值,套下KM算法就ok了#include <iostream>#includ...原创 2019-08-15 19:34:21 · 225 阅读 · 0 评论 -
POJ 1422 Air Raid (二分图最小路径覆盖)
Consider a town where all the streets are one-way and each street leads from one intersection to another. It is also known that starting from an intersection and walking through town’s streets you can...原创 2018-10-07 21:09:52 · 175 阅读 · 3 评论 -
poj 3041 Asteroids 二分图最小点覆盖
http://poj.org/problem?id=3041首先这个题目求的是二分图的最小点覆盖,二分图的最小点覆盖等于二分图的最大匹配。因为行与行没关系,列于列也没关系,但行和列之间有关系;所以这个题目转换为行列之间的二分图的最大匹配//~~~c++#include<iostream>#include<cstdio>#include<vector>...原创 2019-08-14 21:28:33 · 115 阅读 · 0 评论 -
POJ 2771 Guardian of Decency 二分图最大独立集
http://poj.org/problem?id=2771题意:老师带学生出去旅游,老师想要尽可能的避免学生谈恋爱,又想尽可能的带学生出去,四种情况满足任意种都不会谈恋爱1.身高差超过40厘米2.性别一样3.音乐风格不一样4,爱好的运动一样题解:我们这样想,先把他们能谈恋爱的全都匹配起来,然后再把他们狠心拆开也就是只带他们中的一个去,所有答案就等于总人数-最大的匹配数,这也是为什么...原创 2019-08-15 13:26:20 · 127 阅读 · 0 评论 -
UValive 4255 Guess(拓扑排序)
题目链接https://vjudge.net/problem/UVA-1423这个题目巧妙之处在于我们可以通过符号推断出前缀和的大小关系,然后我们拓扑排序一下,我是从大到校排序的,所以赋值也是从大到小;额按后我们就可以前缀相减得出各个数的大小。#include<bits/stdc++.h>using namespace std;char s[105];int in[10...原创 2019-08-10 16:36:56 · 91 阅读 · 0 评论 -
Robbery UVa-707
https://vjudge.net/problem/UVA-707题解:这个题目是一个dfs,题意是判断小偷的位置,我们可以对小偷在1时刻的所有位置进行搜素,通过dfs和回溯判断这个点是否可到达 t 时刻小偷可以在的点,如果可以,计数,如果没有一个起点能到,则小偷已经逃离,否则小偷还可能在城里,在城内我们增判断是否可以确定小偷在某时刻的位置,如果唯一,则输出他在那个时刻的位置,如果不能确定小偷...原创 2019-08-13 16:38:06 · 124 阅读 · 0 评论