UVA10154 Weights and Measures
2024-09-25 20:46:26
https://vjudge.net/problem/UVA-10154
↑Vjudge大法好
堆一个乌龟塔。每只乌龟有重量w和承重能力s(也要承受自己的重量,所以实际可托起s-w),问最多能堆几只乌龟
很明显是DP
从低往高堆不太好判断,因为不知道下面的乌龟还能不能承受得了。
切换到上帝视角,对于一个乌龟塔,我们可以直接把它托起来,然后在塔下面塞一只能承重的乌龟。
问题解决了。
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
const int mxn=;
struct node{
int w,s;
}a[mxn];
int cmp(const node a,const node b){
return (a.s<b.s || (a.s==b.s && a.w<b.w));
}
int n;
int f[mxn],ans;
void solve(){
int i,j;
memset(f,0x3f,sizeof f);
f[]=;ans=;
for(i=;i<=n;i++){
for(j=n;j;j--){
if(f[j-]+a[i].w<=a[i].s){
f[j]=min(f[j],f[j-]+a[i].w);
}
if(f[j]<0x3f3f3f3f)ans=max(ans,j);
}
}
}
int main(){
int i,j;
n=;
while(scanf("%d%d",&i,&j)!=EOF){
if(i>j)continue;
a[++n].w=i;a[n].s=j;
}
sort(a+,a+n+,cmp);
solve();
cout<<ans<<endl;
return ;
}
最新文章
- xxxxxxxx
- Javascript本质第二篇:执行上下文
- vertical-align0 垂直对齐- 图片 兼容个浏览器
- ACM +-字符串
- SQLServer创建维护计划失败 错误c001f011
- ArrayList集合的语句示例
- android学习日记13--数据存储之SharedPreference
- 【web安全】第六弹:手工SQL注入详解
- 伪协议触发onbeforeunload
- HDU 2152 Fruit
- Float精度丢失
- PostgreSQL踩坑现场
- Nginx系列1:ubuntu16.04编译出适合自己的nginx服务器
- 在windows端使用jupyter notebook,服务器充当后台计算云端 简化描述
- Luogu P2279 [HNOI2003]消防局的设立
- C++ 引用 &; 的详解
- 牛客小白赛1 F题三视图
- redis 部署相关
- Linux CentOS更改文件的权限
- ThreaLocal
热门文章
- js开发中常用小技巧
- xml中encoding
- Docker使用入门
- protobuf-2.5.0的下载与安装
- [bzoj3371][poj2009][Usaco2004 Mar]Moo University - Emergency Pizza Order 定制比萨饼
- Ensure that you have installed a JDK (not just a JRE) and configured your JAVA_HOME system variable
- adnroid 打包问题 :compileReleaseJavaWithJavac
- CentOS 7.X 防火墙简单配置
- Pascal “内存病毒”(骗人的)
- 程序员必备PC维修法(软件篇)