CF580B
题目简化和分析:
选择 \(n\) 个朋友,满足以下条件:
- 工资差异 \(<d\)
- 友谊和最大(题目翻译不太清楚)
现在面临两个问题
- 求差异值
- 求友谊和
所以我们理应想到线段树双指针。
排序后满足工资从小到大,友谊和可以用前缀和实现。
每次往后加一个人。
用 while 循环,增加左端点,使得工资差异满足。
并且每次取最大值最后输出。
两个指针,如果一直满足就增加右端点,否则增加左端点,可以保证差异值并且长度最大,然后每次在此区间打擂台即可。
Solution:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
const int N=1e5+50;
const int M=1e5+50;
const int Mod=1e9+7;
inline ll read(){
ll x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-')
f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9'){
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*f;
}
ll n,d;
struct node{
ll m,s;
}a[N];
ll ans;
ll s[N];
bool cmp(node a,node b){
return a.m<b.m;
}
int main()
{
n=read(),d=read();
for(int i=1;i<=n;++i){
a[i].m=read(),a[i].s=read();
}
sort(a+1,a+n+1,cmp);
ll l=1;
for(int i=1;i<=n;++i){
s[i]=s[i-1]+a[i].s;
while(a[i].m-a[l].m>=d) ++l;
ans=max(ans,s[i]-s[l-1]);
}
printf("%lld\n",ans);
return 0;
}
CF580B的更多相关文章
- [CF580B]Kefa and Company(滑动窗口)
题目链接:http://codeforces.com/problemset/problem/580/B 某人有n个朋友,这n个朋友有钱数m和关系s两个属性.问如何选择朋友,使得这些朋友之间s最大差距小 ...
- CF580B Kefa and Company 尺取法
Kefa wants to celebrate his first big salary by going to restaurant. However, he needs company. Kefa ...
- CF 15/09/23
CF580A 给出一个数列,求最长不下降子序列(连续) 直接DP,O(n) CF580B 主人公有n个朋友,每一个朋友有2个属性:m,sat 现在他想邀请部分朋友,邀请的人满足MAX_M-MIN_M& ...
随机推荐
- 微信小程序 - 视图与逻辑
[黑马程序员前端微信小程序开发教程,微信小程序从基础到发布全流程_企业级商城实战(含uni-app项目多端部署)] https://www.bilibili.com/video/BV1834y1676 ...
- GO web学习(一)
跟着b站https://space.bilibili.com/361469957 杨旭老师学习做的笔记 开启web服务 •http.ListenAndServer() •第一个参数是网络地址 如果为& ...
- mysql高级进阶(存储过程、游标、触发器)
废话不多说,直接进入正题... 一.存储过程 a.概述 存储过程可以看成是对一系列 SQL 操作的批处理: 使用存储过程的好处 代码封装,保证了一定的安全性: 代码复用: 由于是预先编译,因此具有很高 ...
- DataArts Studio实践丨通过Rest Client 接口读取RESTful接口数据的能力
本文分享自华为云社区<DataArts Studio 通过Rest Client 接口读取RESTful接口数据的能力,通过Hive-SQL存储>,作者: 张浩奇 . Rest Clien ...
- MAUI中如何打开应用商店应用详情页
//打开本应用的应用商店详情页 public Task<bool> OpenStoreAppDetails() { return OpenStoreAppDetails(AppInfo.P ...
- 用 Rust 生成 Ant-Design Table Columns
经常开发表格,是不是已经被手写Ant-Design Table的Columns整烦了? 尤其是ToB项目,表格经常动不动就几十列.每次照着后端给的接口文档一个个配置,太头疼了,主要是有时还会粘错就尴尬 ...
- Pandas: 获取dataframe中的值,并转换为列表
解决方案 效果
- ASP.NET WebForm中asp:Repeater和UI:Grid数据为空时如何显示表头?
一.asp:Repeater Repeater 控件用于显示被绑定在该控件上的项目的重复列表.Repeater 控件可被绑定到数据库表.XML 文件或者其他项目列表. 1.1-前台页面代码 <a ...
- (转)IBM Appscan9.0.3安全扫描简单安装、使用以及高危漏洞修复
最近手上负责一个的项目要进行等保评测.请的第三方公司采用IBM Security AppScan Standard对项目进行安全测试.测试报告高危漏洞主要包含sql注入.sql盲注.跨站点脚本编制如下 ...
- [mysql]定制封装MySQL的docker镜像
前言 基于MySQL的原版镜像做一些个性化配置修改,封装/etc/my.cnf文件到镜像中,并且支持通过环境变量修改innodb_buffer_pool_size.server_id以及自动配置inn ...