![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
poj解题报告
吉阿
这个作者很懒,什么都没留下…
展开
-
poj1836 Alignment
#include #include #include using 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 · 1248 阅读 · 0 评论 -
poj2255 给出二叉树前中求后序遍历
http://poj.org/problem?id=2255 #include #include #include using namespace std; #define N 30 char 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 · 2075 阅读 · 0 评论 -
poj1654
#include #include #include #include #include using 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 · 2683 阅读 · 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的个数就好了。 #include using namespace std; int main() { int原创 2013-05-04 16:11:10 · 1480 阅读 · 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 #include using namespace std; #define N 255 #d原创 2013-05-02 11:08:32 · 1131 阅读 · 0 评论 -
hdu1240 poj 2225 三维BFS
http://acm.hdu.edu.cn/showproblem.php?pid=1240 #include #include #include #include using 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 · 1582 阅读 · 0 评论 -
poj1062昂贵的聘礼
Description 年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用10000个金币作为聘礼才答应把女儿嫁给他。探险家拿不出这么多金币,便请求酋长降低要求。酋长说:"嗯,如果你能够替我弄到大祭司的皮袄,我可以只要8000金币。如果你能够弄来他的水晶球,那么只要5000金币就行了。"探险家就跑到大祭司那里,向他要求皮袄或水晶球,大祭司要他用金币原创 2013-04-24 11:46:18 · 2541 阅读 · 0 评论 -
poj1840 数的hash
#include using namespace std; #define MAX 37500000 short 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 · 1704 阅读 · 0 评论 -
poj2752 Seek the Name, Seek the Fame
#include using namespace std; #define MAX 400005 char 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 · 1734 阅读 · 0 评论 -
poj2185 Milking Grid
原来AC的代码错的... #include #include using 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 · 1917 阅读 · 1 评论 -
poj2406 Power Strings
KMP算法的应用,求最小循环节 #include #include using namespace std; #define MAX 1000005 char 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 · 2095 阅读 · 0 评论 -
poj 3974 Palindrome
最长回文子串模板 (Manacher算法,时间复杂度O(n)) #include #include #include #include using 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 #include using namespace std; #define INF 0x3f3f3f3f int 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 · 463 阅读 · 0 评论