bzoj3824[Usaco2014 Dec]Guard Mark 奶牛叠罗汉(II)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3824
题目大意:
题解:
状压dp
f[i]表示已经选了i的奶牛来叠的最大安全因子为多少。
因为已经知道选了什么,所以高度是一定的(用了sm[i]来存)
对于每个sm[i]≥L,ans=max(ans,f[i])。选个最大值~
小吐槽:神tm一开始以为要用long long,然后I64d交bzoj交了好几次!显示WA!让我还以为USACO的数据水到了这种地步..改成int之后快了两秒!两秒啊!还能说什么!
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
// typedef long long LL;
#define maxn 1100000
#define N 30const int inf = 1e9;
int f[maxn],sm[maxn];
int h[N],w[N],s[N];
int mymax(int x,int y){return (x>y)?x:y;}
int mymin(int x,int y){return (x<y)?x:y;}
int main()
{//freopen("guard.in","r",stdin);//freopen("guard.out","w",stdout);int n,L,i,k,mx,sum=0,ans;scanf("%d%d",&n,&L);for (i=1;i<=n;i++){scanf("%d%d%d",&h[i],&w[i],&s[i]);sum+=h[i];}mx=(1<<n)-1;sm[0]=0;f[0]=inf;for (i=1;i<=mx;i++) f[i]=-1;ans=-1;sm[mx]=sum;for (i=0;i<=mx;i++){for (k=1;k<=n;k++)if (!(i&(1<<k-1))){int xx=i|(1<<k-1);if (w[k]>f[i]) continue;f[xx]=mymax(f[xx],mymin(s[k],f[i]-w[k]));sm[xx]=sm[i]+h[k];}if (sm[i]>=L && f[i]!=inf) ans=mymax(ans,f[i]);}if (ans==-1) printf("Mark is too tall\n");else printf("%d\n",ans);return 0;
}
转载于:https://www.cnblogs.com/Euryale-Rose/p/6527845.html
bzoj3824[Usaco2014 Dec]Guard Mark 奶牛叠罗汉(II)相关推荐
- bzoj 3824: [Usaco2014 Dec]Guard Mark【状压dp】
设f[s]为已经从上到下叠了状态为s的牛的最大稳定度,转移的话枚举没有在集合里并且强壮度>=当前集合牛重量和的用min(f[s],当前放进去的牛还能承受多种)来更新,高度的话直接看是否有合法集合 ...
- bzoj 1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐(暴力DFS)
1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 774 Solved: 480 ...
- F. [usaco 2009 dec]游荡的奶牛 总结
F. [usaco 2009 dec]游荡的奶牛 总结 题目 F. [usaco 2009 dec]游荡的奶牛 时间限制:1s 空间限制:256MB 输入文件:sgraze-in 输出文件:sgraz ...
- [贪心] 奶牛叠罗汉
今天来给大家讲奶牛叠罗汉这道题 题目描述:有n头奶牛,每头奶牛有两个属性:重量w和强壮度s.现在这些奶牛要玩一个叠罗汉的游戏,即一头奶牛要站在另一头奶牛的背上.最后只有一头奶牛站在地面上,从上到下刚好 ...
- 洛谷 P3112 [USACO14DEC]后卫马克Guard Mark
题目描述 Farmer John and his herd are playing frisbee. Bessie throws the frisbee down the field, but it' ...
- P3112-[USACO14DEC]后卫马克Guard Mark【贪心】
正题 题目链接:https://www.luogu.org/problemnew/show/P3112 题目大意 有nnn只牛,每只牛有hi,wi,sih_i,w_i,s_ihi,wi,si分别 ...
- [usaco 2009 dec]游荡的奶牛
游荡的奶牛 题目描述 FJ 有 N (1 <= N <= 50,000)头牛,FJ的草地可以认为是一条直线. 每只牛只喜欢在某个特定的范围内吃草.第i头牛喜欢在区间(S_i, E_i)吃草 ...
- 【bzoj1690】【Usaco2007 Dec】【奶牛的旅行】【分数规划】
Description 作为对奶牛们辛勤工作的回报,Farmer John决定带她们去附近的大城市玩一天.旅行的前夜,奶牛们在兴奋地讨论如何最好地享受这难得的闲暇. 很幸运地,奶牛们找到了一张详细的城 ...
- 【BZOJ3893】【Usaco2014 Dec】Cow Jog 乱搞
200多b的朋友真是hentai. 广告 #include <stdio.h> int main() {puts("转载请注明出处[vmurder]谢谢");puts( ...
最新文章
- android 无appid分享_App ID 和Bundle ID 有什么不同?ios面试攻克篇(六)
- Linux qt 更新,Qt 5.15 Beta 2 发布,Qt 6之前的最后一个重大更新
- mybatis模糊查询不同写法
- 学习Oracle SQL loader 的使用
- golang map使用总结
- ionic3 前台时间戳转化成日期问题
- SAP License:SAP IDES 4.71的安装补充
- linux光驱安装内核,Linux的内核管理--之光盘恢复grub的方法
- 第29章:字符串编辑距离
- Mac版Python3安装/升级
- Git和码云项目平台使用文档
- 国家开放大学2021春1062文学英语赏析题目
- Matlab机器人工具箱(Robotics Toolbox)学习笔记
- Java入门之继承,学会之后继承直接ok!!!超详细!!!
- 制作在线单词测试的软件,Test Your Vocabulary:号称是最准的英语词汇量测试网站...
- 如何在word中粘贴美观工整的代码段(planetB/notepad++)
- CSS Table(表格)
- 删除word前面几页的页眉 保留后面的页眉
- python进阶-MongoDB
- 如何使用UIAutomation进行iOS 自动化测试(初学者)