poj
文章平均质量分 76
for_further
这个作者很懒,什么都没留下…
展开
-
poj 3666--Making the Grade
题意就是FJ想要修一条海拔单调增或单调减的路,修之前的海拔是A[i],修之后是B[i],花费|A[i] - B[i]|。求最小花费。http://poj.org/problem?id=3666要使花费最小,那么修改后的海拔要么和前一个相等,要么和后一个相等。这样才能保证花费最小。所以B中的数一定都在A中出现过。我们考虑对原数组排序,记为b[i]。dp[i][j]表示:前i +原创 2014-02-23 23:24:54 · 1488 阅读 · 0 评论 -
poj 3279--Fliptile(二维反转)
给一个0,1组成的矩阵,要将所有的1都反转成0,反转某一个的时候,起上下左右也一起反转。求翻动次数最小。http://poj.org/problem?id=3279二维反转。和一维反转相类似。我们从第一行开始考虑。先二进制枚举出第一行的反转情况。然后从第二行开始,如果(i - 1, j)为1,则反转(i, j)。因为此时只有(i, j)可以影响(i - 1, j)的正反。最原创 2014-03-05 21:56:32 · 1283 阅读 · 0 评论 -
poj 2785--4 Values whose Sum is 0(折半枚举)
给出a, b, c, d四组数,从它们之中各取出一个数,使得这4个数的和为零,求这样组合的个数。如果一列中有相同的数字,将它们当成不同的看。http://poj.org/problem?id=2785数据范围大,不能O(n^4)。先枚举出c和d的组合情况,放入数组cd,将其排序。再枚举a和b组合的情况,并从cd中二分出结果。这样复杂度就变成O(nlogn)#includ原创 2014-03-06 22:28:05 · 623 阅读 · 0 评论 -
poj 3684--Physics Experiment(碰撞)
有n个半径为r的球,从距地面高度为h的圆筒,每隔1秒坠落一个,求t时刻各球距地面的距离。http://poj.org/problem?id=3684假设小球半径为0,碰撞就是交换速度,碰撞后的小球沿着对方原来的轨迹运动。当半径大于0时,在高度上加上2ri即可(r的单位是厘米。。)高度计算是简单的物理公式推导。。#include #include #inc原创 2014-03-05 23:32:17 · 1406 阅读 · 1 评论 -
poj--1753 Flip Game(二维反转)(高斯消元)
给定4乘4的01矩阵,反转成全零或者全1原创 2014-04-07 15:31:44 · 725 阅读 · 0 评论 -
poj -- 2947 Widget Factory(高斯消元)
有n种产品,m个员工,每个员工在gei原创 2014-05-08 16:26:14 · 548 阅读 · 0 评论 -
poj--2065 SETI
给一个素数p和长度为n的字符串str。并ding原创 2014-05-09 15:43:05 · 544 阅读 · 0 评论 -
poj -- 3185 The Water Bowls(高斯消元)
有一个长度为20的01序列,要将其翻cheng全0原创 2014-04-26 18:39:59 · 732 阅读 · 0 评论 -
hdu -- 3336 Count the string(KMP + dp)
求一个串所有前缀出现次数的和原创 2014-08-11 09:39:40 · 560 阅读 · 0 评论 -
poj -- 2778 DNA Sequence && hdu -- 2243 考研路茫茫——单词情结(AC自动机 + 矩阵)
这两道题都是需要用矩阵加速的AC自动机。原创 2014-08-12 09:36:03 · 861 阅读 · 0 评论 -
poj 2991--Crane(线段树)
起重机有n段,每段都可以旋转,求最后一段的坐标。http://poj.org/problem?id=2991线段树。用线段树维护旋转的角度,成段更新。首先要将每一条线段转换成向量。根据向量绕原点旋转的表达式,可以计算出旋转后的坐标。原创 2014-03-10 21:01:23 · 645 阅读 · 0 评论 -
poj 3276--Face The Right Way(反转)
有n头牛,其中有一些朝向背面,可以翻动连续的k头牛,求反转次数最小并求那时的k值。http://poj.org/problem?id=3276首先,每一个区间最多反转1次,多余的反转是无效的。从最左边的牛开始考虑,如果它朝向背面则需要翻动区间[i, i + k - 1], 否则就不用翻动。设f[i]为区间[i, i + k - 1]是否需要反转,需要为1,不需要为0。考虑第原创 2014-03-04 22:49:26 · 1357 阅读 · 1 评论 -
poj 1631--Bridging signals
第一次写blog,也不知道究竟能坚持写多久O_o...咳咳咳。。。言归正传http://poj.org/problem?id=1631这道题没什么好说的,最长上升子序列(LIS)。O(nlogn)算法就是dp[i] = 长度为i+1的上升子序列中末尾元素的最小值(不存在就是inf)。如果i = 0或dp[i- 1] 由于dp数组是单调的,所以可以二分搜索出更新的位置。原创 2014-02-23 21:07:17 · 738 阅读 · 0 评论 -
poj 2184--Cow Exhibition
有一群奶牛,每一头都有s[i], f[i]两个值。在其中找一个子集,要在保证这两个值均为非负的情况下,使s和f的总和最大。http://poj.org/problem?id=2184这是01背包的变形,因为有负值的存在,背包的体积为-100000~100000我们可以将区间平移到0~200000,原点就变成了100000在进行01背包时,dp[v] = max(dp[v原创 2014-02-24 21:57:42 · 628 阅读 · 0 评论 -
poj 2392--Space Elevator
有k种木块,每种木块高度为h[i],数量为c[i],在空中的高度不能超过a[i]。问木块最多能摞多高。http://poj.org/problem?id=2392多重背包,相当于每种物品费用和价值均为h[i],数量为c[i]。在处理每一种物品时,费用上限为a[i]。多重背包具体做法,可以参照背包九讲~#include #include #include using n原创 2014-02-24 20:18:03 · 652 阅读 · 0 评论 -
poj 2010--Moo University - Financial Aid
给出c组数,要在其中选n个(n为级数),使其分数的中位数最大,同时这n个数的费用之和不能超过f,如果不能满足就输出-1http://poj.org/problem?id=2010这道题想了好久。。WA了好几遍,还TLE了一次>_其实就是大根堆,可以用stl中的优先队列先按分数排序,然后用一个数组dp[i][j], dp[i][0]表示i之前费用最小的n/2个数之和,dp[i原创 2014-02-25 20:23:41 · 1272 阅读 · 0 评论 -
poj 2139--Six Degrees of Cowvin Bacon
warshall_floyd算法,求任意两点间的最短路 O(V^3)dp[i][j] = e(i, j)的权值(不存在为Inf,dp[i][i] = 0)http://poj.org/problem?id=2139#include #include #include using namespace std;const int inf = 0x3f3f3f3f;int n,原创 2014-02-26 19:22:26 · 1092 阅读 · 0 评论 -
poj 1703--Find them, Catch them
有N个人,分属于两个帮派, D a b 表示a、b分属于不同的帮派,A a b 是询问a b是否属于一个帮派http://poj.org/problem?id=1703好久不做这样的题都忘光了。。。o(╯□╰)o这道题是并查集。先把每个人拆成两个点,a 和 a + N如果a,b不属于同一帮派,就合并(a, b + n)和(a + n, b)询问的时候,如果a和b或者a原创 2014-02-26 16:32:24 · 560 阅读 · 0 评论 -
poj 3268--Silver Cow Party
一个N个顶点,M条边的有向图,求从其他点往返X点的最短路的最大值。http://poj.org/problem?id=3268这道题居然WA了一晚上。。。 X﹏X,最后抱着试一试的心态,我把数组开大了。。居然就过了。。。居然。。。⊙﹏⊙b。。。两次spfa,先求一次,把图反向在求一次,两次路径加和,输出最大值,就完了。。。。。#include #include #inclu原创 2014-02-26 21:16:20 · 783 阅读 · 0 评论 -
poj 1064--Cable master
给出n条绳子的长度,要切除k条长度相同的绳子,求着k条绳子的最长长度。http://poj.org/problem?id=1064浮点数二分(100次循环可以达到10^(-30)的精度),注意精度。。记录一下这种方法。。#include #include #include #include using namespace std;const int inf = 0x3原创 2014-03-03 20:50:56 · 562 阅读 · 0 评论 -
poj 3061--Subsequence(尺取法)
给定长度为n的序列,求总和不小于s的连续子序列长度的最小值。http://poj.org/problem?id=3061尺取法。如样例一:5 1 3 5 10 7 4 9 2 8 ↓5 1 3 5 10 7 4 9 2 8 ↓5 1 3 5 10 7 4 9 2 8 ↓5 1 3 5 10 7 4 9 2 8原创 2014-03-03 23:57:26 · 693 阅读 · 0 评论 -
poj -- 1637 Sightseeing tour(混合图欧拉回路)
给一个n个顶点,m条边(jiyou)原创 2014-08-18 18:13:04 · 482 阅读 · 0 评论