随笔分类 -  POJ

POJ2186 强连通分量缩点
摘要:``` /* poj2186 强连通分量缩点 Author : lcy Time : 2017-10-1 *菜鸡的第一道强连通分量题 牛A对牛B存在喜欢关系,并且这种关系具备传递性。给出所有喜欢关系,问有多少只牛被所有牛喜欢。 参考:http://blog.csdn.net/mengxiang000000/article/details/51613914 跑一遍tarjan,将每个强连通分量缩成一... 阅读全文
posted @ 2017-10-01 16:25 cylcy 阅读(131) 评论(0) 推荐(0)
POJ3691 AC自动机 dp
摘要:``` /* poj3691 AC自动机 dp lcy 2017-9-24 给出多个危险基因串,再给出一个基因串,求最少修改几次基因串使得其上不包含危险基因串。 dp部分已给出超详细注释 最重要的一点,AC自动机上的每个点都对应一个状态,状态之间通过字符转移。(个人粗浅理解) */ #include #include #include #include #include #includ... 阅读全文
posted @ 2017-09-27 17:46 cylcy 阅读(102) 评论(0) 推荐(0)
POJ1679 次小生成树
摘要:``` / poj1679 次小生成树问题。 白书中讲到,对于最小生成树,可以通过添加一条边 删除一条边的方法获得 在u v间添加一条边,会形成一条回路,需要删除最小生成树上这之间的最大的边, 所以我们需要先预处理出节点对的瓶颈路 maxc(u,v)=max(maxc(u,t),c(t,v)) 从而 阅读全文
posted @ 2017-09-22 17:37 cylcy 阅读(92) 评论(0) 推荐(0)
POJ2449 求第k短路
摘要:``` //poj2449 求第k短路 / 一个最简单的想法是改造dijkstra算法,一个点可以多次进入优先队列, 统计终点第k次出队时的路径即可。 但这样等到第k次时状态数太多,无法承受。 于是使用astar算法思想对其进行改进。优先队列维护的是f(x)+g(x)的 值最小,其中g(x)是当前点 阅读全文
posted @ 2017-09-22 17:03 cylcy 阅读(101) 评论(0) 推荐(0)
POJ3013 转化为最短路
摘要:``` //poj3013 /* 站在每个点的角度考虑,答案等于每个点的权重*1到该点的所有的边的权值和 可以证明,1到所有点的最短路构成一颗树。直接跑一遍最短路即可 */ #include #include #include #include #include #include using namespace std; #define ll long long #define f... 阅读全文
posted @ 2017-09-22 17:00 cylcy 阅读(112) 评论(0) 推荐(0)
POJ3463 次短路计数
摘要:``` //poj3463 次短路计数 /* 由于次短路条数可能很多,如果使用k短路算法将超时 使用djikstra算法 dijkstra性质: 1.每个点只会更新其他点一次,之后便不会被其他点更新。 2.重边不影响。 有几点注意事项: 0.先求出最短路,再求次短路。 1.维护每个点的最短路恒小于次短路。所以,为了做到这点,每次更新时优先更新最短路, 否则才更新次短路。 2.将状态节点插入堆中时要... 阅读全文
posted @ 2017-09-22 16:58 cylcy 阅读(138) 评论(0) 推荐(0)
POJ3613 求经过k条边的最短路
摘要:``` //poj3613 给定起点终点,求经过k条边的最短路 //矩阵乘法 快速幂 //详见 俞华程 矩阵乘法在信息学中的应用 include include include include include include using namespace std; define ll long l 阅读全文
posted @ 2017-09-22 16:54 cylcy 阅读(137) 评论(0) 推荐(0)
POJ2778 AC自动机 矩阵快速幂(求路径数)
摘要:``` / poj2778 congyu liu 2017 9 22 AC自动机+矩阵快速幂 详见http://blog.csdn.net/morgan_xww/article/details/7834801 感谢博主 先将不能包含的基因组单词跑一遍AC自动机建图, 接着,问题转化成,求从trie树 阅读全文
posted @ 2017-09-22 16:52 cylcy 阅读(128) 评论(0) 推荐(0)
POJ3666 Making the Grade(dp)
摘要:方法来自 "poj 3666 经典dp 加载中..." 感谢原作者。 题意 给一组正整数,让你对每个数进行增减使得最终形成一个不严格单调序列,并保证代价最小(每个数字增减绝对值的和) 方法 考虑不严格递增数列。 状态 : 表示第i个数为第j小的最小代价,同时保证1到i不严格单增。 转移方程 : 此题 阅读全文
posted @ 2017-02-21 23:21 cylcy 阅读(127) 评论(0) 推荐(0)
POJ1328 Radar Installation(贪心)
摘要:题意 Assume the coasting is an infinite straight line. Land is in one side of coasting, sea in the other. Each small island is a point locating in the s 阅读全文
posted @ 2017-01-29 18:57 cylcy 阅读(185) 评论(0) 推荐(0)
POJ2018 Best Cow Fences (二分答案+类前缀和)
摘要:题意 Farmer John's farm consists of a long row of N (1 =0,那么t[i]=t[i+1]+w[i]。若t[i+1] include include using namespace std; const int MAXN=100000+5; int N 阅读全文
posted @ 2017-01-29 18:56 cylcy 阅读(2965) 评论(0) 推荐(0)
POJ1664 放苹果
摘要:题意 m个苹果放n个盘子,苹果、盘子都一样,求情况总数。 想法 开始考虑递归状态f(m,n),表示m个苹果放n个盘子的情况数。转移时,一次枚举i个苹果装进1个盘子里。但为了使枚举情况有序,须设置一个枚举数量趋势(升序或降序),使得情况不会重复。所以最终状态为f(m,n,k),k为在此之前盘子中最大的 阅读全文
posted @ 2017-01-29 17:00 cylcy 阅读(104) 评论(0) 推荐(0)