洛谷 P2804 神秘数字

题目大意:n个数,求有多少个连续区间和平均值大于m.

n个数先都减掉m,然后算一遍前缀和,那么就是要找多少个区间和大于0.

转化为s[j]-s[i]>0即s[j]>s[i](j>i),那么就是求顺序对了.

由于出现负数难以离散化,所以还是用归并排序倒过来求逆序对,效率nlogn。

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <algorithm>
 4 #include <cstring>
 5 #include <cmath>
 6 #include <queue>
 7 #include <map>
 8 #define ll long long
 9 #define out(a) printf("%d",a)
10 #define writeln printf("\n")
11 #define N 200050
12 using namespace std;
13 int n,m;
14 int b[N];
15 ll ans,a[N],sum[N],num[N];
16 int read()
17 {
18     int s=0,t=1; char c;
19     while (c<'0'||c>'9'){if (c=='-') t=-1; c=getchar();}
20     while (c>='0'&&c<='9'){s=s*10+c-'0'; c=getchar();}
21     return s*t;
22 }
23 ll readl()
24 {
25     ll s=0,t=1; char c;
26     while (c<'0'||c>'9'){if (c=='-') t=-1; c=getchar();}
27     while (c>='0'&&c<='9'){s=s*10+c-'0'; c=getchar();}
28     return s*t;
29 }
30 void mergesort(int l,int r)
31 {
32     if (l==r) return;
33     int mid=(l+r)>>1;
34     mergesort(l,mid); mergesort(mid+1,r);
35     int x=l,y=mid+1,tot=l;
36     while (x<=mid&&y<=r){
37       if (a[x]<=a[y]) num[tot++]=a[x++];
38       else {
39         num[tot++]=a[y++];
40         ans+=mid-x+1;
41       }
42     }
43     while (x<=mid)
44       num[tot++]=a[x++];
45     while (y<=r)
46       num[tot++]=a[y++];
47     for (int i=l;i<=r;i++)
48       a[i]=num[i];
49 }
50 int main()
51 {
52     n=read(); ans=0; m=read();
53     for (int i=1;i<=n;i++)
54       b[i]=read(),b[i]-=m;
55     for (int i=1;i<=n;i++)
56       sum[i]=sum[i-1]+b[i];
57     for (int i=1;i<=n+1;i++)
58       a[i]=sum[n-i+1];
59     mergesort(1,n+1);
60     ans%=92084931;
61     out(ans);
62     return 0;
63 }

View Code

转载于:https://www.cnblogs.com/Kaleidoscope233/p/9340585.html

洛谷 P2804 神秘数字相关推荐

  1. 洛谷试炼场 P1553 数字反转(升级版)题解

    洛谷试炼场 P1553 数字反转(升级版)题解 [c] 题目描述 给定一个数,请将该数各个位上数字反转得到一个新数. 这次与NOIp2011普及组第一题不同的是:这个数可以是小数,分数,百分数,整数. ...

  2. 洛谷:P1179 数字统计 C++三种写法总结

    0.前言 以前刷力扣的时候用过atoi函数,但是好像这道题没必要吧-- 今天刷洛谷的时候,看见一道数字统计,这么简单的题目还没做!天理难容啊,打开,我相信五分钟就敲完了,我打算改进代码,下面是几种方法 ...

  3. 洛谷—— P1118 [USACO06FEB]数字三角形Backward Digit Su…

    https://www.luogu.org/problem/show?pid=1118#sub 题目描述 FJ and his cows enjoy playing a mental game. Th ...

  4. YBTOJ洛谷P4068:数字配对(网络流)

    文章目录 题目描述 解析 代码 题目描述 有n种数字,第 i 种数字是 ai,有 bi个,权值是 ci. 若两个数字 ai,aj 满足, ai 是 aj 的倍数,且 ai/aj 是一个质数,那么这两个 ...

  5. 洛谷 P1118 [USACO06FEB]数字三角形Backward Digit Su…

    题目描述 FJ and his cows enjoy playing a mental game. They write down the numbers from 1 to N (1 <= N ...

  6. 洛谷P1118 [USACO06FEB]数字三角形Backward Digit Su…

    题目描述 FJ and his cows enjoy playing a mental game. They write down the numbers from 1 to N (1 <= N ...

  7. 洛谷P1118 [USACO06FEB]数字三角形 Backward Digit Su(dfs剪枝)

    题目描述 FJ and his cows enjoy playing a mental game. They write down the numbers from 11 toN(1 \le N \l ...

  8. 【洛谷】1553_数字反转

    第一次的思路是遍历一遍字符串数组, 用count判断是否全为数字: 如果遇到分数或小数点,则用x标记,以便划分两部分反转: 如果为百分数,则只用反转百分号前的数字 代码如下: #include< ...

  9. 洛谷P2640 神秘磁石(欧拉筛法)

    题目背景 在遥远的阿拉德大陆,有一种神秘的磁石,是由魔皇制作出来的, 题目描述 1.若给他一个一维坐标系,那么他的磁力一定要在素数坐标的位置上才能发挥的最大(不管位置坐标的大小,只要是素数那么磁力就一 ...

  10. 洛谷——P2640 神秘磁石

    P2640 神秘磁石 题目背景 在遥远的阿拉德大陆,有一种神秘的磁石,是由魔皇制作出来的, 题目描述 1.若给他一个一维坐标系,那么他的磁力一定要在素数坐标的位置上才能发挥的最大(不管位置坐标的大小, ...

最新文章

  1. java分布式锁解决方案 redisson or ZooKeeper
  2. mysql getinstance_php设计模式之单例模式使用示例
  3. 大道至简第一章 读后感
  4. 怎么导入sklearn包_在导入sklearn包是报错
  5. 【LeetCode】233. 数字1的个数
  6. iOS之深入解析Cocoapods的工作原理与源码分析
  7. MyBatis在Oracle中插入数据并返回主键的问题解决
  8. 虚拟主机php.ini在哪里,虚拟主机的php.ini配置文件在哪里
  9. 送10本今年最火的《动手学深度学习》
  10. Python Tricks(十五)—— repeat(字符串重复)
  11. MYSQL初学者命令行使用指南
  12. Android找工作系列之事件传递机制
  13. CISSP第一章:安全与风险管理知识点
  14. 51单片机温控风扇仿真原理图 C语言程序,51单片机智能温控风扇程序
  15. 战神引擎清理数据教程[保留跟不保留账号
  16. [模型调研]实体消歧
  17. H.264再学习 -- 目前主流的几种数字视频压缩编解码标准(转载)
  18. ps--光照+光晕+模糊
  19. 在线gif压缩文件大小_如何在不损失图像质量的情况下压缩动画GIF文件
  20. Vue缓存路由(keep-alive)以及新的生命周期

热门文章

  1. python中数据处理的格式,json.csv txt excel
  2. Redis performance --- delete 100 records at maximum
  3. 为何大富连续三天彻夜未眠!
  4. YUM更换源(1)--yum找不到安装包
  5. php null空值(转)
  6. 【TDA4系列】 IPC applications应用举例
  7. 09月28日 pytorch与resnet(四)三种主要的转移学习方案,微调ConvNet,ConvNet 作为固定特征提取器
  8. Java 内存、HashMap、Hashtable面试题
  9. TestDirector安装配置
  10. Python 多进程multiprocessing