【万能的搜索,用广搜来解决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*启 ...
随机推荐
- UE4 Run On owing Client解析(RPC测试)
今天看到文档中游戏性指南->远程调用函数->在蓝图中使用远程调用函数的 Run On Owning Client 在所有权的客户端上运行部分,发现把Add Item和Remove Item ...
- 选课 树形DP+多叉树转二叉树+dfs求解答案
问题 A: 选课 时间限制: 1 Sec 内存限制: 128 MB 题目描述 大 学里实行学分.每门课程都有一定的学分,学生只要选修了这门课并考核通过就能获得相应的学分.学生最后的学分是他选修的各门 ...
- kubernetes 概览
kubernetes 核心数据 (存储于ETCD 有数据变化通知的功能(watch-dog)) kubernetes 设计综述 (中英文对照)(http://www.oschina.net/trans ...
- 有关ArrayList常用方法的源码解析
我相信几乎所有的同学在大大小小的笔试.面试过程中都会被问及ArrayList与LinkedList之间的异同点.稍有准备的人这些问题早已烂熟于心,前者基于数组实现,后者基于链表实现:前者随机方法速度快 ...
- fastJson将json字符串转换为map
public class JsonUtil { /** * 将json转化成map * @param jsonStr * @return */ public static Map<String, ...
- jquery 封装
(function($) { var plugName = "teamMingXi"; var teamMingXi = { open : function(type) { var ...
- iOS 实现简单的毛玻璃效果
最近在整理导航栏的渐隐渐现效果,整理过程中偶然学会了图片的毛玻璃效果实现,很简单,不多说了,先上图看看效果对比, 这是原图, 这是加了效果后的,创建图片的代码就不上了,下面看下添加效果的代码: // ...
- centos7 minimal版本下mysql的安装
最近第一次尝在虚拟机上安装mysql,由于是centos7 minimal版本,很多安装包或命令必须自己添加,遇到很多问题. 首先是执行# yum install mysql-server 报错: 打 ...
- 没有在xml中引入 相关的配置文件
错误信息如下 严重: Servlet.service() for servlet AutoReplyServlet threw exception org.apache.ibatis.except ...
- peoplesoft function PSTREENODE 通过 deptid 获得部门树 一级部门 code
create or replace function ht_gettopdeptid(deptid in varchar) return varchar2 is r ); c int; m ); r_ ...