【万能的搜索,用广搜来解决DP问题】ZZNU -2046 : 生化危机 / HDU 1260:Tickets
2046 : 生化危机
时间限制:1 Sec内存限制:128 MiB
提交:19答案正确:8
题目描述
输入
输出
样例输入
1
2
1 3
4
样例输出
20:00:04
提示
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm> //这两个题存在惊人的相似程度, 原因其实也很简单--你想
#include<queue>
using namespace std;
int k,n,w[],a[],b[],ans[];
struct node
{
int x;
int step;
};
void bfs() ;
int main()
{
int i,T;
cin>>T;
while(T--)
{
memset(ans,,sizeof(ans));k=;
memset(a,,sizeof(a));
memset(b,,sizeof(b));
cin>>n;
for(i=;i<=n;i++)
scanf("%d",&a[i]);
for(i=;i<=n-;i++)
scanf("%d",&b[i]);
bfs();
sort(ans,ans+k);
int t=ans[];
int h=,m=,s=;
h=(h+t/)%;
m=(t/)%;
s=t%;
printf("%02d:%02d:%02d\n",h,m,s);
}
return ;
} void bfs() //激活下面的注释区,你将看到整个搜索的大致过程
{
memset(w,,sizeof(w));
queue<node>Q;
struct node q,p;
q.x=;q.step=;
Q.push(q);// cout<<q.x<<" "<<q.step<<" ";
while( Q.size()> )
{
p=Q.front();
Q.pop();
for(int i=;i<=;i++)
{
if(p.step>=n)
{
ans[k++]=p.x;//cout<<p.x<<" "<<p.step<<" ";
continue;
}
if(i==&&(p.step+<=n))
{
q.x=p.x+ a[p.step+];q.step=p.step+;
}
else if((i==)&&(p.step+<=n))
{
q.x=p.x+ b[p.step+];q.step=p.step+;
}
else{} // cout<<i<<" q.x: "<<q.x<<" q.step: "<<q.step<<endl;
Q.push(q); }
} return ;
}
总结:学长们说的很对,搜索是万能的!如果题目不要求时间复杂度,不要求内存,理论上任何一个题目都是可以做出来的。hdu上的那题需要更改一下,有兴趣的同学们可以试试!其实这是一道DP水题!!
【杭电的原题链接 1260:Tickets 】http://acm.hdu.edu.cn/showproblem.php?pid=1260
#include<cstdio>
#include<iostream>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstring> // HDU 1260:Tickets
using namespace std;
int a[],b[],dp[],n;
int main()
{
int i,j,T,k,m;
cin>>T;
while(T--)
{
memset(a,,sizeof(a));memset(b,,sizeof(b));
memset(dp,,sizeof(dp));
cin>>n;
for(i=;i<=n;i++)
scanf("%d",&a[i]);
for(i=;i<=n-;i++)
scanf("%d",&b[i]);
dp[]=a[];
for(i=;i<=n;i++)
{
dp[i]=min(dp[i-]+a[i],dp[i-]+b[i-]);
}
m=dp[n];
int hh=,mm=,ss=;
hh=(hh+m/)%;m=m%;
mm=m/;
ss=m%;
printf("%02d:%02d:%02d",hh,mm,ss);
if(hh<)
printf(" am\n");
else
printf(" pm\n");
} return ;
}
你懂了吧!傻眼了吧!
【万能的搜索,用广搜来解决DP问题】ZZNU -2046 : 生化危机 / HDU 1260:Tickets的更多相关文章
- hdu 1242:Rescue(BFS广搜 + 优先队列)
Rescue Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submis ...
- nyoj 523 双向广搜
题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=523 #include<iostream> #include<cstd ...
- poj3126 Prime Path 广搜bfs
题目: The ministers of the cabinet were quite upset by the message from the Chief of Security stating ...
- hdu 2717:Catch That Cow(bfs广搜,经典题,一维数组搜索)
Catch That Cow Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- Oj 24260: Lilypad Pond (神奇广搜题,状态搜索)
题目 为了让奶牛们娱乐和锻炼,约翰建造了一个美丽的池塘.这个池塘是矩形的,可以分成M×N个方格.一些格子是坚固得令人惊讶的莲花,还有一些是岩石,其余的只是美丽,纯净,湛蓝的水.贝西正在练习芭蕾舞,她站 ...
- 深搜(DFS)广搜(BFS)详解
图的深搜与广搜 一.介绍: p { margin-bottom: 0.25cm; direction: ltr; line-height: 120%; text-align: justify; orp ...
- POJ-3635 Full Tank? (记忆化广搜)
Description After going through the receipts from your car trip through Europe this summer, you real ...
- E. New Reform_贪心,深搜,广搜。
E. New Reform time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- 双向广搜+hash+康托展开 codevs 1225 八数码难题
codevs 1225 八数码难题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description Yours和zero在研究A*启 ...
随机推荐
- jquery 检测某元素是否含有某属性
检测某元素是否含有某属性 if(typeof($("#aid").attr("rel"))=="undefined")
- Api接口通用安全策略及实现-OSS.Core
这篇文章一直说写,迟迟没有动手,这两天看到一些应用接口数据被别人爬虫.短信接口被人高频率请求攻击等案列,感觉简单概述分享一下接口安全验证还是有必要的.毕竟当下基本都以客户端应用为主,如果前期疏忽,发布 ...
- 既然函数也是对象,那么为什么this不指向普通函数?
function a(){ var b=1; function exp(){ alert(this.b); } exp(); } var b=2; a(); 既然函数是对象,且exp是在a中运行的,那 ...
- [leetcode-496-Next Greater Element I]
You are given two arrays (without duplicates) nums1 and nums2 where nums1's elements are subset of n ...
- 我的学习之路_第二十三章_HTML
Html : 超级文本语言 ( Hyper text Markup Language ) HTML 文件扩展名是 * .html HTML 结构都是有标签组成 通常情况下标签有开始标签和结束标签组成 ...
- VUE2.0+VUE-Router做一个图片上传预览的组件
之前发了一篇关于自己看待前端组件化的文章,但是由于学习和实践的业务逻辑差异,所以自己练习的一些demo逻辑比较简单,打算用vue重构现在公司做的项目,所以在一些小的功能页面上使用vue来做的,现在写的 ...
- Tomcat7以上403 Access Denied错误
版本:Tomcat 9 问题:新安装的tomcat,访问tomcat的Server Status.Manager App.Host Manager三个页面均显示403,conf/tomcat-user ...
- docker 17 安装
docker17 安装 新增一键安装命令: curl -sSL https://get.docker.com/ | sh 以下为手动安装过程 翻译自 Get Docker for Ubuntu Doc ...
- NPOI 生成 excel基本设置
//设置页眉页脚 tempSheet.Header.Center = "2017-04-27"; tempSheet.Footer.Center = "√" + ...
- 手机app微信支付后台处理流程
第一步:客户在手机app确认订单,提交订单后,app将订单详情传给后台,后台将订单存入数据库,将存入数据库的id返回给app. 第二步:这时候手机端app会让客户选择哪种付款方式,我们做的是微信,所以 ...