Little Girl and Maximum Sum CodeForces - 276C - 差分
给定一个数列 \(a= { a_1,a_2,...,a_n }\) 以及 \(q\) 次查询。
其中第 \(i\) 次查询如同:\(l_i, r_i\),意指求 \(\sum_{j=l_i}^{r_i} {a_j}\)。
但是查询前可以对数列任意排序,使得查询结果的和最大,问最大的和是多少。
Input
第 \(1\) 行 \(n,q\);
第 \(2\) 行 \(a_1, a_2, ..., a_n\);
接下来 \(q\) 行,每行 \(2\) 个整数 \(l_i,r_i\);
数据范围:\(1≤n,q,a_i≤2·10^5,1≤l_i≤r_i≤n\)。
Output
最大的和
Sample Input
3 3
5 3 2
1 2
2 3
1 3
Sample Output
25
分析
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=1e6+10,INF=0x3f3f3f3f;
int n,m,a[N],b[N];
LL res=0;
//#define local
int main() {
#ifdef local
freopen("data.in", "r", stdin);
// freopen("data.out", "w", stdout);
#endif
int n,q; cin>>n>>q;
for(int i=1; i<=n; i++) cin>>a[i];
int l,r;
while(q--) {
cin>>l>>r; b[l]++, b[r+1]--;
}
for(int i=1; i<=n; i++) b[i]+=b[i-1];
sort(a+1, a+1+n); sort(b+1, b+1+n);
for(int i=1; i<=n; i++) res += 1ll*a[i]*b[i];
cout<<res;
return 0;
}
Little Girl and Maximum Sum CodeForces - 276C - 差分的更多相关文章
- CF 276C Little Girl and Maximum Sum【贪心+差分】
C. Little Girl and Maximum Sum time limit per test2 seconds memory limit per test256 megabytes input ...
- CodeForces 1060 B Maximum Sum of Digits
Maximum Sum of Digits You are given a positive integer n. Let S(x)S(x) be sum of digits in base 10 r ...
- POJ2479 Maximum sum[DP|最大子段和]
Maximum sum Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 39599 Accepted: 12370 Des ...
- ural 1146. Maximum Sum
1146. Maximum Sum Time limit: 0.5 secondMemory limit: 64 MB Given a 2-dimensional array of positive ...
- UVa 108 - Maximum Sum(最大连续子序列)
题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&pa ...
- 最大子矩阵和 URAL 1146 Maximum Sum
题目传送门 /* 最大子矩阵和:把二维降到一维,即把列压缩:然后看是否满足最大连续子序列: 好像之前做过,没印象了,看来做过的题目要经常看看:) */ #include <cstdio> ...
- URAL 1146 Maximum Sum(最大子矩阵的和 DP)
Maximum Sum 大意:给你一个n*n的矩阵,求最大的子矩阵的和是多少. 思路:最開始我想的是预处理矩阵,遍历子矩阵的端点,发现复杂度是O(n^4).就不知道该怎么办了.问了一下,是压缩矩阵,转 ...
- ural 1146. Maximum Sum(动态规划)
1146. Maximum Sum Time limit: 1.0 second Memory limit: 64 MB Given a 2-dimensional array of positive ...
- UVa 10827 - Maximum sum on a torus
题目大意:UVa 108 - Maximum Sum的加强版,求最大子矩阵和,不过矩阵是可以循环的,矩阵到结尾时可以循环到开头.开始听纠结的,想着难道要分情况讨论吗?!就去网上搜,看到可以通过补全进行 ...
- POJ 2479 Maximum sum 解题报告
Maximum sum Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 40596 Accepted: 12663 Des ...
随机推荐
- Java面向对象之什么是面向对象?
面向过程 & 面向对象 面向过程思想 1.步骤清晰简单,第一步做什么,第二步做什么...... 2.面对过程适合处理一些较为简单的问题 面向对象思想 1.物以类聚,分类的思想模式,思考问题首先 ...
- BS4&xpath的使用
0|1一 简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: ''' Beautiful Soup提供一些简单的.python式的函数用来 ...
- Lua中创建新的文件夹
如下: os.execute('mkdir 文件夹名称')
- js动态删除添加一行
<div class="input-dyna-add"> <form class="form-inline form-group" role= ...
- 思科数据中心CCIE v3.0考试内容
考试内容: CCIE DC LAB V3.0 考试内容 1 Design 30 + 选择,拖图及勾选题 2 Deploy&Operate&Optimize 1 套 含3部分 备考安排: ...
- Bert使用
首先打开网址:https://huggingface.co/models 下载想用的模型
- Fiddler功能详解
编写完成日期:2021-11-22 一.原理以及注意事项 Fiddler工作原理:Fiddler 本质是一个Web代理服务器,Web 代理(Proxy Server)服务器是网络的中间实体.如上图所示 ...
- Kotlin源码分析 - 元编程(使用自身语言编写生成自身代码)
Kotlin源码分析 Kotlin模块FIR分析发现,在生成fir tree的时候,kotlin使用了元编程的技术,以前看到这个技术还是在JastAdd上,使用jastadd语法去写代码,生成Java ...
- 【python基础教程】-10.开箱即用(模块的工作原理,获悉模块的功能以及常用模块)
资料来源 (1) Python基础教程第三版 1.模块的工作原理 1.1 简单的模块及使用 1.1.1 模块的本质 (1) 模块就是程序,任何python程序都可以作为模块导入; 1.1.2 简单的模 ...
- windos下激活python虚拟环境
1.从终端中找到解释器的目录 2.cd到Scripts,输入激活命令activate 这样就表示激活成功了