BZOJ 2073: [POI2004]PRZ 状压动归
2073: [POI2004]PRZ
Time Limit: 10 Sec Memory Limit: 64 MB
Submit: 315 Solved: 237
[Submit][Status][Discuss]
Description
Input
Output
Sample Input
24 60
10 40
18 50
Sample Output
状压dp,我竟然没敢写。。。
for(int j=i;j;j=i&(j-1))
枚举所有子集
#include<ctime>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<complex>
#include<iostream>
#include<algorithm>
#include<iomanip>
#include<vector>
#include<string>
#include<bitset>
#include<queue>
#include<map>
#include<set>
using namespace std;
inline int read()
{int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch<='9'&&ch>='0'){x=(x<<1)+(x<<3)+ch-'0';ch=getchar();}return x*f;
}
const int N=1000100;
int dp[N],st[N],sw[N],bas[20],wei[20],ti[20],n,w;
int main()
{w=read();n=read();for(int i=1;i<=n;i++)ti[i]=read(),wei[i]=read();bas[0]=1;for(int i=1;i<=n;i++)bas[i]=1<<i;for(int i=1;i<=bas[n]-1;i++)for(int j=1;j<=n;j++)if(i&bas[j-1]){sw[i]+=wei[j];st[i]=max(ti[j],st[i]);}memset(dp,0X3f,sizeof(dp));dp[0]=0;for(int i=1;i<bas[n];i++)for(int j=i;j;j=i&(j-1)){if(sw[j]>w)continue;dp[i]=min(st[j]+dp[i^j],dp[i]);}printf("%d\n",dp[bas[n]-1]);return 0;
}
/*
100 3
24 60
10 40
18 5042
*/
BZOJ 2073: [POI2004]PRZ 状压动归相关推荐
- BZOJ 2073: [POI2004]PRZ( 状压dp )
早上这道题没调完就去玩NOI网络同步赛了.... 状压dp , dp( s ) 表示 s 状态下所用的最短时间 , 转移就直接暴力枚举子集 . 可以先预处理出每个状态下的重量和时间的信息 . 复杂度是 ...
- bzoj 2073:[POI2004]PRZ 状压DP
Description 一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们要尽快的过桥. 桥已经很旧了, 所以它不能承受太重的东西. 任何时候队伍在桥上的人都不能超过一定的限制. 所以这只队伍 ...
- bzoj 2073: [POI2004]PRZ
2073: [POI2004]PRZ Description 一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们要尽快的过桥. 桥已经很旧了, 所以它不能承受太重的东西. 任何时候队伍在桥上的 ...
- Bzoj 2073 [POI2004]PRZ
2073: [POI2004]PRZ Time Limit: 10 Sec Memory Limit: 64 MB Description 一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们 ...
- 【BZOJ2073】[POI2004]PRZ 状压DP
[BZOJ2073][POI2004]PRZ Description 一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们要尽快的过桥. 桥已经很旧了, 所以它不能承受太重的东西. 任何时候队伍 ...
- 状压动规_(POJ2817)
题意:给出N(N<=10)个字符串(length<=10),定义两个串a,b之间的公共序列长度为 将a,b对齐后,相同位置上相同字母的个数,a,b的最长公共序列长度自然是相同字母数的 最大 ...
- BZOJ 4000: [TJOI2015]棋盘( 状压dp + 矩阵快速幂 )
状压dp, 然后转移都是一样的, 矩阵乘法+快速幂就行啦. O(logN*2^(3m)) ------------------------------------------------------- ...
- BZOJ 2004 公交线路(状压DP+矩阵快速幂)
注意到每个路线相邻车站的距离不超过K,也就是说我们可以对连续K个车站的状态进行状压. 然后状压DP一下,用矩阵快速幂加速运算即可. #include <stdio.h> #include ...
- 【题解】2073: [POI2004]PRZ
\(Description:\) 有一群人要过一个有承重限制,只能一批一批的走这个桥,每个人有一个过桥时间和重量 \(Sample\) \(Input:\) 100 3 24 60 10 40 18 ...
最新文章
- 自己收藏的symantec 需要的拿走
- 阿里创业员工分享公司的BI选型之路!自研、开源的坑都踩过
- 确认过眼神,你是要来百度AI开发者实战营深圳站的人
- 们--加强菲波那切数列
- linux ping不允许的操作,Alpine ping:不允许操作
- Flutter之跨组件共享状态Provider原理剖析
- c语言例题22:日期计算
- 总结:Oracle 递归查询
- 发光二极管pcb封装图画法_【干货】LED封装形式分类解析
- linux查看历史命令history
- LQA: Time of day is written with a “dot” not a “colon” (13.14 not 13:14)
- 胶装一般多少钱一本?网上打印资料胶装便宜的地方
- 数据驱动 - ddt
- 第二章练习题(2):计算圆柱面积和体积
- Recsys2021 | 基于Transformer的会话推荐
- ​生鲜也能卖尾货了?
- Bartender3使用教程
- 数字图像处理学习记录
- 【悟】终于入手PS4
- 农业生产中的机器学习技术
热门文章
- CAD看图软件怎么把dwg格式转换成dxf格式
- App Annie-2021年移动市场报告——附下载
- picsart旧版本_picsart2016旧版本
- 【Python数据科学】Matplotlib画图
- JAVA计算机毕业设计校园跑腿平台Mybatis+源码+数据库+lw文档+系统+调试部署
- HTML——表头标签th的属性
- iterm2配置rz sz
- oracle存储过程 论文,Oracle中基于Java的存储过程开发_计算机论文
- Xmind免费资源共享
- Sublime Text 2 - 性感无比的代码编辑器!程序员必备神器!跨平台支持Win/Mac/Linux