poj图论解题报告索引

最短路径:

poj1125 - Stockbroker Grapevine(多源最短路径,floyd)

poj1502 - MPI Maelstrom(单源最短路径,dijkstra,bellman-ford,spfa)

poj1511 - Invitation Cards(单源来回最短路径,spfa邻接表)

poj1797 - Heavy Transportation(最大边,最短路变形,dijkstra,spfa,bellman-ford)

poj2240 - Arbitrage(汇率问题,floyd)

poj1860 - Currency Exchange(汇率问题,bellman-ford,spfa)

poj2253 - Frogger(最大边,dijkstra变形)

poj2387- Til the Cows Come Home(单源最短路径,dijkstra,spfa,bellman-ford)

poj2502 - Subway(卡输入的最短路径,dijkstra,floyd)

poj3259 - Wormholes(判断负环,bellman-ford)

poj3268 - Silver Cow Party(来回最短路径,dijkstra)

poj1158 - TRAFFIC LIGHTS(最短路变形)

poj1122 - FDNY to the Rescue!(最短路径变形)

poj1161 - Walls(最短路径,floyd,建图)

poj1734 - Sightseeing trip(最小环,floyd变形)

poj3255 - Roadblocks(次短路径)

最小生成树:

poj1251 - Jungle Roads(最小生成树,prim,kruskal)

poj1287 - Networking(最小生成树,prim,kruskal)

poj1258 - Agri-Net(最小生成树,prim)

poj1861- Network(最小生成树,kruskal)

poj2485 - Highways(最小生成树,prim)

poj3522 - Slim Span(最小生成树变形,kruskal)

poj3625 - Building Roads(已经存在一些边的最小生成树,kruskal)

poj3026 - Borg Maze(BFS+prim最小生成树)

poj1635 - Subway tree systems(判断两颗树是否一样)

poj1679 - The Unique MST(是否唯一最小生成树)

poj1789 - Truck History(最小生成树)

poj2031 - Building a Space Station(最小生成树)

poj2377 - Bad Cowtractors(最大生成树)

强连通分量:

poj2553 - The Bottom of a Graph(强连通分量,邻接表tarjan与kosaraju)

poj2186 - Popular Cows(强连通分量,邻接表tarjan与kosaraju)

poj1236 - Network of Schools(强连通分量,邻接矩阵tarjan与kosaraju)

poj1523 - SPF(tarjan求割点)

poj1966 - Cable TV Network(求最小割点集,转换为最大流)

poj1904 - King‘s Quest(已知完美匹配,求所有匹配,强连通分量建图)

poj3177 - Redundant Paths(边双连通分量)

poj3352 - Road Construction(边双连通分量)

网络流:

poj1459 - Power Network(最大流入门)

poj1273 - Drainage Ditches(最大流)

poj1698 - Alice‘s Chance(最大流)

poj3469 - Dual Core CPU(最大流)

poj1149 - PIGS(最大流)

poj3281 - Dining(最大流)

poj2135 - Farm Tour(费用流)

poj2516 - Minimum Cost(费用流)

poj2195 - Going Home(费用流)

poj1087 - A Plug for UNIX(最大流,建图)

二分图:

poj1274 - The Perfect Stall(二分最大匹配)

poj3041 - Asteroids(二分最大匹配)

poj2226 - Muddy Fields(二分最大匹配)

poj1486 - Sorting Slides(二分最大匹配或拓扑排序)

poj2400 - Supervisor, Supervisee(KM二分最佳匹配)

poj1325 - Machine Schedule(最小点覆盖)

poj1422 - Air Raid(最小路径覆盖)

poj1466 - Girls and Boys(最大独立集)

poj1548 - Robots(最小路径覆盖)

1719 - Shooting Contest(二分最大匹配)

poj2060 - Taxi Cab Scheme(最小路径覆盖)

poj2239 - Selecting Courses(最大匹配数)

差分约束:

poj1201 - Intervals(区间差分约束)

poj1275 - Cashier Employment(差分约束)

poj1364 - King(差分约束)

poj2983 - Is the Information Reliable?(差分约束)

poj1752 - Advertisement(差分约束)

拓扑排序:

poj1135 - Domino Effect(拓扑排序)

是否可图:

1659 - Frogs‘ Neighborhood

时间: 2024-12-21 00:49:39

poj图论解题报告索引的相关文章

poj分类解题报告索引

