题目背景
一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们要尽快的过桥。

题目描述
桥已经很旧了, 所以它不能承受太重的东西。任何时候队伍在桥上的人都不能超过一定的限制。 所以这只队伍过桥时只能分批过,当一组全部过去时,下一组才能接着过。队伍里每个人过桥都需要特定的时间,当一批队员过桥时时间应该算走得最慢的那一个,每个人也有特定的重量,我们想知道如何分批过桥能使总时间最少。

输入格式
第一行两个数: W表示桥能承受的最大重量和 n表示队员总数。

接下来 n 行:每行两个数: t 表示该队员过桥所需时间和 w表示该队员的重量。

输出格式
输出一个数表示最少的过桥时间。

输入输出样例
输入 #1
100 3
24 60
10 40
18 50
输出 #1
42
说明/提示
对于 100% 的数据,100≤W≤400 ,1≤n≤16,1≤t≤50,10≤w≤100。

#include<bits/stdc++.h>
using namespace std;
int w,n;
int ans;
int cnt=1;
struct Peo{int tim;int wgt;int bg;//记录是否过桥
}p[20];
bool cmp(Peo x,Peo y){if(x.tim!=y.tim)return x.tim>y.tim;return x.wgt>y.wgt;
}
int main(){scanf("%d%d",&w,&n);for(int i=1;i<=n;i++)scanf("%d%d",&p[i].tim,&p[i].wgt);sort(p+1,p+n+1,cmp);while(1){while(cnt<=n&&p[cnt].bg==1)cnt++;if(cnt>n)break;int thw=w;ans+=p[cnt].tim;p[cnt].bg=1;thw-=p[cnt].wgt;for(int i=cnt+1;i<=n;i++){if(p[i].bg==0&&thw>p[i].wgt){thw-=p[i].wgt;p[i].bg=1;}}cnt++;}printf("%d",ans);return 0;
}

P5911 [POI2004]PRZ相关推荐

  1. 洛谷P5911 [POI2004]PRZ

    Description 一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们要尽快的过桥. 桥已经很旧了, 所以它不能承受太重的东西. 任何时候队伍在桥上的人都不能超过一定的限制. 所以这只队伍 ...

  2. 洛谷:P5911 [POI2004]PRZ

    标题:状压dp 题目背景 一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们要尽快的过桥. 题目描述 桥已经很旧了, 所以它不能承受太重的东西.任何时候队伍在桥上的人都不能超过一定的限制. 所 ...

  3. BZOJ 2073: [POI2004]PRZ( 状压dp )

    早上这道题没调完就去玩NOI网络同步赛了.... 状压dp , dp( s ) 表示 s 状态下所用的最短时间 , 转移就直接暴力枚举子集 . 可以先预处理出每个状态下的重量和时间的信息 . 复杂度是 ...

  4. 【BZOJ2073】[POI2004]PRZ 状压DP

    [BZOJ2073][POI2004]PRZ Description 一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们要尽快的过桥. 桥已经很旧了, 所以它不能承受太重的东西. 任何时候队伍 ...

  5. Bzoj 2073 [POI2004]PRZ

    2073: [POI2004]PRZ Time Limit: 10 Sec  Memory Limit: 64 MB Description 一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们 ...

  6. bzoj 2073: [POI2004]PRZ

    2073: [POI2004]PRZ Description 一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们要尽快的过桥. 桥已经很旧了, 所以它不能承受太重的东西. 任何时候队伍在桥上的 ...

  7. BZOJ 2073: [POI2004]PRZ 状压动归

    2073: [POI2004]PRZ Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 315  Solved: 237 [Submit][Status] ...

  8. BZOJ2073: [POI2004]PRZ

    Portal 暴力状压,刚开始加了判断条件W[i-j]<=m,去掉以后发现竟然莫名其妙的A了..后来发现原来是自己蠢,转移时只是将当前状态j合并到答案中,所以只用判j. 之前的做法,第二层循环巨 ...

  9. bzoj2073 [POI2004]PRZ

    http://www.elijahqi.win/2018/01/24/bzoj2073-poi2004prz/ ‎ Description 一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们要 ...

最新文章

  1. 摩尔投票法(力扣- -229. 求众数 II)
  2. 使用C#快速生成二维码 | 真正跨平台方案
  3. 开机按f12怎么恢复系统 开机按f12恢复系统
  4. django-视图函数装饰器
  5. .WeightedRandomSampler(3)
  6. json jackson
  7. Spring中使用JdbcTemplate和HibernateTemplate的数据库操作
  8. java protobuffer 网络_C#与Java通过protobuf进行网络通信过程中遇到的问题
  9. VS2010中如果忘记函数所在的头文件或者忘记函数的输入输出参数类型怎么办?...
  10. kangle 3.4.8 发布,国产开源 Web 服务器
  11. 三款主流静态源代码安全检测工具比较
  12. 阿里云服务器linux 启动网卡失败,提示does not seem to be present,delaying initialization
  13. 第六章 使用 matplotlib 绘制热力图
  14. 力扣刷题 DAY_74 回溯
  15. 制作一个简单HTML西安旅游网页(HTML+CSS)
  16. JavaScript DOM 学习笔记
  17. 因数据迁移导致跨库连接失效的解决办法
  18. Python自动翻译英语论文PDF(三十九)
  19. 势流理论 matlab程序,势流理论 1.ppt
  20. 机器学习 --基础入门介绍 他来啦!!!

热门文章

  1. Kali-linux:atk6-thcping6命令
  2. Swift 语言 于 2014 年 9 月 18 日 的 XCode 6.0.1 的更新
  3. 服装ERP应用(六) ERP--防窜货管理的杀手锏
  4. iOS开发工具篇-AppStore统计工具
  5. Navicat连接Oracle详细教程
  6. 构建量化因子分析体系
  7. jsp实验报告批阅管理系统
  8. 白盒测试之逻辑覆盖---软考
  9. 新手入门HTML5有什么推荐的书籍?
  10. 关于Linux操作系统的一些简单英语