poj解题报告
吉阿
这个作者很懒,什么都没留下…
展开
-
poj1836 Alignment
#include #include#includeusing namespace std;int n;void DP(int *dp,double *h){ int i,j,max; memset(dp,0,sizeof(dp)); for(i=1;i<=n;i++) { max=0; for(j=1;j<i;j++)原创 2013-04-24 12:31:54 · 1249 阅读 · 0 评论 -
poj2255 给出二叉树前中求后序遍历
http://poj.org/problem?id=2255#include #include#includeusing namespace std;#define N 30char s[N],s1[N],s2[N];void build(int len,char *s1,char *s2,char *s){ if(len) {int p=strchr(s2,s1原创 2013-05-03 00:23:28 · 2077 阅读 · 0 评论 -
poj1654
#include#include#include #include#includeusing namespace std;typedef struct point{ __int64 x,y; point(__int64 nx=0,__int64 ny=0):x(nx),y(ny){ }}vector;__int64 cross(vector a,vector b){ r原创 2014-05-17 16:21:25 · 2684 阅读 · 0 评论 -
poj1401 阶乘最后的零的个数
http://poj.org/problem?id=1401观察1*2*3...n,因子5的个数。因为末尾0的个数,实际上反映了结果中因子10的个数,而10=2*5,由于在1*2*3...n中,2的个数始终是大于5的,所以10的个数实际上是由因子5的个数决定的,所以需要计算出5的个数就好了。#includeusing namespace std;int main(){ int原创 2013-05-04 16:11:10 · 1481 阅读 · 0 评论 -
poj2506 高精度递推
http://poj.org/problem?id=2506假设要摆放2*n的方格,如果已经摆好了2*n-1个,则只有一种剩余摆法,如果已经摆好了2*(n-2),则还有2种摆法同时2*0摆法为1//c++ CE ,G++ AC#include #include#include#includeusing namespace std;#define N 255#d原创 2013-05-02 11:08:32 · 1134 阅读 · 0 评论 -
hdu1240 poj 2225 三维BFS
http://acm.hdu.edu.cn/showproblem.php?pid=1240#include #include#include#includeusing namespace std;char map[15][15][15];typedef struct{ int x,y,z; int cont;}node;int main(){原创 2013-04-30 21:35:08 · 1746 阅读 · 0 评论 -
POJ3267 The Cow Lexicon DP
动态规划,用到字符串的处理原字符串:s[]字典:dic[][]采用的从后往前的处理方式状态转移方程:d[i]=d[i+1]+1 直接删除或匹配不成功而删除 =min(d[i],d[i+len+N]+N) len:若s为"codw",dic[0]="cow",len=strlen(d原创 2013-04-26 18:16:58 · 1859 阅读 · 0 评论 -
poj3461 Oulipo
KMP算法#include #include#include using namespace std;char p[10005],t[1000005];int next[10005],len;void getNext(){ int j,k; next[0]=-1; j=0; k=-1; while(j<len) {原创 2013-04-24 13:11:41 · 1583 阅读 · 0 评论 -
poj1062昂贵的聘礼
Description年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用10000个金币作为聘礼才答应把女儿嫁给他。探险家拿不出这么多金币,便请求酋长降低要求。酋长说:"嗯,如果你能够替我弄到大祭司的皮袄,我可以只要8000金币。如果你能够弄来他的水晶球,那么只要5000金币就行了。"探险家就跑到大祭司那里,向他要求皮袄或水晶球,大祭司要他用金币原创 2013-04-24 11:46:18 · 2542 阅读 · 0 评论 -
poj1840 数的hash
#includeusing namespace std;#define MAX 37500000short hash[MAX*2+100];int main(){ int a1,a2,a3,a4,a5,cont=0,sum; short x1,x2,x3,x4,x5; scanf("%d%d%d%d%d",&a1,&a2,&a3,&a4,&a5); for(x1=-50;x1<=原创 2013-04-24 13:15:26 · 1705 阅读 · 0 评论 -
poj2752 Seek the Name, Seek the Fame
#include using namespace std;#define MAX 400005char p[MAX];int next[MAX],len;void getNext(){ int j,k; next[0]=-1; j=0; k=-1; while(j<len) { if(k==-1||p[k]==p[j])原创 2013-04-24 13:07:48 · 1735 阅读 · 0 评论 -
poj2185 Milking Grid
原来AC的代码错的...#include #includeusing namespace std;char p[ 10005][80];short next[80],next1[10005];int r,c;void getNext(char *p,int len){ int j,k; next[0]=-1; j=0; k=-1; w原创 2013-04-24 12:54:47 · 1918 阅读 · 1 评论 -
poj2406 Power Strings
KMP算法的应用,求最小循环节#include #includeusing namespace std;#define MAX 1000005char p[MAX];int next[MAX],len;void getNext(){ int j,k; next[0]=-1; j=0; k=-1; while(j<len) {原创 2013-04-24 13:02:25 · 2096 阅读 · 0 评论 -
poj 3974 Palindrome
最长回文子串模板 (Manacher算法,时间复杂度O(n))#include #include#include#includeusing namespace std;const int MAX=1000005;int p[MAX<<1],len;char s[ MAX],str[MAX<<1];inline int min(int a,int b){ return原创 2013-04-24 12:40:37 · 1891 阅读 · 0 评论 -
poj1260 Pearls
#include #include#includeusing namespace std;#define INF 0x3f3f3f3fint main(){ int t,n,num[105],p[105],i,j,k,mcost[105],min,min1; scanf("%d",&t); while(t--) { scanf("%d",原创 2013-04-24 12:29:03 · 2413 阅读 · 0 评论 -
poj2002
http://blog.sina.com.cn/s/blog_6d79d83a0100wddf.html设正方形四个点坐标为A(X1,Y2) B(X2,Y2) C(X3,Y3) D(X4,Y4)假设已知点A和点B的坐标求C,D若C,D 在直线AB的上方:X3=X2+(Y1-Y2)Y3=Y2-(X1-X2)X4=X1+(Y1-Y2)原创 2015-05-23 19:47:44 · 464 阅读 · 0 评论