POJ
文章平均质量分 52
Nickqiao
这个作者很懒,什么都没留下…
展开
-
POJ2506(递推+高精度)
题目大意:2xN放2x1和2x2的方块多少种放法。分析:a[n]=a[n-1]+a[n-2]*2 2xN相当于2x(n-1)加一个竖着的方块,和2x(n-2)加两个竖着的,两个横着的,一个大方块,其中放两个竖着的重复。代码:#include #include #include using namespace std;string s[255];s原创 2016-04-25 12:56:47 · 1005 阅读 · 0 评论 -
POJ2524(并查集)
大意:调查宗教,n个人m组数据,每组数据a,b表示a,b同一种,求一共几种。分析:并查集。代码:#include #include #include using namespace std;int pre[50005];bool t[50005];int find(int x){ int r = x; while (r != pre[r]) r = pre[r];原创 2016-04-25 12:55:06 · 480 阅读 · 0 评论 -
POJ1611(并查集)
大意:Description严重急性呼吸系统综合症( SARS), 一种原因不明的非典型性肺炎,从2003年3月中旬开始被认为是全球威胁。为了减少传播给别人的机会, 最好的策略是隔离可能的患者。在Not-Spreading-Your-Sickness大学( NSYSU), 有许多学生团体。同一组的学生经常彼此相通,一个学生可以同时加入几个小组。为了防止非典的传播,NSY原创 2016-05-09 23:58:01 · 3457 阅读 · 1 评论 -
POJ2503(二分,哈希)
大意:给定n(n分析:枚举超时用二分。代码:#include #include #include #include const int maxn = 100010;using namespace std;struct node{ char e[60], s[60];}dic[maxn];char t[60];int pos;int cmp(node a, nod原创 2016-05-10 22:24:28 · 1447 阅读 · 0 评论 -
POJ1936(字符串处理)
大意:给定两个字符串a,b,判断a是否是b的子序列。分析:代码:逐位对比即可。#include#include#include#includeusing namespace std;char a[100005],b[100005];int main(){ //freopen("C:\\in.txt","r",stdin); while(scanf("%原创 2016-05-10 00:06:47 · 520 阅读 · 0 评论 -
POJ1035(字符串)
大意:判断一个字符串能否由字典中的字符串替换,删除或插入一个字符得到。分析:水题代码:#include #include #include #include #include using namespace std;char dic[10005][17],ch[55][17];int dic1[10005];void rep(char s[]){ char s1[1原创 2016-05-19 22:10:28 · 482 阅读 · 0 评论 -
POJ2752(KMP)
大意:给定一个字符串,求所有可能的既是前缀又是后缀的字串长度。分析:按题目的意思很像求KMP中的next数组。next[len]是最大的前缀-后缀字符串长度,以此类推next[next[len]]同样为满足条件的前缀-后缀字符串长度。代码:#include #include #include using namespace std;char str[400005];int l原创 2016-05-08 23:35:53 · 521 阅读 · 2 评论 -
POJ2299(归并排序)
大意:给定一串数字,求冒泡排序需要交换的次数。分析:一个乱序序列的逆序数=只允许相邻两个元素交换的条件下,得到有序序列的交换次数。归并排序可以求数列的逆序数。归并排序:比较a[i]和a[j]的大小,若a[i]≤a[j],则将第一个有序表中的元素a[i]复制到r[k]中,并令i和k分别加上1;否则将第二个有序表中的元素a[j]复制到r[k]中,并令j和k分别加上1,如此循环下去,直到其中一个原创 2016-05-13 20:32:13 · 724 阅读 · 0 评论 -
POJ1840(哈希)
大意:DescriptionConsider equations having the following form: a1x13+ a2x23+ a3x33+ a4x43+ a5x53=0 The coefficients are given integers from the interval [-50,50]. It is consider a solution a原创 2016-05-24 23:44:44 · 483 阅读 · 0 评论 -
POJ1328(贪心)
题目大意:x轴为河岸,给出小岛坐标,在河岸上建探测范围一定雷达,要求覆盖所有小岛,求雷达的最小个数。分析:以小岛为圆心,探测半径画圆,与x轴交于ai,bi,求出所有区间并排序,如果两个区间有重叠,则可覆盖,将bi更新为b(i-1)即可。代码:#include#include#include#includeusing namespace std;struct xy{ int原创 2016-04-25 12:53:35 · 804 阅读 · 0 评论 -
POJ2586(贪心)
大意:每5个月(12345 23456...)提交一次报表,保证每次都是亏损的。每个月盈利s,亏损d,全年最大盈利。分析:每次1个月亏损,2个月亏损。。。4个月亏损,依次求利润。代码:#include#includeint s,d;int main(){ while(scanf("%d%d",&s,&d)!=EOF) { int sum; if(d>4*s)原创 2016-04-25 12:58:27 · 506 阅读 · 0 评论 -
POJ1306(组合数公式)
题意:求Cnm分析:组合数公式。C(n,m)=C(n-1,m-1)+C(n-1,m)代码:#include #include #include using namespace std;const int maxn = 110;double c[maxn][maxn];int main(){ int n, m; while(scanf("%d%d", &n原创 2016-04-25 13:03:37 · 720 阅读 · 0 评论 -
POJ1068(模拟)
大意:给出一串括号组合,p型表示当前位置左边有几个左括号,w型表示与当前括号匹配的左括号右边有几个右括号。给出p求w。分析:用一个数组c储存当前位置相邻两个右括号有几个左括号,如果相邻右左括号则为1,否则往前匹配,匹配一次对应的c[t]-1,b[i] = b[t]+i-t。代码:#include#include#includeusing namespace std;int a[原创 2016-04-25 13:00:31 · 453 阅读 · 0 评论 -
POJ3176(DP)
大意:例 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5从上往下只能往左边或右边走,求沿途数字最大和。分析:代码:#include#include#include#includeusing namespace std原创 2016-04-27 19:39:10 · 384 阅读 · 0 评论