图论 图论解题报告索引 DFS poj1321 - 棋盘问题 poj1416 - Shredding Company poj2676 - Sudoku poj2488 - A Knight's Journey poj1724 - ROADS(邻接表+DFS) BFS poj3278 - Catch That Cow(空间BFS) poj2251 - Dungeon Master(空间BFS) poj3414 - Pots poj1915 - Knight Moves poj3126 - Prim

广大暑假训练1 E题 Paid Roads(poj 3411) 解题报告

题目链接:http://poj.org/problem?id=3411 题目意思:N个city 由 m 条路连接,对于一条路(假设连接Cityia和 Cityb),如果从Citya 去 Cityb的途中,之前已经走过Cityc(可能会等于a),那么就可以交p的钱,否则之前未走过Cityc,就一定要交r 的路费啦. 注意,一个点可以被反复多次走,也就是可能构成环,虽然路走长了,但路费便宜了,这个问题要考虑到.还有就是剪枝啦:如果当前求得的路费比以前求得的答案要大,那就要回溯. mincost 明明

POJ 2230 解题报告

分析: 基础的欧拉路算法,变化在于要求每条边正向和反向各走一遍. 链式前向星构图,只要标记走过的单向边,边找边输出即可. code #include <iostream> #include <cstdio> using namespace std; struct node { int v, ne; } edge[100009]; int head[10009], vis[100009], cnt = 1; int n, m, x, y; void addedge (int u, i

POJ 2438 解题报告

分析: 2*n个小朋友,每个最多有n-1个"敌人",显然是存在哈密顿回路的. 预处理边,然后找哈密顿回路. code #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <vector> using namespace std; #define pb push_back #define sz(a) (int

POJ 1001 解题报告 高精度大整数乘法模版

题目是POJ1001 Exponentiation  虽然是小数的幂 最终还是转化为大整数的乘法 这道题要考虑的边界情况比较多 做这道题的时候,我分析了 网上的两个解题报告,发现都有错误,说明OJ对于错误的判断还不够严厉. 对边界情况的讨论其实应该是思维严密的表现,当然这并不能表明我写的一点错误都没有,只是多多分析一下还是很有好处的. #include <iostream> #include <fstream> #include <string> #include &l

POJ Sticks1011解题报告

1 //Sticks1011 By XieJiang 20170417 2 /** 3 *0.最小木棍的长度一定小于等于所有木棍长度之和,大于等于输入的最长的木棍 4 *1.当Sticks[i]可用时,而Sticks[i-1]不可用且Sticks[i-1]=Sticks[i],Sticks[i]不可用,在DFS的过程中, 5 如果当前木棒和前一个木棒长度相等,并且前一根木棒没有被使用,这说明此种长度的木棒不在此次遍历的解中,因此直接跳过 6 *2.当组成木棒时,从大到小选取 7 *3.组成木棒时

POJ 1005 解题报告

题意就是,有一块半圆形区域,从0,0点开始向四周扩展,每年扩展50.0面积(单位统一不用考虑). 计算给定点在第几年结束之前被圆形区域覆盖. 我的思路: 1.计算以给定点到原点长度的半径做半圆的面积. 2.除以50.0,所得结果加1,就是所求 PI取3.14159265 #include<iostream> #include<string> using namespace std; int main() { double x, y; int n; const double PI =

poj 1094 Sorting It All Out 解题报告

题目链接:http://poj.org/problem?id=1094 题目意思:给出 n 个待排序的字母 和 m 种关系,问需要读到第 几 行可以确定这些字母的排列顺序或者有矛盾的地方,又或者虽然具体的字母顺序不能确定但至少不矛盾.这些关系均是这样的一种形式: 字母1 < 字母2 这道题目属于图论上的拓扑排序,由于要知道读入第几行可以确定具体的顺序,所以每次读入都需要进行拓扑排序来检验,这时每个点的入度就需要存储起来,所以就有了代码中memcpy 的使用了. 拓扑排序的思路很容易理解,但写起来

poj 3020 Antenna Placement 解题报告

题目链接:http://poj.org/problem?id=3020 题目意思:首先,请忽略那幅有可能误导他人成分的截图(可能我悟性差,反正有一点点误导我了). 给出一幅 h * w 的图,  “ * ” 表示 point of interest,“ o ” 忽略之.你可以对 " * " (假设这个 “* ”的坐标是 (i, j))画圈,每个圈只能把它四周的某一个点括住(或者是上面(i-1, j) or 下面(i+1, j) or 左边(i, j-1)  or 右边(i, j+1))