[BZOJ3874][AHOI2014] 宅男计划
Description
Input
Output
输出仅包含一行一个整数表示JYY可以宅的最多的天数。
Sample Input
5 0
10 2
Sample Output
HINT
【样例说明】
#include <cstdio>
#include <algorithm>
#define MAXN 205
using namespace std;
typedef long long ll;
struct Food { ll p, s; } tmp[MAXN], a[MAXN];
struct Cmp1
{
bool operator () (Food x, Food y)
{
return x.s == y.s ? x.p < y.p : x.s < y.s;
}
};
Cmp1 cmp1;
struct Cmp2
{
bool operator () (Food x, Food y)
{
return x.p < y.p;
}
};
Cmp2 cmp2;
ll t, m, f, n, tot;
ll getAns(ll o)
{
ll nowm = m - f * o, d = 0, res = 0, tx;
if (nowm < 0) return 0;
for (int i = 1; i <= tot; i++)
{
ll s = a[i].s, p = a[i].p;
if (d <= s) tx = min(s - d + 1, nowm / (p * o)), res += tx * o, nowm -= p * o * tx, d += tx;
if (d <= s) tx = min(o, nowm / p), res += tx, nowm -= p * tx, d++;
}
return res;
}
void init()
{
tot = 1;
scanf("%I64d %I64d %I64d", &m, &f, &n);
for (int i = 1; i <= n; i++) scanf("%I64d %I64d", &tmp[i].p, &tmp[i].s);
sort(tmp + 1, tmp + n + 1, cmp1), a[1] = tmp[1];
for (int i = 1; i <= n; i++) if (tmp[i].s > a[tot].s) a[++tot] = tmp[i];
sort(a + 1, a + tot + 1, cmp2);
}
int main()
{
freopen("food.in", "r", stdin);
freopen("food.out", "w", stdout);
scanf("%I64d", &t);
while (t--)
{
init();
if (f + a[1].p > m) { printf("0\n"); continue; }
ll l = 1, r = m / (f + a[1].p), ans = max(getAns(l), getAns(r));
while (l <= r)
{
ll tot = r - l + 1, ml = l + tot / 3, ansl = getAns(ml), mr = l + tot * 2 / 3, ansr = getAns(mr);
if (ansl < ansr) ans = max(ansl, ans), l = ml + 1;
else ans = max(ansr, ans), r = mr - 1;
}
for (int i = l; i <= r; i++) ans = max(ans, getAns(i));
printf("%I64d\n",ans);
}
return 0;
}
[BZOJ3874][AHOI2014] 宅男计划的更多相关文章
- bzoj3874&2832 [Ahoi2014]宅男计划 模拟退火,三分
[Ahoi2014&Jsoi2014]宅男计划 Time Limit: 1 Sec Memory Limit: 256 MBSubmit: 962 Solved: 371[Submit][ ...
- bzoj 3874: [Ahoi2014]宅男计划
Description [故事背景] 自从迷上了拼图,JYY就变成了个彻底的宅男.为了解决温饱问题,JYY 不得不依靠叫外卖来维持生计. [问题描述] 外卖店一共有N种食物,分别有1到N编号.第i种 ...
- [洛谷P4040] AHOI2014 宅男计划
题目背景 自从迷上了拼图,JYY就变成了个彻底的宅男.为了解决温饱问题,JYY不得不依靠叫外卖来维持生计. 问题描述 外卖店一共有N种食物,分别有1到N编号.第i种食物有固定的价钱Pi和保质期Si.第 ...
- BZOJ3874 codevs3361 宅男计划
AC通道1:http://www.lydsy.com/JudgeOnline/problem.php?id=3874 AC通道2:http://codevs.cn/problem/3361/ [题目分 ...
- 【JZOJ3673】【luoguP4040】【BZOJ3874】宅男计划
description 外卖店一共有N种食物,分别有1到N编号.第i种食物有固定的价钱Pi和保质期Si.第i种食物会在Si天后过期.JYY是不会吃过期食物的. 比如JYY如果今天点了一份保质期为1天的 ...
- 【BZOJ3874】[AHOI&JSOI2014]宅男计划(贪心,三分)
[BZOJ3874][AHOI&JSOI2014]宅男计划(贪心,三分) 题面 BZOJ 洛谷 题解 大力猜想一最长的天数和购买外卖的总次数是单峰的.感性理解一下就是买\(0\)次是\(0\) ...
- [luogu] P4040 [AHOI2014/JSOI2014]宅男计划(贪心)
P4040 [AHOI2014/JSOI2014]宅男计划 题目背景 自从迷上了拼图,JYY就变成了个彻底的宅男.为了解决温饱问题,JYY不得不依靠叫外卖来维持生计. 题目描述 外卖店一共有N种食物, ...
- Bzoj 3874: [Ahoi2014&Jsoi2014]宅男计划 三分+贪心
3874: [Ahoi2014&Jsoi2014]宅男计划 Time Limit: 1 Sec Memory Limit: 256 MBSubmit: 861 Solved: 336[Su ...
- 「AHOI2014/JSOI2014」宅男计划
「AHOI2014/JSOI2014」宅男计划 传送门 我们首先要发现一个性质:存货天数随买食物的次数的变化类似于单峰函数. 具体证明不会啊,好像是二分加三分来证明?但是没有找到明确的严格证明. 感性 ...
随机推荐
- Web开发技术发展历史
Web开发技术发展历史 来自:天码营 原文:http://www.tianmaying.com/tutorial/web-history Web的诞生 提到Web,不得不提一个词就是"互 ...
- Docker数据持久化与容器迁移
上节讲到当容器运行期间产生的数据是不会在写镜像里面的,重新用此镜像启动新的容器就会初始化镜像,会加一个全新的读写入层来保存数据.如果想做到数据持久化,Docker提供数据卷(Data volume)或 ...
- C++11的enum class & enum struct和enum
C++11的enum class & enum struct和enum C++标准文档--n2347(学习笔记) 链接:http://www.open-std.org/jtc1/sc22/wg ...
- Verilog笔记——YUV2RGB的模块测试
1 YUV2RGB的模块如下: module yuv2rgb( clk, //时钟输入 rstn, //复位输入,低电平复位 y_in, //变换前Y分量输出 cb_in, //变换前Cb分量输出 c ...
- Anynote 基于ExtJS多用户个人信息管理系统
Anynote——个人信息管理系统 —–主要用于学习交流—– 源码下载:https://git.oschina.net/xiyt/Anynote.git 一.系统说明 Anynote是一个基于extj ...
- 2013成都网络赛 J A Bit Fun(水题)
A Bit Fun Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- Authcode()
加密解密函数Authcode(): 1. // 参数解释 2. // $string: 明文 或 密文 3. // $operation:DECODE表示解密,其它表示加密 4. // ...
- Windows下安装MongoDB
项目当中用到MongoDB最为NoSQL数据库,运行的平台为 Windows Server 2008,下面是MongoDB的安装过程笔记: 1.下载软件 官方下载地址:http://www.mongo ...
- C和指针 第五章 警告总结
1.有符号的值得右移位操作是不可移植的 2.移位操作的位数是个负数,是未定义的 3.连续赋值的各个变量的长度 不一,导致变量值截断. #include <stdio.h> int main ...
- Linux上进行单片机开发
linux上可以使用sdcc进行单片机开发 ubuntu使用 apt-get install sdcc 即可安装. 附一个比较通用的Makefile PRJ := test SRC := $(wild ...