BZOJ2832 : 宅男小C

首先将所有显然不在最优解中的外卖都删去,那么剩下的外卖价格越低,保质期也最短。

考虑三分订外卖的次数,然后贪心求解,每次尽量平均的时候可以做到最优化。

三分的时候,以存活天数为第一关键字,剩余钱数为第二关键字,就能使函数严格上凸,这样才可以保证三分的正确性。

时间复杂度$O(n\log m)$。

#include<cstdio>
#include<algorithm>
#define N 210
using namespace std;
typedef long long ll;
typedef pair<ll,ll> PI;
ll m,f,l,r,len,m1,m2;PI s1,s2,ans;
int n,_n,i,j;struct P{ll p,s;}a[N];
bool cmp(const P&a,const P&b){return a.s==b.s?a.p<b.p:a.s>b.s;}
bool cmp2(const P&a,const P&b){return a.s<b.s;}
PI cal(ll k){
  ll t=m-f*k,d=0,now=0,j;
  for(i=1;i<=n;i++){
    if(a[i].s>=d)j=min(t/a[i].p/k,a[i].s-d+1),d+=j,now+=j*k,t-=j*a[i].p*k;
    if(a[i].s>=d)j=min(t/a[i].p,k),d++,now+=j,t-=j*a[i].p;
  }
  return PI(now,t);
}
int main(){
  while(~scanf("%lld%lld%d",&m,&f,&n)){
    for(i=1;i<=n;i++)scanf("%lld%lld",&a[i].p,&a[i].s);
    _n=n,sort(a+1,a+n+1,cmp);
    for(l=a[j=1].p,i=2;i<=n;i++){
      l=min(l,a[i].p);
      if(a[i].s<=a[j].s&&a[i].p>a[j].p)_n--,a[i].s=-1;else j=i;
    }
    sort(a+1,a+n+1,cmp),n=_n,sort(a+1,a+n+1,cmp2);
    l=1,r=m/(f+a[1].p);
    while(l<=r){
      len=(r-l)/3;
      if((s1=cal(m1=l+len))>(s2=cal(m2=r-len)))ans=max(ans,s1),r=m2-1;else ans=max(ans,s2),l=m1+1;
    }
    printf("%lld\n",ans.first);
    ans=PI(n=0,0);
  }
  return 0;
}

  

时间: 2024-10-09 17:01:32

BZOJ2832 : 宅男小C的相关文章

棋牌外挂年入千万,20秒小视频骗遍宅男,揭秘诱导欺诈_转

转自:棋牌外挂年入千万,20秒小视频骗遍宅男,揭秘诱导欺诈   https://news.cnblogs.com/n/618203/ 文/木子梨 来源:一本黑(ID:darkinsider) 在如今这个“流量为王”的时代,毫不夸张的说,流量就等同于金钱. 话虽如此,但如何最大限度的把流量换成金钱,这是一门学问. 金钱在诱惑骗子,骗子只能来诱惑你. 那些你也许从来都不屑的软件,实则充满着令人不可思议的套路和暴利. 01 一款棋牌辅助软件中,竟隐藏着年收入近 5000 万的诱导支付交易 最近,在一次

老司机太多?为何科技宅男爱“撸串”

"撸",原本是宅男是家里做某些不可言说的事儿的代名词,但随着网络文化的发酵,迅速爆红.尤其是夜市文化,演变成了"撸串文化".一个人撸串,撸的是心情:两个人撸串,撸的是默契:三个人撸串,撸的是江湖.撸串时每个小餐桌都是一个指点江山.挥斥方遒的大舞台.对于科技宅男来说,更是难得的放松机会.那么问题来了,对互联网熟稔至极,个个都是老司机的互联网"民工"们,为何独爱"撸串"? 近日58同城和京东接连被曝光要采用"996&qu

快播公司2.6亿元天价侵权罚款 侵了宅男们的心

 腾讯笑了,快播完了,宅男哭了.小编的手手在颤抖,2.6亿后面是几个零?这可是无数个闷骚小男人辛苦赚来的零花钱啊,全都变相纳税去了,555- 6月26日,快播公司2.6亿罚单正式生效,有关部门限定其在15日内缴清,若逾期不缴,则每日加罚罚款总额的3%(大约为780万元).这是国内对侵权案件的最大罚单,太狠了吧!宅男们掩面哭泣,痛不欲生. 来看看深圳市场监管局稽查大队执法人员将侵权行政处罚2.6亿元罚单送到快播公司的庄严场面吧,罚单即日生效哦!http://www.71shi.net/?p=2

