[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;
}
转载于:https://www.cnblogs.com/jinkun113/p/4873174.html
[BZOJ3874/AHOI2014]宅男计划相关推荐
- 外卖(food) 洛谷4040宅男计划 三分套二分贪心
food评测传送门 [题目描述] 叫外卖是一个技术活,宅男宅女们一直面对着一个很大的矛盾,如何以有限的金钱在宿舍宅得尽量久. 外卖店一共有 N 种食物,每种食物有固定的价钱 Pi 与保质期 S ...
- 五道口宅男 - Android
http://hujiaweibujidao.github.io/mobile/ 对移动开发的热情一直都有,但是直到本科大四保研之后才有了时间去自学Android开发,从此一发不可收拾,做了些小项目, ...
- 五道口宅男 - Android NDK and OpenCV Development With Android Studio
http://hujiaweibujidao.github.io/ http://hujiaweibujidao.github.io/blog/archives/ 五道口宅男 http://hujia ...
- 荐几个宅男宅女常去的网站 你不得不知道的
.宅男宅女们每天呆在电脑前,除了聊聊QQ,上上开心,逛逛淘宝,还做些什么呢?以下15个网站,都是宅男宅女经常去的地方,你也可以去看看. 1. 去那儿 http://www.qunar.com 想去旅游 ...
- 宅男抖音某猫协议分析及应用破解
" 分析传说中的快x,顺便提供破VIP线路及去启动广告方法." 在当今这个由应用市场主导的网络上,流传着一批应用,它们低调又神秘,依赖口碑与独立网站在地下渠道传播,应用市场中从来都 ...
- 头像秒变像素风,宅男大叔自学AI打造大师级水准,火爆推特
↑ 点击蓝字 关注极市平台 来源丨量子位 极市导读 最近,一位日本宅男大叔佐藤做了一个AI生成肖像画的网站AI Gahaku,10天内用户访问量从0暴增到100万,引爆推特.>>就在明天, ...
- 宅男程序员给老婆的计算机课程之9:数据模型
这次来讲MVC中最后的M. Model,几乎可以说是网页应用的核心. 之前课程提到过网页应用是由数据库驱动,而在很多场景,数据库 = M : M = 数据库. 所谓的ORM: object relat ...
- 宅男程序员给老婆的计算机课程
声明: Technorati 标记: IT生活 本文档来自:http://developer.51cto.com/art/201203/321936.htm 宅男程序员给老婆的计算机课程之0:认清本质 ...
- ed是什么梗_花泽香菜不笑了什么梗怎么回事?花泽香菜为什么是宅男女神?
花泽香菜,是日本的声优,她不仅长相萌,声音才是真的萌.因为参与配音了很多日漫,在加上是童星出身,在日本拥有很高的人气(花泽香菜为什么那么火),被称为"宅男女神".据悉,花泽香菜平时 ...
最新文章
- java客服系统_阿里Java内部资料:2020最全Java技术栈(架构篇+算法篇+大数据)
- 自然语言处理的发展历程
- 互联网生态建设落地五大挑战——保险科技生态建设...
- 测试人员在需求阶段应做哪些工作
- Linux 内核101:[译]并发导论
- VTK:重叠AMR用法实战
- 通俗易懂两种常用的多线程实现方式——Java并发系列学习笔记
- 详解三种主流分布式事务方案的优劣
- java classpath设置_Java CLASSPATH设置
- 系统起动时加载的过程
- IOS 设置文件是否使用ARC
- LeetCode篇之链表:83(去重问题)
- python爬虫练习--爬取猫眼top100电影信息
- ubuntu ifconfig_VirtualBox中ubuntu的LAMP项目(温度采集)
- [CTF]学习资源推荐
- j-link V7.22b 提示“The connected J-Link is defective“
- A40i使用笔记:QT使用alsa采集音频pcm信息
- excel使用vb选中指定单元格,到指定行的最后一行有数据的等行数的单元格区间(列等高复制)
- 【天天读书】2023 年,科技行业的创业者们推荐这 47 本书 | 创始人书单
- 功能覆盖率实验第二讲:coverage中at_leat用法
热门文章
- R语言forestmodel包使用教程
- android nuwa2,android热更新
- scrapy-redis mysql_Scrapy-redis 分布式
- Matlab | 数字信号处理:双线性变换法设计IIR数字滤波器
- python初中必背语法_初中必背英语语法知识汇总
- 导入图片后截取_微服务项目第36天:导入数据到索引库
- 直播报名 | 科技赋能零售金融业务转型
- rust(67)-rust元组与空元组
- 基因分子生物学(1)-基因常识与DNA常识
- wxWidgets随笔(9)-utf8~wxString存储二进制数据(4)