poj
文章平均质量分 80
ンZee
这个作者很懒,什么都没留下…
展开
-
poj 1330 Nearest Common Ancestors (LCA)
题目链接: poj 1986题目大意: 给出你一棵树,最后一行询问顶点a和顶点b的最近公共祖先解题思路: Tarjan离线查找最近公共祖先: 搜到新的顶点,此顶点的临时祖先就是上一层的顶点 直到搜到叶子就开始回溯,回溯的时候 从这点出发搜过的顶点的临时祖先合并为这个顶原创 2013-10-04 15:19:42 · 1092 阅读 · 0 评论 -
poj 1274 The Perfect Stall (二分图匹配)
题目链接: poj 1274题目大意: 给出N头奶牛,和M个牛棚 每头奶牛只在自己喜欢的牛棚产奶,问最大的产牛量解题思路: 把N头奶牛作为X集合,M个牛棚作为Y集合 奶牛和牛棚的关系就是集合X和集合Y的关系 问题转化为 X集合和Y集合的最大匹配数原创 2013-11-24 17:49:28 · 1455 阅读 · 0 评论 -
poj 3041 Asteroids (二分图匹配)
题目链接: poj 3041题目大意: 给出NxN的矩阵,有M个点是障碍 每次只能删除一行或者一列,最少删除多少次才能清除障碍解题思路: 行作为X集合,列作为Y集合,障碍就是两集合间的连线 问题转化为如何使得选取最少的点,覆盖掉所有的直线 由König定理可原创 2013-11-24 17:36:59 · 843 阅读 · 0 评论 -
poj 1469 || hdu 1083 Courses (二分图匹配)
题目链接: hdu 1083题目大意: 给你N种课程和M个学生,每个学生有自己喜欢的课程 若每个课程都能有一个学生代表输出YES,否则NO解题思路: 把课程作为X集合,学生作为Y集合 匈牙利求他们之间的最大匹配数 若最大匹配数等于课程数(不可能大于的),则满原创 2013-11-24 18:33:03 · 922 阅读 · 0 评论 -
poj 1204 Word Puzzles (AC自动机)
题目链接: poj 1204题目大意: 给出字典,再给出n个单词 找出这些单词在单词表的什么位置,以什么顺序排放(8个方向,A表示正北,顺时针方向依次为B ~ H)解题思路: 由于字典太大,若以字典的所有单词建立字典树空间复杂度很高 建立n个单词的字典树和失败指针原创 2013-11-23 21:56:34 · 1684 阅读 · 1 评论 -
poj 3630 || hdu 1671 Phone List (字典树)
题目链接: hdu 1671题目大意: 给出几串数组,是否存在一个串是另外一个串的前缀,是则输出"YES"解题思路: 每个字符为单位建立一棵Tries树 字符串结尾的结点用w标记,然后插入时判断两种情况: 每次插入时如果经过之前插入字符串的结尾,则之前插入的字符串必定是前缀原创 2013-11-07 13:29:46 · 1297 阅读 · 0 评论 -
poj 3450 Corporate Identity (KMP+最长公共子串)
题目链接: poj 3450题目大意: 给定n个字符串,找出最长的公共子串,若长度小于3则输出IDENTITY LOST解题思路: 选出长度最短的字符串,枚举它的子串 把它的子串分别与其余的n-1个字符串匹配 字符串长度越短它的子串就越少,枚举量越少 枚举子串的顺序原创 2013-10-23 12:55:39 · 1404 阅读 · 0 评论 -
poj 1961 Period (KMP+最小循环节)
题目链接: poj 1961题目大意: 给定字符串,找出他所有的前缀的最小循环节的长度解题思路: 思路与2406一样 Tlen%(Tlen-next[Tlen])==0则Tlen-next[Tlen]是最小循环节 证明过程参考2406的解题报告 这里需要多次原创 2013-10-23 12:38:22 · 952 阅读 · 0 评论 -
hdu 3072 Intelligence System (Tarjan+Kosaraju+缩点)
题目链接: hdu 3072题目大意: 给定有权值有向图,并且题意满足缩点之后只有一个入度为0的点 从该点出发,传递到所有的顶点的最小权值 联通分量内的点之间互相传递且不需要计算权值解题思路: 缩点后的是DAG,并且唯一入度为0的顶点 顶点入度的边至少存在一原创 2013-10-22 23:49:28 · 961 阅读 · 0 评论 -
poj 2186 Popular Cows (Kosaraju+缩点)
题目链接: poj 2186题目大意: 给定有向图,满足X使得图中任意的顶点Y都存在Y-->X的路径 计算X满足条件的顶点总数解题思路: Kosataju找联通分量,缩成点 出度为0的顶点必须有且仅有一个 如果出度为0的顶点有若干个,那么这些联通分量之间是不原创 2013-10-22 23:09:14 · 868 阅读 · 0 评论 -
poj 3080 Blue Jeans (KMP+最长公共子串)
题目链接: hdu 1269题目大意: 给定n个字符串,找出最长的公共子串,不存在输出 no significant commonalities解题思路: 选出长度最短的字符串,枚举它的子串 把它的子串分别与其余的n-1个字符串匹配 字符串长度越短它的子串就越少,枚举量越少原创 2013-10-23 13:08:26 · 1195 阅读 · 0 评论 -
poj 2406 Power Strings (KMP+最小循环节)
题目链接: poj 2406题目大意: 给出一个由某个串重复有限次得到的字符串 求重复次数最多是多少,既找出最小重复子串解题思路: 字符串abcabcabc的next[ ]值为 0 1 2 3 4 5 6 7 8 9 a b c a b c原创 2013-10-23 11:24:33 · 950 阅读 · 0 评论 -
hdu 1150 || poj 1325 Machine Schedule (二分图匹配)
题目链接: hdu 1150题目大意: A机器有N种模式,B机器有M种模式 K件产品,每件产品可以由a模式或者b模式完成 问最少切换多少次模式可以完成K件产品解题思路: N种模式作为X集合,M种模式作为Y集合 它们之间的连线表示两者取其中之一就可完成产品原创 2013-11-24 19:19:36 · 1074 阅读 · 0 评论 -
poj 3614 Sunscreen (贪心)
题目链接: poj 3614题目大意: 给出N个区间,然后M个数,每个数最多可以匹配Ki次 问最多有多少个区间能被匹配解题思路: 若按区间起点从小到大开始排,每个数按从小到大开始排 下面这种情况会过不了 1 9 6原创 2014-01-12 18:04:53 · 1454 阅读 · 0 评论 -
poj 3522 Slim Span (Kruskal+枚举)
题目链接: http://poj.org/problem?id=3522题目大意: 在一个无向联通图中 求一棵最大边与最小边差值最小的生成树解题思路: 最大边与最小边差值最小的生成树 换言之使得最小边与最大边的长度最接近 任取一条边为生成树最小的边,唯一存原创 2013-03-18 12:45:07 · 1250 阅读 · 0 评论 -
poj 1088 滑雪 (状态压缩DP)
题目链接: poj 1088题目大意: 给出NxM的矩阵,每个点的值都不同 若某点四个方向中某个方向的值比它小则可以移动,求能够走的最长步数解题思路: 经典的状态压缩Dp,Dp[ x ][ y ]记录从(x , y)点出发能走的最长步数 Dp[ x ][ y ]=Max(Dp[ x ][ y ],DF原创 2014-01-20 22:21:08 · 1050 阅读 · 0 评论 -
poj 3422 Kaka's Matrix Travels (最小费用最大流 模板)
题目链接: poj 3422题目大意: 给出NxN的数字矩阵,左上角走到右下角(只能向右或向下走),sum记录走过点值的和 走过的点值置为0,问走K次,求sum的最大值解题思路: 开始想到的是K次最长路,结果WA了 因为每次走最长路会导致下次走的时候不是最优解原创 2014-01-14 20:28:58 · 1098 阅读 · 0 评论 -
poj 1273 Drainage Ditches (最大流Dinic)
题目链接: 1273题目大意: 有N个点和M条边,每条边最大的流量为c,初始流量为0 1为源点,n为汇点求最大流解题思路: 最短增广路算法比一般增广路算法每次增广大范围小,因为每次增广都在残留网络进行 但是最短增广路每次还是要回到源点继续增广,而连续最短增广路算法则利用深搜的思想原创 2014-01-11 01:25:11 · 1339 阅读 · 0 评论 -
poj 1041 John's trip (边最小字典序欧拉路径 Fleury)
题目链接: poj 1041题目大意: 给出无向图,每条边有唯一的序号 是否存在欧拉回路,若存在输出边序号最小字典序的路径解题思路: 无向欧拉回路的判断方法,若存在奇数度点,则不存在欧拉回路 依据静态邻接链表的特性,从序号大到小建立边 因为这样总能保证序号最原创 2014-01-12 21:38:15 · 1501 阅读 · 0 评论 -
poj 3281 Dining (最大流Dinic)
题目链接: poj 3281题目大意: 有N头奶牛,A种食物和B种饮料,每头奶牛都有自己喜欢的食物和饮料 问有最多有多少头奶牛既可以得到自己喜欢的食物又可以得到喜欢的饮料解题思路: 开始没有把奶牛分成两个点,这样会导致几种食物流入同一头奶牛 正确的构图: 1.建立超原创 2014-01-12 20:59:47 · 984 阅读 · 0 评论 -
hdu 1956 || poj 1637 Sightseeing tour (混合图欧拉回路)
题目链接: poj 1637题目大意: 给出既有有向边,又有无向边的图 问该图是否存在欧拉回路解题思路: 先把无向边任意定向,然后记录每个结点的出度和入度,设X=出度-入度 若X为奇数,就不存在欧拉回路,因为把边反向只会使得X+-2,无论如何也不能得到0 建原创 2014-01-13 13:20:10 · 1415 阅读 · 0 评论 -
poj 2337 Catenyms (边最小字典序欧拉路径 Fleury)
题目链接: poj 2337题目大意: 给出N个单词,单词A的开头与另外单词B结尾相同 则单词A和单词B可以连起来,问是否可以把所有单词都串成一条线 输出最小字典序的(按单词的字典序串)解题思路: 对于每个单词,把单词的起点和终点字母当作顶点 这个单词即是起原创 2014-01-12 21:31:18 · 1318 阅读 · 0 评论 -
poj 1698 Alice's Chance (最大流Dinic)
题目链接: 1689题目大意: 有个人想拍n部电影,每部电影限定每周哪几天可以拍 并且必须在第ki周之前把这部电影拍完,问能否拍完n部电影解题思路: 把每部电影当作一个顶点,源点指向这些顶点,容量为该电影需要拍多少天 然后把每一天都当作顶点,某个工作可以在这天完成就连容量为1大边原创 2014-01-11 02:49:41 · 1190 阅读 · 0 评论 -
hdu 1533 || poj 2195 Going Home (最小费用最大流)
题目链接: poj 2195题目大意: 给出NxM的地图,'.'表示可以走的,'H'表示家,'m'表示人,H和m的数目相同 求把所有人移动到H的最小步数解题思路: 建立超级源点,分别连接每个m,容量为1,费用0 建立超级汇点,分别把每个H连接到汇点,容量为1,费用为0原创 2014-01-11 23:58:09 · 1071 阅读 · 0 评论 -
poj 2516 Minimum Cost (最小费用最大流)
题目链接: poj 2516题目大意: 给出N间商店和它们对K种商品的需求,再给出M个供应商和K种商品的库存 然后再给出第x种商品从j供应商运输到i商店的单位运输费用 求N间商店对商品的需求能否得到满足,并且输出最小费用解题思路: 如果直接建图会超时,因为顶点数太多原创 2014-01-12 16:14:41 · 1055 阅读 · 0 评论 -
poj 2762 Going from u to v or from v to u (Kosaraju+缩点+单链图)
题目链接: poj 2762题目大意: 给定有向图,问是否满足对于任意的顶点X和Y 使得X->Y或Y->X至少存在一条路径解题思路: 联通分量找出,缩成点形成DAG(有向无环图) 使得缩点后的图满足题意,必须是单链图 换句话说同一个点只能有一个分支原创 2013-10-22 13:28:15 · 1048 阅读 · 0 评论 -
poj 1986 Distance Queries (LCA)
题目链接: poj 1986题目大意: 给出一棵树,求a—b路径的长度解题思路: 与hdu 2874类似 LCA离线查找最近公共祖先 dist[ ]求距离: 距离=dist[ a ] + dist[ b ] — 2*dist[ LCA(a,b) ]代码://Final LCA离线 查找两点最原创 2013-10-05 00:45:23 · 1374 阅读 · 0 评论 -
poj 2449 Remmarguts' Date (K短路+A*+Dijkstra)
题目链接: http://poj.org/problem?id=2449题目大意: 在一个有N个点M条边的有向连通图里 找到S到T的第k短路的长度解题思路: 经典的k短路A*算法题 估价函数: f[x]=h[x]+g[x] f[x]: 估计经过该点原创 2013-04-12 16:49:24 · 1224 阅读 · 0 评论 -
poj 2585 Window Pains (有向环)
题目链接: http://poj.org/problem?id=2585题目大意: 在给定的4x4的矩阵中会出现9个数字 每个数字的出现为2x2矩阵 出现的位置是不同的 先出现的数字会被后出现的数字覆盖原创 2013-03-28 01:14:34 · 2126 阅读 · 0 评论 -
poj 1270 || uva 124 Following Orders (拓扑排序)
题目链接: http://poj.org/problem?id=1270题目大意: 第一行给出字符串(小写字母),表示出现的字符类型 第二行是约束关系,a1 b1 a2 b2 a3 b3.....ai bi,表示ai必须在bi前面 按照字典序输出所有满足约束条件的序列原创 2013-04-07 14:01:54 · 2645 阅读 · 0 评论 -
poj 1847 Tram (SPFA最短路)
题目链接: http://poj.org/problem?id=1847题目大意: 这道题理解起来有点恶心 有N个铁轨交叉口,这些交叉口与其他交叉口通过铁轨连接 电车开进一个交叉口,想去另一个交叉口,必须要把灯照向下一个交叉口 求从A到B驾驶员需要转换灯的最小次数解题思路:原创 2013-03-20 23:31:57 · 1030 阅读 · 0 评论 -
poj 3615 Cow Hurdle (Floyd)
题目链接: http://poj.org/problem?id=3615题目大意: 给出有N个顶点M条边的有向连通图 H可以抽象为每条路的长度 询问T次,每次询问的内容是: A到B点能走的所有路中最长的那段路最短是多少?解题思路: 最长的那段路最短是多原创 2013-03-08 23:17:04 · 796 阅读 · 0 评论 -
poj 2781 The mysterious X network (BFS最短路)
题目链接:http://poj.org/problem?id=2781题目大意:编号从1~N的网络中,从c1走到c2同学的地方寻求帮助,求使得经过的中间站点最少。 解题思路:简单的最短路问题,两点之间的最短路径,故用SFPA。 范围15,不能用邻接矩阵,二维数组会爆栈,用邻接链表来处理. time[i]数组记录走到i点是需原创 2013-02-26 21:15:02 · 860 阅读 · 0 评论 -
poj 2513 Colored Sticks (欧拉回路+并查集+Hash)
题目链接:http://poj.org/problem?id=2513题目大意: 给出无数根筷子,每个筷子头尾各一个单词代表颜色 颜色相同则可以拼在一起 如 blue red 的筷子和 red violet 的筷子可以拼在一起 如 red blue 的筷子和 r原创 2013-03-14 15:59:26 · 950 阅读 · 0 评论 -
poj 2782 Bin Packing (贪心)
题目链接:http://poj.org/problem?id=2782题目大意: 给出n袋长度不一定相同的垃圾,把它们全部装在长度不超过L的垃圾桶里; 每个垃圾桶至多有两袋垃圾,并且垃圾的长度相加小于L; 求最少用多少个垃圾桶可以装入全部垃圾;解题思路: 每个垃圾桶最多只能有两袋垃圾,也就是说可以装是一原创 2013-02-28 02:43:31 · 1071 阅读 · 0 评论 -
poj 2785 4 Values whose Sum is 0 (二分+枚举)
题目链接:http://poj.org/problem?id=2785题目大意: 给出四个长度为n的列表(从上到下) 从每个列表分别取出一个数据,使得相加的结果为0 问最多存在多少种情况?解题思路: n的范围(1 可以转化为O(2*n^2):原创 2013-02-28 18:32:32 · 1044 阅读 · 0 评论 -
poj 2485 Highways (最小生成树)
题目链接:http://poj.org/problem?id=2485题目大意:给出1~N的城镇,现在需要修一条高速公路,使得任意城镇可以互相来往; 转换之后就成了求最小生成树中最长的边 解题思路:input的是邻接矩阵,直接用 prim 算法代码:#include #include #define MAX 501#define INF 0x3f3f3f3fint原创 2013-02-26 20:01:30 · 1646 阅读 · 0 评论 -
poj 2362 || zoj 1909 Square (DFS+剪枝)
题目链接:http://poj.org/problem?id=2362题目大意:给出M条筷子,问是否能够拼凑成正方形,是则打印yes,否则no.解题思路:范围4 剪枝:1.总数不能被4整除,直接打印 no; 2.最长的那个筷子大于平均数,直接打印 no;原创 2013-02-26 20:19:31 · 1128 阅读 · 0 评论 -
poj 3070 Fibonacci (矩阵快速幂)
题目链接: http://poj.org/problem?id=3070题目大意: 求Fibonacci数列第n项(0 ≤ n ≤ 1,000,000,000),对m取模后的结果解题思路: 直接求解第n项,由于n太大,时间复杂度非常高 我们需要构造一个矩阵使得与(a,b)相乘后等于(b,a+b)原创 2013-05-15 13:09:46 · 1643 阅读 · 0 评论 -
poj 3613 Cow Relays (K步最短路+Floyd+矩阵快速幂)
题目链接: http://poj.org/problem?id=3613题目大意: 给出一张无向连通图,求S到E经过k条边的最短路。解题思路: 利用递推的思路,先算出经过一条边的最短路,再算两条边......k-1条边,k条边的最短路 先看一下Floyd的核心思想: edge[i][j]=min(edge[i][j],edge[i]原创 2013-05-07 11:19:02 · 1501 阅读 · 0 评论