美公益网站创始人纽马克:宅男宅女职场建议

<<<-------------  <_< 向左看 英文原文:If I Were 22: Nerds, Hack Your Career 作者:克雷格·纽马克(Craig Newmark),公益网站 craigconnects 的创始人. 如果你是一位不苟言笑的老派宅男/宅女,那么通常你获得成功的方式要么是自学成才,要么是从多年的经历中总结经验和吸取教训. 他们不可能在学校里教你这些知识. 如果你有正常的社交影响力,你或许已经知道这一点了,或者你会比其他的宅男更快明白这个道理

宅男也可变形男-我是如何在11个月零27天减掉80斤的

对我人生态度起到决定性的一个事件 这个事情说起来也是源于98年的一次初中同学聚会,在我的"一切源于一台笔记本"里我提到过,当时我是中专毕业.早早的工作了. 96年11月份开始工作,而当时的初中同学们都还在读高中,一时间觉得自己有收入了可以开销了. 同时我们那个初中和一般学校不一样,因为都是复旦教师的子弟,因此我们从托儿所到幼儿园到小学到初中都是同一批人,感情彼深. 我自己又是一个极念旧情的人,因此一开始有收入后第一件事就是想到的是请以前初中的同学们出来玩,吃饭. 96年开始一年一次,每

BZOJ 3874([Ahoi2014]宅男计划-dp+三分法+贪心)

3874: [Ahoi2014]宅男计划 Time Limit: 1 Sec  Memory Limit: 256 MB Submit: 66  Solved: 24 [Submit][Status][Discuss] Description [故事背景] 自从迷上了拼图,JYY就变成了个彻底的宅男.为了解决温饱问题,JYY 不得不依靠叫外卖来维持生计. [问题描述] 外卖店一共有N种食物,分别有1到N编号.第i种食物有固定的价钱Pi和保质期Si.第i种食物会在Si天后过期.JYY是不会吃过期食

bzoj 3874: [Ahoi2014]宅男计划

[AHOI2014/JSOI2014]宅男计划: \(solution:\) 看到这一题题面,莫名想到了(蔬菜),于是莫名开始恐慌.考场上只知道有个贪心计算快递小哥来一次,我要买能活n天的最小花费,却没想到还有一个三分法来枚举快递小哥来的次数! 首先我们可以脑补一下,快递小哥来的次数,和宅男活的总天数是成一个二次函数关系的.就像快递小哥来的次数少,那宅男多数的钱只能分到这么少的购买次数中,因为便宜的保质期短,每次必然会买一些保质期长价格贵的食物:当快递小哥来的次数多了,那我的钱可以分配到很多次购

[luogu] P4040 [AHOI2014/JSOI2014]宅男计划(贪心)

P4040 [AHOI2014/JSOI2014]宅男计划 题目背景 自从迷上了拼图,JYY就变成了个彻底的宅男.为了解决温饱问题,JYY不得不依靠叫外卖来维持生计. 题目描述 外卖店一共有N种食物,分别有1到N编号.第i种食物有固定的价钱Pi和保质期Si.第i种食物会在Si天后过期.JYY是不会吃过期食物的. 比如JYY如果今天点了一份保质期为1天的食物,那么JYY必须在今天或者明天把这个食物吃掉,否则这个食物就再也不能吃了.保质期可以为0天,这样这份食物就必须在购买当天吃掉. JYY现在有M

宅男计划:单峰函数三分

Description 自从迷上了拼图,JYY 就变成了个彻底的宅男.为了解决温饱问题,JYY 不得不依靠叫外卖来维持生计. 外卖店一共有n种食物,分别由1到n编号.第i种食物有固定的价钱Pi和保质期Si.第i种食物会在Si天后过期.JYY 是不会吃过期食物的.比如 JYY 如果今天点了一份保质期为0天的食物,那么 JYY 必须在今天或者明天把这个食物吃掉,否则这个食物就再也不能吃了.保质期可以为天,这样这份食物就必须在购买当天吃掉. JYY 现在有M块钱,每一次叫外卖需要额外付给送外卖小哥外送