鸡国福利

鸡国福利

时间限制: 1 Sec  内存限制: 128 MB

题目描述

鸡国为了表彰鸡国每一只鸡在过去一年的优秀表现,打算在接下来的 n 天中每天给鸡国的一只鸡发 1 袋或者 2 袋“鸡币”(鸡国的通用货币)作为福利。国王要求每天来领钱鸡
互不相同,即来领过钱的鸡不能再来,否则将受到严厉的处罚。 
但聪明的鸡国老百姓侦察后发现国王每天发的钱袋子里面装的钱数量是不一样的(同一天的相同),第 i 天发的每一袋钱为 a i 元。如果第 i 天来领钱的鸡领 1 袋钱,它可以获得ai 元的“鸡币”,如果它领 2 袋钱,则可以获得 2×ai 元“鸡币”,当然它也可以放弃,则第i 天的钱国王收回国库。 
由于鸡国生活条件优越和鸡的贪念等原因,当第 i 天领钱的鸡同时满足以下两个条件时它才会感到幸福: 
(1)领到的钱不能低于鸡国的平均收入 m 元。 
(2)要跟它前面领了钱且感到幸福的鸡一样幸福或者更幸福。 
仁慈的国王希望鸡国的每一只鸡都能感到幸福,请你帮国王规划一下在这 n 天中怎样给每一只发钱才能让最多的鸡感到幸福?

输入

输入共 2 行。 
第 1 行输入两个整数 n 和 m,分别表示发钱的天数(或理解为来领钱的鸡数)和鸡国的平均收入。 
第 2 行 n 个正整数 ai  (1≤i≤n),依次表示第 i 天发的一袋钱中的“鸡币”为 ai 元。。

输出

输出 1 行一个整数,表示最多可以让多少只鸡感到幸福。

样例输入

2 1
2 1

样例输出

2分析:题意是有n天,每天有a[i],2*a[i],选其中一个,或者不选,问最长不减子序列的长度;   首先可以想到dp[i] = max (dp[i-j]) + 1 ,i>=m&&i-j>=m , j>=0;   dp[i] 表示当前得到钱数最大不超过 i 的最多个数;   这样是O(N2)的复杂度,然后 max(dp[i-j]) 其实是前缀的最大值,可以用树状数组或线段树维护;   这样复杂度是O(Nlog N);代码:
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <climits>
#include <cstring>
#include <string>
#include <set>
#include <bitset>
#include <map>
#include <queue>
#include <stack>
#include <vector>
#include <cassert>
#include <ctime>
#define rep(i,m,n) for(i=m;i<=(int)n;i++)
#define mod 100000007
#define inf 0x3f3f3f3f
#define vi vector<int>
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define ll long long
#define pi acos(-1.0)
#define pii pair<int,int>
#define sys system("pause")
#define ls rt<<1
#define rs rt<<1|1
#define all(x) x.begin(),x.end()
const int maxn=2e5+10;
const int N=5e2+10;
using namespace std;
ll gcd(ll p,ll q){return q==0?p:gcd(q,p%q);}
ll qmul(ll p,ll q,ll mo){ll f=0;while(q){if(q&1)f=(f+p)%mo;p=(p+p)%mo;q>>=1;}return f;}
ll qpow(ll p,ll q,ll mo){ll f=1;while(q){if(q&1)f=qmul(f,p,mo)%mo;p=qmul(p,p,mo)%mo;q>>=1;}return f;}
int n,m,k,t,a[maxn],d[maxn],b[maxn],cnt,c[maxn];
void add(int x,int y)
{
    while(x<=cnt)d[x]=max(d[x],y),x+=x&(-x);
}
int get(int x)
{
    int ret=0;
    while(x)ret=max(ret,d[x]),x-=x&(-x);
    return ret;
}
int main()
{
    int i,j;
    scanf("%d%d",&n,&m);
    b[++cnt]=m;
    rep(i,1,n)scanf("%d",&a[i]),b[++cnt]=a[i],b[++cnt]=2*a[i];
    sort(b+1,b+cnt+1);
    cnt=unique(b+1,b+cnt+1)-b-1;
    m=lower_bound(b+1,b+cnt+1,m)-b;
    rep(i,1,n)c[i]=lower_bound(b+1,b+cnt+1,2*a[i])-b,a[i]=lower_bound(b+1,b+cnt+1,a[i])-b;
    int ret=0;
    rep(i,1,n)
    {
        int ok1,ok2;
        if(a[i]>=m)
        {
            ok1=get(a[i]);
            ret=max(ret,ok1+1);
        }
        if(c[i]>=m)
        {
            ok2=get(c[i]);
            ret=max(ret,ok2+1);
        }
        if(a[i]>=m)
        {
            add(a[i],ok1+1);
        }
        if(c[i]>=m)
        {
            add(c[i],ok2+1);
        }
    }
    printf("%d\n",ret);
    return 0;
}
时间: 2024-07-30 17:03:04

鸡国福利的相关文章

Yali 19 - 8 - 6 test T2 猪国(pig) 题解

T2 猪国 题?描述 猪国是?个由 \(n\) 个城市组成的国家. 国王意识到了"要致富,先修路"这句话的重要性,它决定?规模修路.不巧的是,猪国的 猪们不太会?程,于是只能请隔壁鸡国的鸡建狂魔来帮忙修路.鸡建狂魔看不起猪,于是随 便建设了 \(m\) 条单向的路.尽管如此,每条路还是产?了或多或少的价值. 路修好了,经济却上不来.国王经过调研,发现了道路的巨?缺陷.具体来说,猪?们?向 感不好,?旦存在若?条路能组成?个环,那么可怜的猪?就有可能在环??绕来绕去,这 样甚?会产?反效

