PKU
文章平均质量分 74
patrick_1234
这个作者很懒,什么都没留下…
展开
-
POJ 1023 The Fun Number System
题目大意:给你k位二进制位权值的描述,s[k-1],s[k-2],......s[2],s[1],s[0],s[i]为‘p’则表示该位的权值为2^i,若为'n'则表示该位的权值为-(2^i),然后给你一个十进制数,问你能否能用这描述下的二进制来表示这个十进制数,若能,则输出该二进原创 2011-08-15 12:54:23 · 456 阅读 · 0 评论 -
POJ 1042 Gone Fishing
题目大意:总共有h个小时可用。有n个湖,第i个湖一开始有鱼fi条。给你n-1个数t1,t2,t3,......,t(n-1),第i个湖走到第i+1个湖所需的时间为5*ti。定义钓5分钟的鱼为钓一次鱼,钓一次鱼能得到湖中剩下的所有鱼,第i个湖每钓一次鱼后,湖中鱼的数量就减少di条,原创 2011-08-19 10:20:45 · 347 阅读 · 0 评论 -
poj 1050 To the Max
题目大意:有一个n*n的二维矩阵,求出最大子矩阵的和。思路:(1)对于一维数列a1,a2,a3,a4,......,an,以第i个数结尾的字段和dp[i] = num[i] + max(dp[i-1], 0)(2)对于二维矩阵,枚举不同的列,然后视为一维数列求最大字段原创 2011-08-20 19:02:21 · 224 阅读 · 0 评论 -
poj 1069 The Bermuda Triangle
题目大意:给定一个边长为s的六边形,再给定n,然后给你n个数a1,a2,a3......,代表你只能将六边形切成边长为a1,a2,a3.......的正三角形。问你能否将该六边形切成那些规定的正三角而没有任何剩余。思路:将六边形的每个单元三角形用直角坐标系表示,然后进行深搜,原创 2011-09-16 19:10:35 · 1629 阅读 · 0 评论 -
poj 1034 The dog task
题目大意:在二维坐标系中,存在由n个点构成的轨迹L,从第1个点依次到第n个点。又存在m个点。主人以1单位的速度沿着轨迹L前进,主人又带了一条狗,小狗的速度为2单位,主人和狗共同从第1个点出发。小狗在主人从第i个点走到第i+1个点的途中可以到达m个点中的任意某个点,但必须满足在主人原创 2011-08-19 22:47:56 · 841 阅读 · 0 评论 -
poj 1071 Illusive Chase
题目大意:有一个m*n大小的房间与房间的描述,(x,y)=1代表该点不可通过或到达,(x,y)=0代表该点能通过或到达。然后给你若干个行动的描述,每一步按先后顺序排列,包含的参数有移动的最短距离,最长距离与方向。问房间有几个可能的起点,使其能够走完全部行动。思路:令step[原创 2011-09-18 12:37:50 · 721 阅读 · 0 评论 -
poj 1060 Modular multiplication of polynomials
题目大意:规定加法和减法操作都是异或操作;乘法,除法操作不变。给你三个多项式f,g,h,求出f * g / h 的余下的多项式。思路:高精度问题,按照题目要求模拟就行。#include #include using namespace std;int m原创 2011-08-22 14:50:18 · 925 阅读 · 0 评论 -
poj 1054 The Troublesome Frog
题目大意:一个r行c列的农田,有n个脚印在农田上。如果一连串脚印满足是一条直线,并且等间距分布,并且是从农田外跳入并跳出农田外,则认为这一串脚印为青蛙的一条路径。求所有路径中的最长步数,我们只关心步数大于等于3的路径。思路:枚举两个点,构成一条直线,判断这条直线是否满足条件,原创 2011-08-22 13:57:37 · 521 阅读 · 0 评论 -
poj 1094 Sorting It All Out
题目大意:给你n个元素与m个偏序关系,你依次判断这m个关系,判断出(1)k步后n个元素可以形成全序关系。(2)k步后n个元素不能形成全序关系,即k步后形成环 。(3)m步后没有确定的全序关系。这三个中的哪一个。思路:这是一道图论中的拓扑排序的问题,令graph为邻接表,in_原创 2011-09-20 07:53:13 · 335 阅读 · 0 评论 -
poj 1062 昂贵的聘礼
思路:单源最短路问题,用dijkstra算法。注意题目中的等级限制意思是假如m为1,酋长的等级为2,那么如果你和等级3的交易后就不能和等级1的人交易,因此要枚举每次的等级范围。 #include #include #include #define INF原创 2011-08-24 19:10:02 · 239 阅读 · 0 评论 -
poj 1064 Cable master
思路:二分法,最后再逐一检验下。 #include #include using namespace std;int length[10005];int main(int argc, char** argv){ int n,k,i原创 2011-08-25 12:57:15 · 217 阅读 · 0 评论 -
poj 1065 Wooden Sticks
题目大意:给你n个木板,每个木板有两个属性L和W,按照某种顺序进行加工。规定对于相邻加工的两个木板1,2,如果满足L1≤L2且W1≤W2,则不需要耗费时间,否则就需要耗费1单元时间。现让你根据某种加工顺序,求出最短的用时。加工第1块木板用时1单元时间。思路:求不下降子序列的组原创 2011-08-26 10:41:36 · 393 阅读 · 0 评论 -
poj 1091 跳蚤
题目大意:给你两个数n与m,n代表跳蚤共可以走n+1步,规定最后一步的步长为m,前n步的步长可以为1,2,......,m之中的任意一个。对于每一步步长,跳蚤可以选择向左跳或向右跳相应的长度,如果经过n+1步后,跳蚤能向左移动一步,则称该套步长集符合条件。问总共有多少套符合要求的原创 2011-10-11 10:10:42 · 429 阅读 · 0 评论 -
POJ 1015 Jury Compromise
题目大意:有n个人,每个人都有两种评价,第i个人的评价分别为d[i],p[i]。然后给你一个m,让你从中选出m个人,使方案最优,最优方案定义为:令选出m个人的集合为M,则(1)| ∑d[i] - ∑p[i] | 最小,i∈M;(2)在| ∑d[i] - ∑p[i] | 相同的多种原创 2011-08-07 13:58:28 · 205 阅读 · 0 评论 -
POJ 1018 Communication System
题目大意:有n类物品,第i类物品有mi件可选物品,每件物品都有品质b和价格p两种属性,让你从n类商品中每一类选择一件,使得最后的得分最高,得分定义为min(b)/sum(p),即品质的最低值除以价格之和。思路:贪心思路,枚举所有可能的属性,然后在每类商品中选择大于等于该属性且原创 2011-08-12 08:37:26 · 286 阅读 · 0 评论 -
POJ 1019 Number Sequence
#include #include #include using namespace std;int main(){ int t,n,i,digit_now,remain_digit,num,pos,ans; long long int sum_di原创 2011-08-12 21:18:53 · 357 阅读 · 0 评论 -
POJ 1012 Joseph
题目大意:给定一个k,代表有k个好人和k个坏人。按照约瑟夫问题的规则进行。求出最小的m,使经过k轮后,k个坏人全部被杀死。思路:(1)先给出约瑟夫环的递推公式:f(i)=(f(i-1)+m-1)%(n-i+1),f(0)=0;其中n代表开始时共有n人,m代表每次杀死第m个原创 2011-08-06 14:34:02 · 314 阅读 · 0 评论 -
POJ 1011 Sticks
题目大意:给你n及n个小棍的长度,让你求出一个最小长度len,使n个小棒能无重复且无遗漏的拼接成若干根长度为len的木棒。思路:对可行长度进行枚举,通过DFS判断该长度是否可行。由于要求最小可行解,所以从小到大枚举。对于这里的DFS,有许多可以剪枝和优化的地方,值得学习:原创 2011-08-06 14:41:41 · 237 阅读 · 0 评论 -
POJ 1026 Cipher
题目大意:有n个数a1,a2,……an。解码字符串decode_message与加密字符串encoded_message之间满足关系decode_message[i]=encoded_message[ai]。然后给你一个k,和一串源码字符串,让你按照以上的关系加密k次后输出加密字原创 2011-08-15 20:25:09 · 220 阅读 · 0 评论 -
POJ 1020 Anniversary Cake
题目大意:有一个大小为s*s的大正方形,给你n个小正方形,第i个小正方形的大小为ai*ai,问是否存在一种方案,使得这些小正方形正好填充大正方形。思路:这是一道深搜+回溯+贪心题。在这道题中,贪心策略为每次选择被占用最少的地方,从大到小进行尝试。由于有回溯的存在,因此贪心策略原创 2011-08-15 08:27:29 · 382 阅读 · 0 评论 -
POJ 1039 Pipe
题目大意:有个宽度为1的管子,上面各点为(x1,y1), (x2,y2), ...... ,(xn,yn),相对应的下顶点为(xi,yi-1),i=1,2,3……,n。光线从入口处(x1,y1),(x1,y1-1)间射入,问光线所能达到的最远距离。假设光只沿直线前进,管子不透光。原创 2011-08-18 13:08:17 · 312 阅读 · 0 评论 -
POJ 1037 A decorative fence
题目大意:有n块木板,长度分别为1,2,3,4.……,n,按照高低交错排列,即排列a1,a2,a3,......,an,任意i(1a(i+1)或者a(i-1)>a(i)思路:(1)设置两个数组w[][],m[][]。w[i][j]代表有i块木板,第一块的长度为j,第二块长原创 2011-08-17 17:21:22 · 659 阅读 · 0 评论 -
POJ 1031 Fence
题目大意:在二维坐标系中,由n个点构成的封闭图形,对于图形上某条直线微元dl,满足关系di=I0*|cosα|*dl*h,I0=k/r;其中k和h为一个定值,r为原点到该直线微元的距离,α为两条直线的夹角,两条直线分别为原点到直线微元所在直线的垂线,原点到直线微元的连线。最后求出原创 2011-08-16 19:24:28 · 831 阅读 · 0 评论 -
POJ 1027 The Same Game
题目大意:有一个10*15的棋盘,棋盘上放满了3种颜色的棋子。每一次按照如下规则操作:选择连成一片棋子数最多的区域,如果有多个情况,选择起始位置最左边的,如果还是有多个情况的,选择最下面的。然后消去该片棋子。然后上方的棋子下落填补空缺,如果出现一列全为空的情况,则将右边一列的棋子原创 2011-08-16 14:08:32 · 396 阅读 · 0 评论 -
POJ 1028 Web Navigation
#include #include #include #include using namespace std;int main(){ stack forward,backward; string current="http://www.acm.o原创 2011-08-15 20:48:01 · 206 阅读 · 0 评论 -
POJ 1014 Dividing
题目大意:有六种等级的石头,已知每个等级石头的个数,求是否存在一种方案,使这些石头能分成两堆,满足这两堆石头的等级之和相等。思路:一开始想要进行DFS,不过题目给出石头总数最大会达到20000,所以DFS显然会超时。可以对问题稍微转化一下,首先求出石头的价值总和,如果是奇数显原创 2011-08-06 17:54:25 · 277 阅读 · 0 评论 -
POJ 1016 Numbers That Count
模拟即可,注意最后条件判断的顺序,我就是因为这个WA了2次。 #include #include #include #include #include using namespace std;int cnt[10];int main(){ c原创 2011-08-07 20:41:46 · 204 阅读 · 0 评论 -
Power Network
基本思路:建立s和t节点,对于所有的power station,建立从s到该节点的有向边,其capacity为power station的产量。对于所有的consumer,建立从该节点到t的有向边,其capacity为consumer的消费量。如此,将其转化为最大流问题,用Edmonds-Karp算法解决之。代码:import java.util.Deque;import jav原创 2013-01-01 10:20:32 · 259 阅读 · 0 评论