Onlineudge poj
15zhazhahe
打杂小能手/吃/喝/睡/胖/菜/
展开
-
poj 1269 Intersecting Lines
题目链接:http://poj.org/problem?id=1269 题意:给你两条线段的两个端点,让你判断他们的情况,总共有三种情况,共线(NONE),平行(LINE),和相交(Point) 解析:共线和平行直接用斜率和叉乘来判断,剩下的就是求直线交点(推直线交点的时候心态别崩)#include <cmath>#include <algorithm>#include <iostream>原创 2017-03-01 23:21:36 · 288 阅读 · 0 评论 -
poj3126 Prime Path【bfs】
题目链接:http://poj.org/problem?id=3126 题意:给你两个四位数的素数,让你把第一个素数通过一定的操作步数变成第二个,每步操作只能改变某一位的值,改变后的数也必须是素数,且不能有前导零,如果达到目的,则输出最少的步数,如果不能输出Impossible 解析:bfs好写一点,每次拿出来队头,然后枚举第几位,然后枚举这位改变为什么,判断是否合法,加入队列,一直跑到结果或队原创 2017-08-30 14:10:49 · 331 阅读 · 0 评论 -
poj1321 棋盘问题【dfs】
题目链接:http://poj.org/problem?id=1321 题意:中文题,题意讲的不算清楚,算是半猜出来的题意把,就是把k个棋子放在棋盘上,棋子只能放在#格子上,同行同列不能有两个棋子,问你合法的方案数 解析:dfs,从第0行开始往下找,逐行向下搜索,这样就避免了同行出现两个的情况,只用考虑同列的情况即可,写起来也比较好写#include <cstdio>#include <alg原创 2017-08-30 13:31:04 · 325 阅读 · 0 评论 -
poj3414 Pots【dfs】
题目链接:http://poj.org/problem?id=3414 题意:有两个容器,容量分别为A,B,对于容量有3种操作,1、装满,2、倒掉,3、从一个倒到另一个,问你能否进过一系列操作把其中一个容器装上C的水,如果能输出,最小操作数,以及具体操作步骤,如果不能就输出impossible 解析:这题和非常可乐这题很像,就是被子倒来倒去的,但是这个需要记录路径,一开始想用bfs,感觉不好记录原创 2017-08-29 17:20:01 · 320 阅读 · 0 评论 -
POJ 3984 迷宫问题 【DFS】
题目链接:http://poj.org/problem?id=3984 题意:中文题…… 解析:图不大,dfs直接做,到终点时更新下路径就好#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <queue>using namespace s原创 2017-02-17 11:25:45 · 591 阅读 · 0 评论 -
poj1287 Networking【最小生成树】
题目链接:http://poj.org/problem?id=1287 题意:类似n个点,m条边,每条边需要花费一定的代价才能联通,问你把n个点联通的最小花费 解析:最小生成树裸题#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>using namespace std;const int原创 2017-08-21 21:49:43 · 337 阅读 · 0 评论 -
poj2553 The Bottom of a Graph【强连通】
题目链接:http://poj.org/problem?id=2553 题意:现在还不是很明白,总之是要找强连通分量出度为零的点,一开始我认为如果有多个这样的分量就无解,结果WA了,看了讨论,发现只用找出度为零的就可以了,再看一遍题目还是没看懂。。。 解析:出度为零的联通分量,就直接强连通缩点,然后找出度为零的就可以了,主要还是题意。。。很难受#include <iostream>#inclu原创 2017-07-24 13:54:17 · 300 阅读 · 0 评论 -
poj2186 Popular Cows【强连通】
题目链接:https://vjudge.net/contest/56104#problem/J 题意:有n只牛,a认为b受欢迎,b认为c受欢迎,那么a也认为c受欢迎,问你有几只牛是被其他所有人认为受欢迎 解析:如果把每个牛看成一个点,谁认为谁受欢迎,看成是一条有向边,那么就相当于问,有几个节点,是这个图上其他任意节点都可达的,首先强连通缩点,对于每一个强连通分量里面的任意两点一定是可达的,缩点以原创 2017-07-23 16:17:19 · 300 阅读 · 0 评论 -
poj2594 Treasure Exploration【最小路径覆盖】
题目链接:http://poj.org/problem?id=2594 题意:给你一个有n个点,m条边的有向图,你派若干个机器人去探路,问你最少派几个机器人能把全部路走完,每个结点可以重复走 解析:很明显的最小路径覆盖,由于可以重复走,所以要用floyd缩点处理以后,ans = n-最大匹配#include <iostream>#include <cstring>#include <algo原创 2017-07-19 13:52:54 · 289 阅读 · 0 评论 -
poj2446 Chessboard【最大匹配】
题目链接:http://poj.org/problem?id=2446 题意:有一个n*m的棋盘,上面有k个洞,问你能不能用1*2,如果能就输出YES,否则输出NO 解析:如果把一个1*2的砖块能铺上去,看成一个格子和他相邻格子是有条边的,那么就可以把这个棋盘构成一个二分图,那么你只需要判断最大匹配是否等于空格数就可以了,注意:题目是先输入y再输入x#include <iostream>#in原创 2017-07-19 10:11:50 · 306 阅读 · 0 评论 -
poj2367 Genealogical tree【拓扑排序】
题目链接:http://poj.org/problem?id=2367 题意:有n个人,他们之间有血缘关系,即第i行表示这些非零数都是i的儿子,现在要决定发言顺序,从辈分高的开始 解析:裸的拓扑排序,%d手抖写成%x(WA哭)#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include原创 2017-07-22 12:51:12 · 322 阅读 · 0 评论 -
poj1094 Sorting It All Out【拓扑排序】
题目链接:http://poj.org/problem?id=1094 题意:有26个字符,你输入形如x#include <iostream>#include <cstdio>#include <cstring>#include <vector>#include <queue>using namespace std;const int maxn = 205;int in[maxn];原创 2017-07-22 10:53:49 · 278 阅读 · 0 评论 -
poj1386 Play on Words【欧拉图】
题目链接:http://poj.org/problem?id=1386 题意:给你n个字符串,问你他们是否能首尾拼接起来,其实也就是问你,只看开头后结尾的字母所构成的图是否有欧拉路或者欧拉回路 解析:对于有向图来说,欧拉回路的存在条件是图联通,且每一点的出度等于入度,欧拉路的条件是,图联通,起点的出度大于入度,终点的入度大于出度,其余点出度和入度相等。所以用并查集判断图联通,度用数组记录下就好#原创 2017-07-10 11:46:12 · 315 阅读 · 0 评论 -
poj2389 Bull Math
题目链接:http://poj.org/problem?id=2389 题意:给你两个数,让你输出相乘的结果 解析:高进度乘法,c++用数组来模拟,java用BigInteger#include <string>#include <cstring>#include <cstdio>#include <iostream>using namespace std;const int maxn原创 2017-07-09 22:31:14 · 375 阅读 · 0 评论 -
poj3468 A Simple Problem with Integers 【线段树】
题目链接:A Simple Problem with Integers 题意:n个数,q次操作,操作分为询问和修改操作,修改是让[a,b]的元素加上c,查询是求[a,b]元素的和 解析:线段树,区间修改,区间查询#include <algorithm>#include <cstdio>#include <cstring>#include <iostream>using namespace原创 2017-02-19 21:11:16 · 267 阅读 · 0 评论 -
poj3692 Kindergarten【最大独立集】
题目链接:http://poj.org/problem?id=3692 题意:有一个幼儿园,老师想选若干个男女生一起做游戏(选出来的人必须全部相互认识),现已知女生之间全部都相互认识,,男生都相互认识,和若干女生和若干男生相互认识,为最多能选出多少人一起做游戏 解析:这是一个最大独立集的问题,构图的方式是:如果男生女生之间相互不认识就建一条边,然后去找最大匹配,拿顶点数-最大匹配,邻接矩阵好构图原创 2017-07-16 18:24:21 · 320 阅读 · 0 评论 -
poj1469 COURSES【二分图匹配】
题目链接:http://poj.org/problem?id=1469 题意:有p门课,有n个学生,每门课有count个学生参加,现在每门课都要选一个代表出来,一个代表只能代表一门课,现在问你是否能对于每门课都选出一个代表出来 解析:其实就是问你这个二分图是否有完美匹配,即求最大匹配是否等于p#include <iostream>#include <algorithm>#include <s原创 2017-07-15 14:03:43 · 236 阅读 · 0 评论 -
poj3087 Shuffle'm Up
题目链接:http://poj.org/problem?id=3087 题意:给你两塔牌,问你能否把这两塔牌,按照一定的步骤合并成目标的那一堆牌,看题目的图示就大概知道是什么样的操作了,就是两个字符串交叉叠在一起,如果不行,在从中间对半分成两个,再重新组合,如果能就输出操作步数,否则输出-1 解析:直接模拟就好了,每次组合起来的东西,标记一下,如果组合出来的已经标记了,说明一定不能组成了#inc原创 2017-08-31 14:54:06 · 260 阅读 · 0 评论 -
poj3279 Fliptile【二进制枚举状态】
题目链接:http://poj.org/problem?id=3279 题意:有一个n*m的棋盘,上面 摆满了棋子,有的是白棋,有的是黑棋,问你能否通过翻转把他变成全为白色的棋子,翻转一个棋子,周围的棋子都变成相反的颜色,如果能则输出一个相应的矩阵,只不过每一位表示翻转的次数,总翻转次数要最少,如果不能就输出impossible 解析:如果是自己来玩这个游戏的话,肯定是,如果上一行是黑色的,那么原创 2017-08-31 15:24:45 · 349 阅读 · 0 评论 -
poj2236 Wireless Network
题目链接:http://poj.org/problem?id=2236 题意:有n台电脑,当电脑相互之间的距离小于d,才能进行通讯,现在有两种操作,O x表示,打开第x台电脑的电源,S x y,表示询问x和y台电脑之间能否通讯 解析:并查集,因为只有打开电源才有通讯的道理,所以每次做O操作的时候,才做合并操作,然后每次询问,就相当于询问是否在同一个集合里#include <iostream>#原创 2017-10-07 09:44:45 · 258 阅读 · 0 评论 -
poj1039 Pipe
题目链接:http://poj.org/problem?id=1039 题意:给一个宽度为1的管子(不透明,不反射),这时有一段光线过来,问你最远可以射到哪里(直线),输出最远的x坐标,如果可以通过管子,就输出一段话 解析:假设这条光线不碰到任何顶点,那么你可以通过平移这条光线使得他碰到一个顶点,此时要射得远一点,碰到一个顶点后,发现你还可以通过旋转来使得他碰到第二个顶点,那么此时又会远一点,所原创 2017-03-11 20:50:51 · 424 阅读 · 0 评论 -
poj1751 Highways
题目链接:http://poj.org/problem?id=1751 题意:给你一个n个点,点之间的边权为两点间距离,而且有m条边的距离为0,现在让你求这个图的最小生成树,且输出最小生成树上边权不为0的边 解析:做最小生成树的时候直接把边存起来即可,最后输出一下#include <iostream>#include <algorithm>#include <cstdio>#include原创 2017-10-04 20:58:30 · 435 阅读 · 0 评论 -
poj1789 Truck History
题目链接:http://poj.org/problem?id=1789 题意:简化的题意,大概就是有n个字符串,可以看成n个结点,每个结点之间的权值为两个字符串之间不同的字符个数,现在让你求这个图的最小生成树 解析:最小生成树裸题#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>using原创 2017-10-04 19:27:39 · 241 阅读 · 0 评论 -
poj1251 Jungle Roads
题目链接:http://poj.org/problem?id=1251 题意:看题面的图,求最小生成树 解析:最小生成树裸题,注意一下输入就好#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>using namespace std;const int maxn = 1e5+100;str原创 2017-10-04 19:03:49 · 235 阅读 · 0 评论 -
poj1308 Is It A Tree
题目链接:http://poj.org/problem?id=1308 题意:给你一个有向图,问你这是不是一棵树 解析:输入有点坑,他可能没有一条边,其他的你只需要判断一下边数是不是等于点数-1,每个结点的前驱结点是不是只有一个#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>using n原创 2017-10-10 19:29:49 · 253 阅读 · 0 评论 -
poj2421 Constructing Roads
题目链接:http://poj.org/problem?id=2421 题意:给你一个邻接矩阵并且还告诉你已经有一些边相连了,让你求最小生成树 解析:已经相连的边赋值为0,然后直接做最小生成树#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <cmath>using na原创 2017-10-03 11:41:18 · 299 阅读 · 0 评论 -
poj2031 Building a Space Station
题目链接:http://poj.org/problem?id=2031 题意:给你n个球,让你用最小的花费,把这n个球联通,如果两个球相交,就默认联通,否者连接这两个球的花费就是,球面之间的最短距离,输出最小花费 解析:最小生成树裸题#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#inc原创 2017-10-03 11:29:18 · 296 阅读 · 0 评论 -
poj1258 Agri-Net
题目链接:http://poj.org/problem?id=1258 题意:给你一个邻接矩阵让你求最小生成树 解析:裸题,没什么好说的,但是他这个数据范围肯定有问题,我开105的数组,给我MLE,我开1e5就A了,莫名其妙#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include原创 2017-10-03 10:41:08 · 339 阅读 · 0 评论 -
poj2349 Arctic Network
题目链接:http://poj.org/problem?id=2349 题意:有s颗星球,有p个雷达站,如果雷达站在同一个星球上,不需要距离就可以直接通信,如果不在一个星球上,他们之间的距离不能超过D,现在给你p个雷达站的坐标,如果要把这整个雷达站连通,问你最小的D是多少 解析:首先要联通全部雷达站,肯定是最小生成树,然后让你求一个D值,雷达站之间连边,相当于如果距离大于D就不能相连,那么可以先原创 2017-10-03 10:25:37 · 288 阅读 · 0 评论 -
poj1847 Tram
题目链接:http://poj.org/problem?id=1847 题意:有一个轨道网络,总共有n个结点,每个结点通向若干个其他节点,但是有些结点要通的话,必须要打下开关,现在问你 从a结点到b结点,需要打几次开关 解析:一开始就直接联通的边权设为0,不连通的边权设为1,然后直接跑a到b的最短路即可,因为结点比较少,所以用Floyd比较方便,记得有输出-1的情况#include <iost原创 2017-10-02 19:29:00 · 307 阅读 · 0 评论 -
poj3660 Cow Contest
题目链接:http://poj.org/problem?id=3660 题意:有一场牛牛竞赛,总共有n只牛,有m场比赛,每场比赛告诉你A打赢了B,现在问你m场比赛下来,有几只牛的排名是能被确定的 解析:如果一只牛能确定排名,那么他一定跟其他n-1只牛有胜负关系,那么我们就可以确定这只牛的排名了,胜负关系其实就是一条单向边,其实只要求有多少只牛的度为n-1即可,不过有一个条件是,如果A打赢B,B打原创 2017-10-02 00:11:47 · 290 阅读 · 0 评论 -
poj2240 Arbitrage
题目链接:http://poj.org/problem?id=2240 题意:有n种货币,有m种兑换方式,每种兑换方式有一定的汇率,问你有没有一种赚钱方法,能够换来换去赚钱的 解析:其实可以把所有的货币理解成一个个的结点,汇率,就是他们之间的一条单向边的权值,做边的松弛操作就相当于汇率相乘,现在题目问的就是问你经过各种松弛后是否有一个自环的汇率大于1的,只有30种货币,直接flyod就可以了#i原创 2017-10-01 22:40:35 · 253 阅读 · 0 评论 -
poj3268 Silver Cow Party【最短路】
题目链接:http://poj.org/problem?id=3268 题意:有n个农场,在x号农场有一个派对,农场之间有m条单向边连接着这些农场,每条边有一定的时间花费,每只牛都会从自己农场出发去参加这个派对,参加完以后再回到自己的农场,由于这个牛很懒,会选择总花费最少的路径来走,现在问你所有牛中,参加完派对回到农场的最多的时间花费 解析:题意总结起来就是存在一个点i->x的最短路,和x->i原创 2017-09-30 20:57:33 · 293 阅读 · 0 评论 -
poj1456 Supermarket【优先队列】
题目链接:http://poj.org/problem?id=1456 题意:有一家商场,有n件物品要卖,每件物品,必须在di天前卖出,才能获利pi元,每天只能卖一件商品,问你怎样安排,才能使得获利最大 解析:贪心,从截止日期最大的开始枚举天数,如果大于这个截止日期的就压到优先队列里面,优先队列每次拿出来的是最大价格的,这样来维护答案即可#include <cstdio>#include <c原创 2017-10-09 15:39:57 · 320 阅读 · 0 评论 -
poj2387 Til the Cows Come Home(dijkstra)
题目链接:http://poj.org/problem?id=2387 解析:大意就是给你一个图,找从一号结点到n号结点的最短路,这个最短路一定会存在,让你输出这个结果 解析:自己脑残写错了代码,看了讨论,发现这题确实坑。。。要注意一下重边,额。。。数据范围也有错,不过正常邻接表,最大值设大一点,不写错代码,应该就能1A的,毕竟裸题#include <iostream>#include <al原创 2017-09-20 23:14:38 · 280 阅读 · 0 评论 -
poj1611 The Suspects
题目链接:http://poj.org/problem?id=1611 题意:有n个人,总共有m个社团,现在0号病了,如果和0号处于一个社团的就会一起生病,总之在社团之间会相互传染,比如样例1,现在问你有几个人生病了 解析:并查集,对于全部人来做并查集,社团之间相互有连接就加到一个集合里面,最后看0号结点的那个集合有多少个元素即可,记录元素个数,可以开一个son数组,在合并的时候更新一下#inc原创 2017-10-07 10:52:37 · 244 阅读 · 0 评论 -
poj1325 Machine Schedule【最小顶点覆盖】
题目链接:http://poj.org/problem?id=1325 题意:有k个工作,有两种机器A,B,A机器有n种工作模式,B有m种工作模式,A,B的工作模式初始都为0,对于工作i,只能工作在A的x模式或B的y模式,而每次为机器更换工作模式需要重启机器,问你完成所有工作的情况下,最少的重启机器次数 解析:这是一道最小顶点覆盖的题目,由题意可得,这是二分图,故最小顶点覆盖等于最大匹配数,对于原创 2017-07-15 13:20:28 · 268 阅读 · 0 评论 -
poj1274 The Perfect Stall【二分图匹配】
题目链接:http://poj.org/problem?id=1274 题意:一个农场主,建了m个高科技产奶器,他由n头奶牛,每头奶牛值喜欢其中的几个产奶器,只有去自己喜欢的产奶器那里才能产奶,现问你最多几头牛能产奶 解析:二分图匹配的经典问题,直接上匈牙利#include <iostream>#include <algorithm>#include <string>#include <c原创 2017-07-14 15:51:23 · 270 阅读 · 0 评论 -
poj3750 小孩报数问题
题目链接:http://poj.org/problem?id=3750 题意:中文题 解析:数据小,开数组直接模拟#include <iostream>#include <cstdio>#include <algorithm>#include <vector>#include <cstring>#include <queue>#include <cmath>#include <ma原创 2017-04-09 13:25:30 · 854 阅读 · 0 评论 -
poj3751 时间日期格式转换
题目链接:http://poj.org/problem?id=3751 题意:中文题 解析:认真看清楚题目要求,很水的模拟,输入输出有点技巧#include <iostream>#include <cstdio>#include <algorithm>#include <vector>#include <cstring>#include <queue>#include <cmath>原创 2017-04-09 13:15:21 · 606 阅读 · 0 评论