hdu_3182_Hamburger Magi(状压DP)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3182
题意:有n个汉堡,做每个汉堡需要消耗一定的能量,每个汉堡对应一定的价值,且只能做一次,并且做当前汉堡需要先做出列出的汉堡,求最大的价值
题解:状压DP
#include<cstdio>
#define FFC(i,a,b) for(int i=a;i<=b;++i) int T,n,all,end,now,cur,ans,flag,v[],e[],a[][],dp[<<],c[<<]; int main(){
scanf("%d",&T);
while(T--){
scanf("%d%d",&n,&all),end=(<<n)-,c[]=all;
FFC(i,,n)scanf("%d",&v[i]);FFC(i,,n)scanf("%d",&e[i]);
FFC(i,,n){
scanf("%d",&a[i][]);
FFC(j,,a[i][])scanf("%d",&a[i][j]);
}
FFC(i,,end)dp[i]=-;
dp[]=,ans=;
FFC(i,,end){
if(dp[i]==-)continue;
FFC(j,,n-){
now=<<j,flag=,cur=now|i;
if((i&now)==&&c[i]>=e[j+]){
FFC(k,,a[j+][])if(((<<(a[j+][k]-))&i)==){flag=;break;}
if(flag)continue;
if(dp[cur]<dp[i]+v[j+])
dp[cur]=dp[i]+v[j+],c[cur]=c[i]-e[j+],ans=ans>dp[cur]?ans:dp[cur];
}
}
}
printf("%d\n",ans);
}
return ;
}
hdu_3182_Hamburger Magi(状压DP)的更多相关文章
- HDU 3182 - Hamburger Magi - [状压DP]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3182 Time Limit: 2000/1000 MS (Java/Others) Memory Li ...
- BZOJ 1087: [SCOI2005]互不侵犯King [状压DP]
1087: [SCOI2005]互不侵犯King Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3336 Solved: 1936[Submit][ ...
- nefu1109 游戏争霸赛(状压dp)
题目链接:http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=1109 //我们校赛的一个题,状压dp,还在的人用1表示,被淘汰 ...
- poj3311 TSP经典状压dp(Traveling Saleman Problem)
题目链接:http://poj.org/problem?id=3311 题意:一个人到一些地方送披萨,要求找到一条路径能够遍历每一个城市后返回出发点,并且路径距离最短.最后输出最短距离即可.注意:每一 ...
- [NOIP2016]愤怒的小鸟 D2 T3 状压DP
[NOIP2016]愤怒的小鸟 D2 T3 Description Kiana最近沉迷于一款神奇的游戏无法自拔. 简单来说,这款游戏是在一个平面上进行的. 有一架弹弓位于(0,0)处,每次Kiana可 ...
- 【BZOJ2073】[POI2004]PRZ 状压DP
[BZOJ2073][POI2004]PRZ Description 一只队伍在爬山时碰到了雪崩,他们在逃跑时遇到了一座桥,他们要尽快的过桥. 桥已经很旧了, 所以它不能承受太重的东西. 任何时候队伍 ...
- bzoj3380: [Usaco2004 Open]Cave Cows 1 洞穴里的牛之一(spfa+状压DP)
数据最多14个有宝藏的地方,所以可以想到用状压dp 可以先预处理出每个i到j的路径中最小权值的最大值dis[i][j] 本来想用Floyd写,无奈太弱调不出来..后来改用spfa 然后进行dp,这基本 ...
- HDU 1074 Doing Homework (状压dp)
题意:给你N(<=15)个作业,每个作业有最晚提交时间与需要做的时间,每次只能做一个作业,每个作业超出最晚提交时间一天扣一分 求出扣的最小分数,并输出做作业的顺序.如果有多个最小分数一样的话,则 ...
- 【BZOJ1688】[Usaco2005 Open]Disease Manangement 疾病管理 状压DP
[BZOJ1688][Usaco2005 Open]Disease Manangement 疾病管理 Description Alas! A set of D (1 <= D <= 15) ...
随机推荐
- Unity5权威讲解
Photon Cloud 299c7416-a08d-4a23-95a1-e4be108259aa Shooter 视频:https://pan.baidu.com/s/1kVFJ1x9 项目:htt ...
- java变量初始化
java全局变量会自动初始化,但局部变量不会自动初始化.当我们新建一个对象的时候,java会申请一个区域存放类的数据,而成员变量就是类的数据,也是放在这个内存区域中,jvm申请内存时初始化.而方法中变 ...
- 3个微信小程序体验报告
1.小程序摩拜单车.腾讯视频.JD的体报告 2.小程序的入口存在不公平 3.小程序2.0会怎么样?WSO浅谈 KEVIN常用的APP是以摩拜单车与JD商城和大众点评等,那么今天也就通过这上个进行对比 ...
- 获取星座的JS函数
通过JS获取星座的函数 function getConstellation(m,d){ var s="魔羯水瓶双鱼牡羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯"; var arr=[2 ...
- ACdream 1015 Double Kings
假设第一个人选的点为P,并且当作根,那么第二个人选的最优情况必然是根p连着的那些点中的一个.然后枚举一下P即可. #pragma comment(linker, "/STACK:102400 ...
- hdu1010
#include <stdio.h>#include <string.h>#include <math.h> int n,m,t;char map[10][10]; ...
- jQuery动态添加元素事件
在项目中遇到需要jQuery动态添加元素的事件,做了一个demo,方便以后遇到相同的问题可以用上: <!DOCTYPE html> <html> <head> &l ...
- webpack-hot-middleware 用于 livereload
https://github.com/glenjamin/webpack-hot-middleware Webpack hot reloading using only webpack-dev-mid ...
- json解析的函数eval_r() 和 JSON.parse()
eval_r()解析的字符串格式是'({"data":"hello","num":"5"})' ...
- 屏幕坐标和世界坐标的转换+对象池技术(3D打地鼠小游戏)
游戏中可能经常会遇到需要某个物体跟着鼠标移动,然后又需要把物体放在某个鼠标指定的位置 实现方式 Camera.main.WorldToScreenPoint Camera.main.ScreenToW ...