当前位置: 首页 > news >正文

重新排序--区间问题--差分求频率,全开ll

初始化为0,出现次数就相当于区间内数+1,然后贪心;

#include<bits/stdc++.h>
using namespace std;
#define N 100011
typedef long long ll;
typedef pair<int,int> PII;
ll n,m;
ll a[N];
ll df[N];
priority_queue<ll> pq;
int main()
{ 
cin>>n;
for(int i=1;i<=n;i++)
{
    cin>>a[i];
}
cin>>m;
for(int i=0;i<m;i++)
{
    int l,r;
    cin>>l>>r;
    df[l]+=1;///差分数组快速求频率 
    df[r+1]-=1;
}
int w=0;
ll ys=0;
for(int i=1;i<=n;i++)///ys就是原sum=i*pi(i对应的频率) 
{
w+=df[i];
ys+=a[i]*w;
pq.push(w);    
} 
ll i=n;
ll s=0;
sort(a+1,a+1+n);
while(pq.size())///贪心,最大的情况就是最大值*最大频率 
{
	if(pq.top()<=0) break;
    s+=a[i]*pq.top();
    pq.pop();
    i--;
}
cout<<s-ys;///差 
return 0;
}

相关文章:

  • 静态路由复习实验
  • MyBatis-Plus逆向工程
  • ORM框架
  • SQL Server安装后 SSMS 无法连接:身份验证模式错误
  • 可编辑36页PPT | “新基建”在数字化智慧高速公路中的支撑应用方案智慧高速解决方案智慧交通方案
  • 《C奥林匹斯宝典:基础篇 - 重载函数》
  • 机器人传感器系统---时间戳对齐
  • vue使用markdown-it-katex部分公式展示不正确 katex版本低
  • 深度学习--softmax回归
  • 基于TradingView和CTPBee的自动化期货交易系统实现
  • Saas产品性能优化实战
  • bluecode-字符替换与最长子串问题
  • 【开题报告+论文+源码】基于SpringBoot+Vue的乡村公共资源管理系统
  • VS Code查看html格式文件插件:Live Server、HTML Preview
  • 多个SVN版本库,共用同一个和密码配置文件
  • Nacos 配置信息的发布流程是怎样的?服务端是如何校验和处理这些信息的?
  • 什么是SAQ评级?SAQ评级的好处?SAQ评级的意义
  • 第七章:OSPF
  • Stable Diffusion|Ai赋能电商 Inpaint Anything
  • ideal自动生成类图的方法
  • 上海国际碳中和博览会下月举办,首次打造民营经济专区
  • 跨越三十年友情,61岁余隆和60岁齐默尔曼在上海再度合作
  • 澳大利亚首例“漂绿”诉讼开庭:能源巨头因“碳中和”承诺遭起诉
  • 网约车座椅靠背张贴“差评者得癌症”,如祺出行:未收到投诉无法处理
  • 沪喀同心|为新疆青少年提供科普大餐,“小小博物家(喀什版)”启动
  • 男子退机票被收票价90%的手续费,律师:虽然合规,但显失公平