D. Boboniu Chats with Du

题意: 给 n 个快乐值,你可以按任何顺序在群里说出快乐值为 kik_iki​ 的话,当 m<kim<k_im<ki​ 时,你会获得 d 天的禁言(不包括当天),n 天后你的快乐值的和最大是多少。
思路: 很明显的贪心,但是不是太好想。
首先我们把大于 m 的与小于等于 m 的数分开存到 a、ba、ba、b 数组中,然后分别从大到小排序。
所以如果我们说快乐值大于 m 的话,那么每次肯定说最大的 ai,当说 num 次 ai 时要耗费t=(num−1)∗(d+1)+1t=(num-1)*(d+1)+1t=(num−1)∗(d+1)+1 的天数(第n天说最后一个大于m的话),那么还剩下n−tn-tn−t 天需要说不被禁言的话,那就从 bi 中挑前 n-t 大的来说。然后就枚举 num 找个最大的即可。

#include<bits/stdc++.h>using namespace std;
typedef long long LL;
const int N = 1e5+7;int a[N];
LL h[N],s[N],cnt1,cnt2;bool cmp(int x,int y){return x>y;
}int main()
{int n,d,m,t;cin>>n>>d>>m;for(int i=1;i<=n;i++) {cin>>t;if(t>m) h[++cnt1] = t;else s[++cnt2] = t;}sort(h+1,h+1+cnt1,cmp);sort(s+1,s+1+cnt2,cmp);for(int i=1;i<=cnt1;i++) h[i] += h[i-1];for(int i=1;i<=n;i++) s[i] += s[i-1];   //注意这里的前缀和要长度为 n LL ans = s[cnt2];  // 防止全小于等于 mfor(int num=1;num<=cnt1;num++){  //枚举禁言次数 LL k = (LL)(num-1)*(d+1)+1;  //禁言num次时用多少天 if(k <= n) ans = max(ans,h[num]+s[n-k]);  //禁言当天的快乐值+剩余天数中不被禁言的快乐值 }cout<<ans<<endl;return 0;
}

D. Boboniu Chats with Du (664 div2 贪心 枚举)相关推荐

  1. Boboniu Chats with Du(贪心 + 前缀和)

    题目链接: Boboniu Chats with Du 大致题意: 给你n个数字, 让你给这n个数字进行合理排序, 使得结果这n个数字之和最大. 条件: 如果某个位置i出现了大于m的数字, 则接下来的 ...

  2. CodeForces - 1395D - Boboniu Chats with Du 贪心

    CodeForces - 1395D - Boboniu Chats with Du 贪心 题意:如果ai>ma_i>mai​>m,并且当天可以说话,则接下来ddd天不能说话.其余所 ...

  3. A. Boboniu Chats with Du

    A. Boboniu Chats with Du 解题思路:先将>m的和<=m的分别统计一下,然后再来枚举>m的,每次的枚举的a个都必须有一个放在最后,对于剩下的a-1个,应该消耗( ...

  4. Codeforces1395 D. Boboniu Chats with Du(贪心)

    Have you ever used the chat application QQ? Well, in a chat group of QQ, administrators can muzzle a ...

  5. CodeForces - 1395D Boboniu Chats with Du(贪心)

    题目链接:点击查看 题目大意:给出一个长度为 n 的数列 a,现在可以对数列 a 进行重新排序,规定: 如果 a[ i ] > m 的话,那么接下来 d 天的数字不做贡献 否则没有影响 问如何排 ...

  6. D. Boboniu Chats with Du(Codeforces Round #664 (Div. 2) )

    感受 怎么这么傻逼的题目,我现场A不了呢?看来还有不少提升的空间怎么这么傻逼的题目,我现场A不了呢?看来还有不少提升的空间怎么这么傻逼的题目,我现场A不了呢?看来还有不少提升的空间 题意 简单来说,给 ...

  7. Codeforces 1395 D. Boboniu Chats with Du(贪心枚举答案)

    传送门 题意: 思路: 先把大于m的放在b数组,小于m的放在a数组 枚举一下最终结果中用了几个b,取一个最大值即可 看代码应该能明白(有注释) 代码: int a[MAXN],b[MAXN]; ll ...

  8. D. Boboniu Chats with Du(枚举+思维)Codeforces Round #664 (Div. 2)

    原题链接: https://codeforces.com/contest/1395/problem/D 题意: 你用过QQ吧,用过QQ就跳过咯?就是你有一堆有趣的快乐因子,然后你要搞怪群主,如果你的快 ...

  9. acm-(模拟、暴力枚举)Codeforces Round #664 (Div. 1) A. Boboniu Chats with Du

    传送门 将元素分为两类,大于mmm的和小于等于mmm的. 对于大于mmm的,我们将最大的那个放在序列末端,然后枚举其它元素有多少个能产生贡献,假设有xxx个能产生贡献,那么这xxx个元素还会消耗xdx ...

最新文章

  1. Java多线程闲聊(一):概论
  2. 深度学习核心技术精讲100篇(二)-图网络中的社群及社群发现算法
  3. ASP.NET浏览器跨域
  4. 【双100%解法】剑指 Offer 24. 反转链表
  5. 工业相机硬汉!这款相机被NASA选择,全程记录毅力号登陆火星
  6. oracle动态语句打开游标,Oracle动态语句中返回游标
  7. no SSL-C headers found
  8. teablue数据分析_Bluetea蓝茶的品牌该如何分析,你知道吗
  9. bounce buffer
  10. 使用 SVI 实现 VLAN 间路由
  11. 2017招商银行笔试01
  12. 天气数据垂手可得-IBM SPSS Modeler 18.0扩展应用实操练习
  13. 怎样在vs2010中添加图片资源呢?
  14. 【邢不行|量化小讲堂系列06-Python量化入门】极简方法将日线数据转为周线、月线或其他周期
  15. 《见识》----吴军博士,读书笔记
  16. 利用批处理代码快速恢复桌面图标小箭头,更可能解决win7出现黑色方块问题
  17. Windows 8 客户端预览版(Consumer Preview)抢先体验
  18. 江城子·乙卯正月二十日夜记梦
  19. 大数据技术基础知识总结八
  20. 计算机层次结构与计算机硬件

热门文章

  1. 2020大学生网络知识大赛总决赛模拟题12-18
  2. 白等贺锦鲤就职典礼最靓的仔~Have fun
  3. Monodraw Mac版 v1.6.1 ASCII 艺术编辑器 兼容 M1
  4. 根据IP查询所在城市接口(查询用户所在城市)
  5. 惠普计算机如何改启动,惠普电脑怎么设置u盘启动
  6. 游戏3D建模师是一个什么样的工作?游戏模型制作过程解析
  7. 数实共生-未来经济白皮书2021 附下载地址
  8. 电脑玩游戏没声音 360一键诊断修复
  9. CSMA和ALOHA的python协议仿真分析(附带程序下载链接,面对对象实现)
  10. 安全工具使用教程合集