
图论
Helloirbd
1
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU 畅通工程
题目链接:畅通工程 void prim(){ dis[1]=0; while(1){ int minn=INF,k=-1; for(int i=1;i<=n;i++){ if(dis[i]<minn&&!vis[i]){ minn=dis[i]; k=i; } } if(k==-1) break; vis[k]...原创 2018-07-27 09:08:02 · 701 阅读 · 0 评论 -
7-5 畅通工程之局部最小花费问题
7-5 畅通工程之局部最小花费问题 (35 分) 某地区经过对城镇交通状况的调查,得到现有城镇间快速道路的统计数据,并提出“畅通工程”的目标:使整个地区任何两个城镇间都可以实现快速交通(但不一定有直接的快速道路相连,只要互相间接通过快速路可达即可)。现得到城镇道路统计表,表中列出了任意两城镇间修建快速路的费用,以及该道路是否已经修通的状态。现请你编写程序,计算出全地区畅通需要的最低成本。 输...原创 2019-02-26 09:23:38 · 259 阅读 · 0 评论 -
7-10 哈利·波特的考试
7-10 哈利·波特的考试 (25 分) 哈利·波特要考试了,他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等。反方向变化的魔咒就是简单地将原来的魔咒倒过来念,例如ahah可以将老鼠变成猫。另外,如果想把猫变成鱼,可以通过念一个直接魔咒lalala,也可以将猫变老鼠、老鼠变鱼的魔咒连起来念:hahahehe。 ...原创 2019-02-26 09:20:14 · 417 阅读 · 0 评论 -
HDU 3499 Flight
题目链接:Flight 这道题的题意是,有一次机会,可以将直接连接两点的路的长度减半,然后求起点到终点的最短距离 首先不能用的思路是先求出最短路径,然后将该路径上最长的边长度减半 稍微想一想也是不行的 然后,再想到的是依次让每一条边的长度都减半,接着求最短距离 这样虽然简单,但是应该会超时 比较好的写法是,遍历每条边,让它的权值减半,然后求出起点到这条边起点的距离,和终点到这条边终点的...原创 2019-01-23 10:22:56 · 294 阅读 · 0 评论 -
HDU 1217 Arbitrage
题目链接:Arbitrage Floyd算法就是如果i点到k点之间有通路,k点到j点有通路, 且两条通路的长度和小于i点到j点的长度,那就将i点到j距离就是经过k点的长度 对于这个套利的题,就可以用Floyd算法 看是否可以找出一个相乘大于1的路径,因为要想干这件坏事必须保证换一拨钱后钱会变多 还有需要注意的是对map的使用,因为题上给的是字符串,所以我们需要使用map完成一个字符串到数字...原创 2019-01-21 16:51:52 · 186 阅读 · 0 评论 -
HDU 2066 一个人的旅行
题目链接:一个人的旅行 这道题与之前的最短路的题又有些不一样 他们有给出一共有多少个城市 我们来看输入的数据: 路有T条 和草儿家相邻的城市的有S个 草儿想去的地方有D个 这个不会是多源最短路径问题吧?? 我们可以将草儿的家当做是源点 既然是没有给有多少个城市,就求一共有多少个,也不是什么难事 转化成地杰斯特拉的算法 AC代码如下: #include<iostream>...原创 2019-01-21 13:09:51 · 227 阅读 · 2 评论 -
HUD 3790 最短路径问题
题目链接:最短路径问题 这道题是最短路问题的进阶版本 在求最短路的基础上增加了求花费这一操作 就是如果说存在多条最短长度相同的路径,选择花费最少的那一条路 做法就是再定义一个存图的二维数组,只不过存的不是两点之间的距离了,而是两点之间的花费 我觉得这不得用两个队列吗??如果说存在两条路,它们的路径上的点除了起点和终点相同,其余的都不相同,一条路的前半部分花费多,后半部分花费少,另一条路的...原创 2019-01-20 18:01:13 · 338 阅读 · 0 评论 -
comet OJ 热身赛 dijkstra
题目链接:comet OJ 热身赛 dijkstra 题目描述 Eagle Jump公司正在开发一款新的游戏。泷本一二三作为其员工,获得了提前试玩的机会。现在她正在试图通过一个迷宫。 这个迷宫有一些特点。为了方便描述,我们对这个迷宫建立平面直角坐标系。迷宫中有两条平行直线 L_1:Ax+By+C_1=0L1:Ax+By+C1=0, L_2:Ax+By+C_2=0L2:Ax+By+C2...原创 2019-01-20 18:00:42 · 534 阅读 · 0 评论 -
HDU 2544 最短路
相关链接: 题目链接:HDU - 2544 优先队列 这是一道迪杰斯特拉的一道模板题 迪杰斯特拉的做法是从源点出发,找到与该点相连的所有点,选择一条最短的路连接 再从连接的这个点出发,再找与这个点相连的点的最短的路 重复上述做法,直到找到距离最短路 以下AC代码: #include<cstdio> #include<cstring&g...原创 2019-01-20 10:37:50 · 236 阅读 · 0 评论 -
HDU Channel Allocation
131:Channel Allocation 题目链接:Channel Allocation 原理和代码部分还是懵懵懂懂 #include <iostream> #include <vector> #include <string> using namespace std; #define maxN 30 int Max=0; int color[m...原创 2018-08-02 23:06:13 · 301 阅读 · 0 评论 -
农夫约翰接光纤
题目链接:https://vjudge.net/contest/240400#problem/F 问题代码: #include<iostream> #include<cstring> using namespace std; const int INF=0x3f3f3f3f; int n; int mp[30][30]; int dis[30]; char vis[...原创 2018-07-27 18:22:14 · 418 阅读 · 0 评论 -
迷宫问题
广度优先搜索 使用队列,反复取出队首元素,将该顶点可达到的未曾加入过队列的顶点全部入队,直到队列为空时遍历结束。 POJ - 3984迷宫问题 需要用到广度优先搜索 先写头文件 #include<stdio.h> #include<cstring> #include<queue> using namespace std; 在定义变量,结构体 其...原创 2018-07-17 17:54:48 · 300 阅读 · 0 评论 -
P1027 Car的旅行路线 (SPFA)
题目描述 又到暑假了,住在城市AAA的CarCarCar想和朋友一起去城市BBB旅游。她知道每个城市都有444个飞机场,分别位于一个矩形的444个顶点上,同一个城市中222个机场之间有111条笔直的高速铁路,第III个城市中高速铁路了的单位里程价格为TiT_iTi,任意两个不同城市的机场之间均有航线,所有航线单位里程的价格均为ttt。 图例(从上而下) 机场 高速铁路 飞机航线 ...原创 2019-03-28 22:10:45 · 311 阅读 · 0 评论