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 ;
}

UVA10154 Weights and Measures的更多相关文章

  1. UVa 10154 - Weights and Measures

    UVa 10154 - Weights and Measures I know, up on top you are seeing great sights,  But down at the bot ...

  2. uva 10154 - Weights and Measures【dp】qi

    题意:uva 10154 - Weights and Measures 题意:有一些乌龟有一定的体重和力量,求摞起来的最大高度.力量必须承受其上面包含自己的所有的重量. 分析:先按其能举起来的力量从小 ...

  3. Weights and Measures (贪心+dp)

    I know, up on top you are seeing great sights, But down at the bottom, we, too, should have rights. ...

  4. UVA题目分类

    题目 Volume 0. Getting Started 开始10055 - Hashmat the Brave Warrior 10071 - Back to High School Physics ...

  5. (Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO

    http://www.cnblogs.com/sxiszero/p/3618737.html 下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年 ...

  6. ACM训练计划step 1 [非原创]

    (Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO 下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成 ...

  7. 算法入门经典大赛 Dynamic Programming

    111 - History Grading LCS 103 - Stacking Boxes 最多能叠多少个box DAG最长路 10405 - Longest Common Subsequence ...

  8. Donald Knuth

    看了<李开复给计算机系大学生的建议>这篇文章,让我对Donald Knuth这个人产生了兴趣,他是何许人也?于是便有下文. 引用:(1)练内功.不要只花功夫学习各种流行的编程语言和工具,以 ...

  9. [Optimization] Advanced Dynamic programming

    这里主要是较为详细地理解动态规划的思想,思考一些高质量的案例,同时也响应如下这么一句口号: “迭代(regression)是人,递归(recursion)是神!” Video series for D ...

随机推荐

  1. 【js】【读书笔记】廖雪峰的js教程读书笔记

    最近在看廖雪峰的js教程,重温了下js基础,记下一些笔记,好记性不如烂笔头嘛 编写代码尽量使用严格模式 use strict JavaScript引擎是一个事件驱动的执行引擎,代码总是以单线程执行 执 ...

  2. 722. Remove Comments

    class Solution { public: vector<string> removeComments(vector<string>& source) { vec ...

  3. 636. Exclusive Time of Functions

    // TODO: need improve!!! class Log { public: int id; bool start; int timestamp; int comp; // compasa ...

  4. P1582倒水 位运算

    题目描述 一天,CC买了N个容量可以认为是无限大的瓶子,开始时每个瓶子里有1升水.接着~~CC发现瓶子实在太多了,于是他决定保留不超过K个瓶子.每次他选择两个当前含水量相同的瓶子,把一个瓶子的水全部倒 ...

  5. 翻译 | 卷积码的维特比(Viterbi)译码

    对维特比译码的接触很早就开始了,也想过要写一篇总结性的文章,但无奈心中一直有几个疑团没能得到合理的解答.比如什么时候开始进行回溯译码比较合适?维特比译码的性能相比分组码等其他编码的译码性能究竟好在哪里 ...

  6. TouTiao开源项目 分析笔记13 最后一个订阅号的实现主页面

    1.实现订阅号的基础类 1.1.本地订阅号的Bean类==>MediaChannelBean public class MediaChannelBean implements Parcelabl ...

  7. html---Web Storage存储

    在HTML5中,除了Canvas元素之外,另一个新增的非常重要的功能是可以在客户端本地保存数据的Web Storage功能,之前可以使用Cookies在客户端保存如用户名等简单用户信息,但通过长期使用 ...

  8. hash算法和常见的hash函数 [转]

       Hash,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值. 这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能 会散列成相同的输出,而不 ...

  9. 《Cracking the Coding Interview》——第4章:树和图——题目7

    2014-03-19 04:48 题目:最近公共父节点问题. 解法1:Naive算法,先对其高度,然后一层一层往上直到找到结果. 代码: // 4.7 Least Common Ancestor // ...

  10. pytest 运行指定用例

    pytest运行指定用例 随着软件功能的增加,模块越来越多,也意味用例越来越多,为了节约执行时间,快速得到测试报告与结果,在工作中可以通过运行指定用例,达到快速执行用例 例子目录 spec_sub1_ ...