游戏公司通用屏蔽字列表

#都是正则表达式,Python下可直接导入 #公用过滤表(命名与聊天频道都屏蔽) CommonFilter = { "[hhH][^a-zA-Z0-9一-龥]{0,10}[ttT][^a-zA-Z0-9一-龥]{0,10}[ttT][^a-zA-Z0-9一-龥]{0,10}[ppP][^a-zA-Z0-9一-龥]{0,10}[::][^a-zA-Z0-9一-龥]{0,10}[//][^a-zA-Z0-9一-龥]{0,10}[11][^a-zA-Z0-9一-龥]{0,10}[66][^a-zA-Z

关于“鸡脚神”的看法

世界上本就有些事情无法用科学解释,是真是假全凭各位读者自己推断. 笔者有时会喜欢读一下灵异的事来解解闷,这几天闲来无事翻了翻天涯论坛的娱乐八卦贴. 看到当中一个回复时,让笔者大吃一惊. 大家请看以下这张截图,就是这个娱乐八卦贴的当中一个回复. 娱乐贴原文出处:   http://www.tianya.cn/publicforum/content/funinfo/1/1508643.shtml 这个回复中有提到鸡脚印和锁链拖行的痕迹,让笔者大吃一惊的原因就是这句话的描写叙述,由于在此贴之前笔者也看

国美的新零售征程:“三板斧”如何打造新生态?

在过去几年时间里,基于物联网新型技术的兴起和迭代,中国互联网商业市场格局也发生了悄然变化. 最显著的案例莫不在于京东崛起之后,和阿里先后展开了不可避免的直面交锋,而其他一些已经式微的电商平台则继续保持着在行业内的风雨飘摇状态,除此之外,一些依靠自身优势享有夯实基础的平台,则通过业务创新模式寻找到了全新空间并突破旧绩的同时,开创了一个新型的未来.在这两个形态之中,以线下零售为起家的国美成为了后一种现象的代表者,成为这个领域里的瞩目新焦点. 以往,提及国美,大多人对其的印象或可还停留在中国最大的连锁

对国家失望:汉末儒生集体沉默(儒家主张积极入世,以经国济世为己任的)

大多数儒生的心态和行为方式直接决定着儒学兴衰的命运,在逐名求利中,代表着国家最高学术水平的太学迅速没落了.另一部份觉得国家迟早完蛋,放浪形骸.儒家在东汉末年,走进了一个怪圈. 儒学在汉末陷入怪圈 孔老夫子苦心孤诣发明的儒学到了东汉末年,算是走进了一个怪圈.皇帝是左一道圣旨右一通诏令,提倡学习六艺经典,举荐孝廉贤良,把名教治国的口号喊得震天响,把<白虎通义>等儒教大典尊奉为所谓的"国宪",真是"言者谆谆":可是在实际生活中,却"听者藐藐"

庆中秋、迎国庆,福利大放送!充值返金币!最高送20%!

知识改变命运,技术成就梦想,要赚钱先学习!可是管家们总是收到小伙伴们抱怨课程贵,囊中羞涩,这可肿么办呢? 这不续学院周年庆活动后,中秋节到来之际,又来一大波充值福利来袭~趁着中秋节和十一假期的到来,大小管家特地说服老板给大家发补贴!充值返金币,绝对不含糊,学员充充充,学院送送送~ 充值的金币可以在学院任意消费(购买课程.套餐.会员卡.培训班均适用哦)错过悔一年~~ [活动时间] 2015.9.22 0:00:00--2015.9.24 23:59:59 (限时3天优惠大放送!各位小伙伴一定要注意

国政协委员李g

1.作为世界名花生态购物节总冠名单位,整体出现在系列活动的各类报道中,形式为:    "我们要理顺思路,坚定信心发展临空经济:面向全球,以更加开放姿态广纳民智民意,做好规划.招商.建设.管理等工作:狠抓落实,将征集的'金点子'归纳研究,促进成果转化." 红网道县2月23日讯(通讯员 何文才 蒋晓国 谭诚)2月22日,笔者从湖南省道县卫计委部门了解到,2016年,道县计生协会组织充分发挥自身优势,认真开展"三结合""生育关怀"活动,积极参与基本公卫

【无私分享】干货!!!一个炫酷的自定义日历控件,摆脱日历时间选择烦恼,纯福利~

最近公司项目中有一个按日期查看信息的功能,楼主本想用之前用的wheelView将就使用的,不过产品经理有个新要求,就是点击按钮弹出的日期选择对话框必须显示农历节假日,周几什么的.这可就难为人了,倘若使用之前的滚动时间选择器,无疑是难以实现的,楼主辗转反侧,冥思苦想,却不得正果. 好吧,去网上下了几个OA系统一用就有了idea,突然想到手机自带的日历~~,oh,year,日历就有这功能,瞧瞧,我靠,这个东西,咋做. 仔细一瞧,似乎用GridView可以实现,额,二话不说就开干.折腾了半天都没弄好,

微观经济学(九):市场与福利 - 应用:国际贸易

前言 在第三节中,我们介绍了国际贸易的好处,各国都可以从贸易中获益,因为贸易使每个国家都可以专门从事自己最擅长的活动.但是在那里的分析是不完善的,它没有解释在国际市场上如何实现这种贸易的好处,或者这些好处如何在各个经济参与者之间进行分配,在本节中,将详细介绍这些内容. 决定贸易的因素 没有贸易时的均衡 假设我们国家当前要贸易的产品是纺织品,国内纺织品市场的供需图如下: 世界价格和比较优势 现在我们要查看我们到底是应该出口还是进口纺织品. 我们把世界市场上通行的价格称为世界价格(world pri