思路

\qquad由于这题每棵树上的果子的数据较小,我们可以考虑贝茜的妹妹所拿的框中都是www个苹果,那么只要一一枚举www就再求贝茜在这种情况下可以拿到的最多的苹果然后取最大就好了。
\qquad详情见代码。

代码

#include<bits/stdc++.h>//万能头
#define ll long long
using namespace std;
int n,k,a[5001],l,ans;//ans表示答案
priority_queue<int>q,kong;//利用优先队列取最优,kong用来快速清空。
void doit(int x){//x表示一个篮子最多的果子数 q=kong;l=0;for(int i=1;i<=n;i++){l+=a[i]/x;//按这种装法可以装满多少篮子 q.push(a[i]%x);//余下来的直接加入优先队列 }
}
void kk(int x){int w;//w记录在一个篮子最多装x个的情况下贝茜可以得多少个 w=(l-(k/2))*x;//剩下来的篮子给bessie for(int i=1;i<=k-l;i++){w+=q.top();//取剩下最多的补完k个篮. q.pop();}//也可以直接存到数组里然后sort排序后再取. if(ans<w)ans=w;
}
int main () {scanf("%d%d",&n,&k);for(int i=1;i<=n;i++){scanf("%d",&a[i]);}sort(a+1,a+1+n);for(int i=a[n];i>=a[1];i--){doit(i);if(l>=k){//如果有一个可以取到,那么低的必然能取到,答案也不会更优,所以直接退出。 if(ans<k*i/2)ans=k*i/2;        break;}else if(l<k/2)continue;//取不到直接跳过(也就是说bessie的妹妹不可能最小的一个篮子是i个) else kk(i);}printf("%d",ans);//输出 return 0;
}

题解 luogu P6002 【[USACO20JAN]Berry Picking S】相关推荐

  1. 题解 luogu P2568 GCD

    题解 luogu P2568 GCD 时间:2019.3.11 欧拉函数+前缀和 题目描述 给定整数\(N\),求\(1\le x,y \le N\)且\(\gcd(x,y)\)为素数的数对\((x, ...

  2. 【USACO 2020 January Silver】Berry Picking 题解

    题目描述 Bessie 和她的妹妹 Elsie 正在 Farmer John 的浆果园里采浆果.Farmer John 的浆果园里有 N 棵浆果树(1≤N≤1000):树 i 上有 Bi 个浆果(1≤ ...

  3. 题解P3942_将军令

    初始数组忘了赋初值,,,我真是个机灵鬼 还有这题是三倍经验P2279&&P2016,这题的实现思想来自P2279首个题解 luogu 简化题意 给你一棵树,你有一些可以覆盖范围为$k$ ...

  4. 蓝桥杯取球博弈c语言算法,1298: [蓝桥杯2016初赛]取球博弈 (博弈)

    1298: [蓝桥杯2016初赛]取球博弈 (博弈) 1298: [蓝桥杯2016初赛]取球博弈 (博弈) #include #include #include #include #include # ...

  5. luogu P1549 棋盘问题(2) 题解

    luogu P1549 棋盘问题(2) 题解 题目描述 在\(N * N\)的棋盘上\((1≤N≤10)\),填入\(1,2,-,N^2\)共\(N^2\)个数,使得任意两个相邻的数之和为素数. 例如 ...

  6. 【luogu P5022 旅行】 题解

    题目连接:https://www.luogu.org/problemnew/show/P5022 \(NOIP2018 DAY2T1\) 考场上只写了60分,很容易想到当 m = n - 1 时的树的 ...

  7. 题解 BZOJ1026 luogu P2657 [SCOI2009]windy数 数位DP

    BZOJ & luogu 看到某大佬AC,本蒟蒻也决定学习一下玄学的数位$dp$ (以上是今年3月写的话(叫我鸽神$qwq$)) 思路:数位$DP$ 提交:2次 题解:(见代码) #inclu ...

  8. 【luogu P2341 [HAOI2006]受欢迎的牛】 题解

    题解报告:https://www.luogu.org/problemnew/show/P2341 我们把图中的强连通分量缩点,然后只有出度为0的牛是受欢迎的,这样如果出度为0的牛只有一个,说明受所有牛 ...

  9. Luogu P2708 硬币翻转 题解

    Luogu p2708题解 思路: 由于我们这个题目的长度不知道,所以我们不能一次性输入所有的硬币的状态,也许会爆数组(Ps:我没试过我不是知道).所以我们为了保险采取用getchar()一个一个读入 ...

  10. 【luogu P2169 正则表达式】 题解

    题目链接:https://www.luogu.org/problemnew/show/P2169 tarjan缩点 + SPFA 缩完点之后加边注意别写错. 也可以不用建两个图,可以在一张图上判断是否 ...

最新文章

  1. 最有效阻止SSH暴力破解的方法
  2. CentOS 6.5安装MongoDB 2.6(多yum数据源)
  3. PMCAFF|百度客户端产品:高效开发客户端产品的正确姿势
  4. 【实施工程师】Linux查看日志后100行
  5. php 代码 自动检查工具下载,PHP_CodeSniffer安装和使用教程(自动代码检查规范工具)...
  6. 协同过滤Collaborative Filtering
  7. 078 numpy模块
  8. gettype php,gettype
  9. delphi xe 连接mysql_delphixe7支持MYSQL连接的方式
  10. 如何利用百度知道推广网站
  11. python爬取墨迹天气的8月份的温度情况并发送到邮箱
  12. 旁观OpenGL里的透视投影矩阵
  13. vim正则表达式(转)
  14. python搜狗微信搜索wechatsogou 用法
  15. H5 百度高德地图导航
  16. 从零到壹搭建一个商城架构--性能指标
  17. 统计字符串中字符出现次数以及排序
  18. 学生信息管理系统(C语言版本+源码)
  19. 设计模式--提供者模式provider
  20. 判断两直线正交 平行问题

热门文章

  1. 时间的几种格式以及它们之间的相互转换 (js)
  2. Excel数据分析实例
  3. JAVA学习(五):Java面向对象编程基础
  4. 快手电商产品经理实习岗位一轮笔试
  5. 读react.js小书 中组件的render的方法(从零学react)
  6. SD卡无法格式化怎么办的解决方法
  7. QRCode.js 生成二维码(文字信息二维码)
  8. Python第三方库大全
  9. 万物互联-stm32单片机简介、烧录、编程及其项目环境搭建
  10. 数据仓库分层设计,零基础一看就会