题干:

链接:https://ac.nowcoder.com/acm/contest/1080/C
来源:牛客网

在一个游戏中,tokitsukaze需要在n个士兵中选出一些士兵组成一个团去打副本。
第i个士兵的战力为v[i],团的战力是团内所有士兵的战力之和。
但是这些士兵有特殊的要求:如果选了第i个士兵,这个士兵希望团的人数不超过s[i]。(如果不选第i个士兵,就没有这个限制。)
tokitsukaze想知道,团的战力最大为多少。

输入描述:

第一行包含一个正整数n(1≤n≤10^5)。
接下来n行,每行包括2个正整数v,s(1≤v≤10^9,1≤s≤n)。

输出描述:

输出一个正整数,表示团的最大战力。

示例1

输入

复制

2
1 2
2 2

输出

复制

3

示例2

输入

复制

3
1 3
2 3
100 1

输出

复制

100

解题报告:

按s排个序,然后贪心选就行了,优先队列维护前s[i]大元素。

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define FF first
#define SS second
#define ll long long
#define pb push_back
#define pm make_pair
using namespace std;
typedef pair<int,int> PII;
const int MAX = 2e5 + 5;
struct Node {int s;ll v;bool operator<(const Node & b) const {return s > b.s;//按照人数从大到小排序 }
} R[MAX];
struct NN {int id;ll v;NN(int id=0,ll v=0):id(id),v(v){}bool operator<(const NN & b) const {return v > b.v;}
};
priority_queue<NN> pq;//小根堆
int main()
{int n;cin>>n;for(int i = 1; i<=n; i++) {scanf("%lld%d",&R[i].v,&R[i].s);}ll ans = 0,tmp = 0;sort(R+1,R+n+1);for(int i = 1; i<=n; i++) {tmp += R[i].v; pq.push(NN(i,R[i].v));while(pq.size() > R[i].s) {NN cur = pq.top();pq.pop();tmp -= cur.v;}ans = max(ans,tmp);}printf("%lld\n",ans);return 0 ;
}

【牛客 - 1080C】tokitsukaze and Soldier(思维,偏序问题)相关推荐

  1. 牛客:队列Q(思维)

    题目链接 来源:牛客网 题目描述 ZZT 创造了一个队列 Q.这个队列包含了 N 个元素,队列中的第 i 个元素用 Qi 表示.Q1 表示队头元素,QN 表示队尾元素.队列中的元素是 N 的一个全排列 ...

  2. 牛客竞赛(签到题 思维)

    链接:https://ac.nowcoder.com/acm/contest/318/B 来源:牛客网 IG牛逼!!! 众所周知,IG是英雄联盟S8世界总决赛冠军,夺冠之夜,数亿人为之欢呼! 赛后某百 ...

  3. 【牛客 - 210A】游戏(思维,脑洞)

    题干: BLUESKY007,fengxunling和dreagonm三个人发现了一个像素游戏,这款神奇的游戏每次会生成一个nxm的网格,其中每一个格子都被随机染色为R,G,B三种颜色之一,每次都可以 ...

  4. 牛客 - 骚区间(线段树+思维)

    题目链接:点击查看 题目大意:给出一个 1 ~ n 的排列 a ,现在规定骚区间当且仅当 a[ l ] 是 [ l , r ] 这段区间内的次小值,同时 a[ r ] 是 [ l , r ] 这段区间 ...

  5. 牛客 - 小V的序列(思维+位运算)

    题目链接:点击查看 题目大意:给出一个均匀分布,长度为 n 的数列,再给出 m 次询问,每次询问给出一个 y ,询问数列中是否存在 x 与 y 相似,相似的定义如下: x,y相似当且仅当x xor y ...

  6. 【牛客 - 315C】排列(思维,贪心,同优则立证明法)

    题干: 妞妞得到一个(1~n)的排列p1, p2, p3,...,pn, 听村里的老人牛牛说如果让这个排列变为: 对于所有的1 <= i <= n, 都满足pi ≠ i, 就可以获得Goo ...

  7. 【牛客 - 289H】约会(思维,数学,奇偶数,水题)

    题干: Hang等了一年,终于,朝气蓬勃的小学妹来了,在开学当天,就成功打入协会迎新群,在Hang的魅力(死皮赖脸)之下,有个小学妹要和他面基了,小学妹说,她就在这个学校里,让Hang过去找她 假设, ...

  8. 【牛客 - 2B】树(思维,dp,有坑)

    题干: shy有一颗树,树有n个结点.有k种不同颜色的染料给树染色.一个染色方案是合法的,当且仅当对于所有相同颜色的点对(x,y),x到y的路径上的所有点的颜色都要与x和y相同.请统计方案数. 输入描 ...

  9. 【牛客 - 1080E】tokitsukaze and Segmentation(dp,递推,思维)

    题干: 链接:https://ac.nowcoder.com/acm/contest/1080/E 来源:牛客网 tokitsukaze有一个长度为n的字符串,字符串仅包含'0'-'9'. tokit ...

最新文章

  1. 体验Remix——安卓电脑
  2. 如何利用离散Hopfield神经网络进行高校科研能力评价(1)
  3. eclipse 设定source folder
  4. python怎么画两幅图_python matplotlib模块: Subplots(在同一个figure里绘制多个图)
  5. 图形结构:遍历模型,分治法,动态规划,回溯法,BFS,DFS
  6. mybatis查询缓存——(十三)
  7. 内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区[C++][内存管理]...
  8. 【AI视野·今日CV 计算机视觉论文速览 第229期】Thu, 1 Jul 2021
  9. 精伦盒子H1,插上USB,找不到对应的文件路径
  10. 编程的心法与注意事项
  11. 解决微信浏览器不能自动播放视频
  12. Vue Router4路由
  13. Python爬取QQ音乐评论数据
  14. 基于STM32的AD9854模块调试总结
  15. 【shell】How can I create a select menu in a shell script?
  16. iOS 如何获取手机型号、系统版本、电池电量
  17. java tt-7s-d_JAVA TT-7S-D 超轻7速折叠自行车质量_参数_评价
  18. 2022劳务员-岗位技能(劳务员)考试试题及答案
  19. OSChina 周一乱弹 ——有2个小混蛋大晚上……
  20. 二进制文件vscode_VS code 的使用

热门文章

  1. AX 2009 界面伸缩功能
  2. 函数实现-aoti-atol
  3. pat-1057 Stack 树状数组+二分查找
  4. matlab窗函数带通滤波器,Matlab结合窗函数法设计数字带通FIR滤波器
  5. 计算机怎样辅助英语听力教学方法有哪些,计算机辅助教学在英语听力中的运用.doc...
  6. 在线五子棋JAVA网络编程_实验五 Java网络编程及安全
  7. 软件测试之单元测试之Junit测试使用前准备
  8. sql查询php,SQL查询或PHP?
  9. 2-10 [搞定!]出栈序列的合法性 (20 分)
  10. unity socket传输图片_python3实现socket传输图片