hdu 1069 记忆化搜索
来源:互联网 发布:奇兵网络小程序 编辑:程序博客网 时间:2024/05/22 10:31
自己脑子不灵活,感觉哪根线都与DP接不上轨。。。。。好吧,我先学搜索,接触记忆化,再回来膜拜DP了
多谢PORKer的纠错,自己太粗心了,连个排序也错。。。。谢谢他长期以来的纠错
#include<stdio.h>#include<stdlib.h>#include<string.h>struct node{ int a,b,h;}data[200];int hash[200];int cmp(const void*a,const void*b){ struct node *p1,*p2; p1=(struct node*)a; p2=(struct node*)b; if(p1->a!=p2->a) return p2->a-p1->a; else return p2->b-p1->b;}int n,temp;void getdata();int dfs(int,int ,int);int main(){/* freopen("output.txt","w",stdout);*/ int max=0,t=0; while(scanf("%d",&n)&&n) { memset(hash,0,sizeof(hash)); getdata(); qsort(data,n*6,sizeof(data[0]),cmp); max=dfs(0,0x7FFFFFFF,0x7FFFFFFF); printf("Case %d: maximum height = %d\n",++t,max); } return 0;}int dfs(int start,int nowa,int nowb){ int i,max=0,k; if(start>=n*6) return 0; if(hash[start]) return hash[start]; for(i=start;i<n*6;i++) { if(data[i].a<nowa&&data[i].b<nowb) { k=data[i].h+dfs(i+1,data[i].a,data[i].b); if(k>max) max=k; } } hash[start]=max;/* printf("start:%d (%d,%d) max:%d\n",start,nowa,nowb,max);*/ return max;}void getdata(){ int i,a,b,h; temp=0; for(i=0;i<n;i++) { scanf("%d %d %d",&a,&b,&h); data[temp].a=a; data[temp].b=b; data[temp].h=h; temp++; data[temp].a=b; data[temp].b=a; data[temp].h=h; temp++; data[temp].a=a; data[temp].b=h; data[temp].h=b; temp++; data[temp].a=h; data[temp].b=a; data[temp].h=b; temp++; data[temp].a=h; data[temp].b=b; data[temp].h=a; temp++; data[temp].a=b; data[temp].b=h; data[temp].h=a; temp++; }}
- hdu 1069 记忆化搜索
- 【记忆化搜索】HDU
- hdu 1069 记忆化搜索+dp
- hdu 1069(记忆化搜索/LIS)
- 记忆化搜索 HDU 1158
- hdu 1078记忆化搜索
- hdu 1078 记忆化搜索
- hdu 2437 (记忆化搜索)
- hdu 1260(记忆化搜索)
- hdu 1142 记忆化搜索
- Hdu 4597记忆化搜索
- HDU 1078 记忆化搜索
- HDU 3336 记忆化搜索
- hdu 1142 记忆化搜索
- hdu 4597(记忆化搜索)
- hdu 4722(记忆化搜索)
- hdu 1428 记忆化搜索
- hdu 4597 记忆化搜索
- 论文:《考试阅卷评分Office应用系统》的开发及实施
- oracle数据库索引优劣描述——学习笔记
- HTC手机鉴别终极宝典
- hdu 3008 Warcraft
- 让页面元素适应电脑屏幕大小设置width:100% height:100%
- hdu 1069 记忆化搜索
- Prim算法精讲
- hdu 1098 Tell me the area
- windows程序设计(18):多线程程序设计
- apahce+tomcat集群
- web压力测试
- C#Socket 文件传输,支持断点续传
- C/C++预处理器的预定义宏
- Objective-c多线程