芜湖市2018市队选拔Day2T1
好激动啊,Day2竟然AK了!
Day2T1养宠物
Description
badgers是可爱的动物,Smart想拥有一些。宠物店提供N个badgers,编号为1..N,Smart都很喜欢,所以他想拥有得越多越好。初始,每个badger每天需要固定量的食物。但是,如果它看见别的badger也在吃东西,它会觉得饥饿而吃更多的东西。一个badger每多一个同食者需要增加一个固定量的食物。
h[i]表示第i个badger单独进食所需要的食物。g[i]表示第i个badger在每多一个同食者的情况下增加的食物量。Smart每天最多可以供应totalFood量的食物,那么他最多可以养多少只badgers。
注意:Smart是把badgers放在一起养,所以每一只badger都能看到其他badger吃东西。
Input
第一行两个整数N和totalFood。
第二行N个整数,第i个为h[i]。
第三行N个整数,第i个为g[i]。
Output
一个整数,表示Smart最多可以养多少只badgers。
Sample Input
#1
3 7
1 2 3
2 2 1
#2
4 19
5 2 1 5
0 2 4 1
Sample Output
#12
#2
3
Hint
30%的数据:N≤10;
100%的数据:1≤N≤50,1≤h[i]≤1000,0≤g[i]≤1000,1≤totalFood≤1000000。
【题解】
这题首先想到的是暴力。
打一张表出来,其中f[i][j]是第i个动物在和j个人供餐时的食量。
将数量从高到低枚举,按照当前数量i的饭量排升序之后选前i个。看看是否小于等于totalFood。如果是,输出并退出,否则继续枚举下一个时间。
【源代码】
#include <cstdio>
#include <algorithm>
using namespace std;
const int S=;
int n,m,s;
struct info
{
int h,g;
}a[S];
bool cmp(info a,info b)
{
return a.h<b.h;
}
int main()
{
scanf("%d%d",&n,&m);
for (int i=;i<=n;i++)
scanf("%d",&a[i].h);
for (int i=;i<=n;i++)
{
scanf("%d",&a[i].g);
a[i].h+=a[i].g*(n-);
}
for (int i=n;i;i--)
{
sort(a+,a++n,cmp);s=;
for (int j=;j<=i;j++)
s+=a[j].h;
if (s<=m)
{
printf("%d",i);
return ;
}
for (int j=;j<=n;j++)
a[j].h-=a[j].g;
}
puts("");
return ;
}
(20180325)
芜湖市2018市队选拔Day2T1的更多相关文章
- [总结]HNOI2015省队选拔
// 此博文为迁移而来,写于2015年4月21日,不代表本人现在的观点与看法.原始地址:http://blog.sina.com.cn/s/blog_6022c4720102vy9t.html 这次省 ...
- 【欧拉回路+最小生成树】SD开车@山东2018省队一轮集训day1
目录 [欧拉回路+最小生成树]SD开车@山东2018省队一轮集训day1 PROBLEM 题目描述 输入 输出 样例输入 样例输出 提示 SOLUTION CODE [欧拉回路+最小生成树]SD开车@ ...
- zju 校队选拔 被虐记
选拔已经开始了三天才想起来写游记 QAQ.. 7.12 弱弱的Sky_miner来到了ZJU,过程中被热成狗... 然后见到了无数大二大三的大佬们,过程中被热成狗... 后来听靖哥哥说集训的注意事项, ...
- 浙江省队选拔 ZJOI2015 (Round 1) 解题报告
最近莫名其妙地喜欢上了用这种格式写各省省选的全套题解= = 今年浙江省选的出题人是算法竞赛界传说级人物陈立杰,看样子他的出题风格很有特点……ABC三题难度是严格递减的,感觉如果在做第一题的时候被卡住的 ...
- 河南省队选拔 HAOI2015 解题报告
其实省选在四天前就已经结束了,但由于题目难度略大我到今天上午才补完所有题目……(捂脸逃)考场上很幸运,打完了所有我会写的部分分,最后Round1的110分 + Round2的70分,勉强算是没有被 ...
- 重庆市队选拔 CQOI2015 解题报告
文章链接:http://www.cnblogs.com/Asm-Definer/p/4434601.html 题目链接:http://pan.baidu.com/s/1mgxIKli 官方数据:htt ...
- [2018湖南省队集训] 6.24 T1 marshland
题面在这里! 一开始感觉像一个类似二分图的最小割,于是成功跑偏2333333 很容易发现一个关键性质,'L'的两个角落在的偶数格 的行(或者列)的奇偶性一定不同.... 于是我们再把偶数格按照行(或者 ...
- [2018湖南省队集训] 6.28 T3 simulate
这道模拟题出的我毫无脾气2333 最重要的是先要发现操作顺序不影响最后的答案,也就是每次随便挑一个>=2的数进行操作最后总是可以得到同样的数列. (这个还不太难想qwq) 但是最骚的是接下来的模 ...
- [2018湖南省队集训] 6.28 T2 color
毒瘤计数题2333,(小声)k其实可以出到1e9,不过这样求组合数的时候就要记1000种数的1~1000次下降幂(用到的组合数中第一维在1e9级别的只有1000种左右,第二维都是<=1000), ...
随机推荐
- 常见算法和数据结构存在的坑(updating)
数组: c++数组下标都+5会稳. 50005000的别开60006000. 二分: 实数二分可能因为神马精度问题出现了不满足二分序的情况,要小心. 注意二分完后,不能直接用当前数组里存的值,要pd( ...
- 初识sed和gwak
一.sed编辑器 sed命令的格式如下: sed options script file 选项 -e script 在处理输入时,将script中指定的命令添加到已有的命令中 -f fi ...
- USB驱动程序设计
1.USB驱动模型 ①USB HOST控制器驱动 ②USBhexin ③USB客户端驱动 设备4个层次:设备(device).配置(Config).接口(Interface).端点(Endpoint) ...
- 在不损坏数据的情况下调整分区大小(ext2\ext3\ext4)
现在的时间是2017年5月27日 我想说调整分区大小没那么麻烦,至少我直接将一个ext3格式分区从50G减少到了30G. 步骤如下 1 首先确保那个分区是未挂载的. 2 调整分区大小,但是其实并没有实 ...
- centos7.5部署ELk
第1章 环境规划 1.1 ELK介绍 ELK是ElasticSerach.Logstash.Kibana三款产品名称的首字母集合,用于日志的搜集和搜索. Elasticsearc ...
- Database基础(二):MySQL索引创建与删除、 MySQL存储引擎的配置
一.MySQL索引创建与删除 目标: 本案例要求熟悉MySQL索引的类型及操作方法,主要练习以下任务: 普通索引.唯一索引.主键索引的创建/删除 自增主键索引的创建/删除 建立员工表yg.工资表gz, ...
- Java中常用的解决乱码的几种方法
乱码有时候是一个非常让人头疼的问题,这里就总结一下常用的解决乱码的方法. 只知道的用法,却不明白为什么这么用…… 一. 在Java代码中: request.setCharacterEncoding(& ...
- 为什么我markdown里的数学公式全崩了???
目录 try a try ac is ok Typecho博客 https://www.diyifanwen.com/fanwen/dangyuanxindetihui/2665516.htm htt ...
- JdbcTemplate 的oracle分页
@Autowired private JdbcTemplate jd; int ps1=Integer.valueOf(pageSize); int cp1=Integer.valueOf(currP ...
- 运维 04 Shell基础命令(二)
Shell基础命令(二) 查看Linux的发行版 cat /etc/redhat-release cat /etc/os-release 查看系统用户的id信息 id 用户名 id root id ...