序列注意10154 Weights and Measures

查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧!

    每日一道理
毅力,是千里大堤一沙一石的凝聚,一点点地累积,才有前不见头后不见尾的壮丽;毅力,是春蚕吐丝一缕一缕的环绕,一丝丝地坚持,才有破茧而出重见光明的辉煌; 毅力,是远航的船的帆,有了帆,船才可以到达成功的彼岸。
描述:最宗子序列,不过需要注意的是小乌龟的分量会顺次加在下层的小乌龟身上,所以越往下,小乌龟所承受的分量越大
#include <cstdio>
#include <cstdlib>
#include <cstring>
int v[5610][2],arr[5610];
int cmp(const void *p1,const void *p2)
{
    int c = ((int *)p1)[1] - ((int *)p2)[1];
    if(c!=0) return c;
    return ((int *)p1)[0] - ((int *)p2)[0];
}
int max(int x,int y)
{
    return x>y?x:y;
}
int main()
{
   // freopen("a.txt","r",stdin);
    int len=0,sum=0;
    while(scanf("%d%d",&v[len][0],&v[len][1])!=EOF) len++;
    qsort(v,len,sizeof(v[0]),cmp);
    memset(arr,0x7f,sizeof(arr));
    arr[0]=0;
    for(int i=0; i<len; i++)
        for(int j=sum; j>=0; j--)
            if(v[i][1]>=arr[j]+v[i][0]&&arr[j+1]>arr[j]+v[i][0])
            {
                arr[j+1]=arr[j]+v[i][0];
                sum=max(sum,j+1);
            }
    printf("%d\n",sum);
    return 0;
}

文章结束给大家分享下程序员的一些笑话语录: 看新闻说中国输入法全球第一!领先了又如何?西方文字根本不需要输入法。一点可比性都没有。

原文地址:https://www.cnblogs.com/jiangu66/p/3080536.html