济南学习 Day2 T2 am
【问题描述】
有N个数,随机选择一段区间,如果这段区间的所有数的平均值在[l,r]中则
你比较厉害。求你比较厉害的概率。
【输入格式】
第一行有三个数N,l,r,含义如上描述。
接下来一行有?个数代表每一个数的值。
【输出格式】
输出一行一个分数 a/b
代表答案,其中a,b互质。如果答案为整数则直接输出该
整数即可。
【样例输入 1】
4 2 3
3 1 2 4
【样例输出 1】
7/10
【样例输入 2】
4 1 4
3 1 2 4
【样例输出 2】
1
【样例解释】
塔外面有棵树。
【数据规模与约定】
对于30%的数据,1<=N<=10^4.
60%的数据,1 ≤ N≤ 10 5 。
对于100%的数据,1 ≤ N ≤ 5× 10 5 ,0 < l ≤ r ≤ 100。
1 #include<cstdio> 2 #include<cstdlib> 3 #include<cstring> 4 #include<algorithm> 5 using namespace std; 6 #ifdef unix 7 #define LL "%lld" 8 #else 9 #define LL "%I64d" 10 #endif 11 #define lb(x) ((x)&(-(x))) 12 const int maxn=500010; 13 int n,l,r,y[maxn],z[maxn],w[maxn],x[maxn]; 14 bool cmp(int a,int b) 15 { 16 return z[a]>z[b]; 17 } 18 void insert(int p) 19 { 20 for (;p<=n;p+=lb(p)) 21 w[p]++; 22 } 23 int query(int p) 24 { 25 int ans=0; 26 for (;p;p-=lb(p)) 27 ans+=w[p]; 28 return ans; 29 } 30 long long solve() 31 { 32 for (int a=1;a<=n;a++) 33 z[a]+=z[a-1];// 前缀和 34 for (int a=n+1;a>=2;a--) 35 z[a]=z[a-1];// 向后平移一位 36 z[1]=0; 37 n++; 38 for (int a=1;a<=n;a++) 39 x[a]=a; 40 sort(x+1,x+n+1,cmp); 41 memset(w,0,sizeof(w)); 42 long long ans=0; 43 for (int a=1;a<=n;) 44 { 45 int b=a; 46 while (b<=n && z[x[b]]==z[x[a]]) 47 b++; 48 for (int c=a;c<b;c++) 49 ans+=query(x[c]-1); 50 for (int c=a;c<b;c++) 51 insert(x[c]); 52 a=b; 53 } 54 n--; 55 return ans; 56 } 57 long long gcd(long long a,long long b) 58 { 59 if (!b) return a; 60 else return gcd(b,a%b); 61 } 62 int main() 63 { 64 65 scanf("%d%d%d",&n,&l,&r); 66 for (int a=1;a<=n;a++) 67 scanf("%d",&y[a]); 68 for (int a=1;a<=n;a++) 69 z[a]=y[a]-l; 70 long long ans=solve(); 71 for (int a=1;a<=n;a++) 72 z[a]=r-y[a]; 73 ans+=solve(); 74 long long up=ans; 75 long long down=(long long)n*(n+1)/2; 76 up=down-up; 77 long long g=gcd(up,down); 78 up/=g; 79 down/=g; 80 if (up==0) printf("0\n"); 81 else 82 { 83 if (down==1) printf("1\n"); 84 else printf(LL "/" LL "\n",up,down); 85 } 86 87 return 0; 88 }
思路:转成区间和小于等于0,然后就是前缀和逆序对(和Codevs 1516 比较相似)
转载于:https://www.cnblogs.com/suishiguang/p/6035264.html
济南学习 Day2 T2 am相关推荐
- DataWhale数据分析组队学习——Day2
DataWhale数据分析组队学习--Day2 引言 读取数据 数据预处理 总结 引言 今天是第二天,花了很多时间去搜索网页爬虫的资料,具体有几种方法,要考虑到从不同的网页抓取有不同的方法,一般用的方 ...
- 深度学习-第T2周——彩色图片分类
深度学习-第T2周--彩色图片分类 深度学习-第P1周--实现mnist手写数字识别 一.前言 二.我的环境 三.前期工作 1.导入依赖项并设置GPU 2.导入数据集 3.归一化 4.可视化图片 四. ...
- python学习day2
python学习day2 一.定义变量和给变量复制的原理 python定义变量的时候: 需要先申请内存,内存申请多大看数据需要多大,然后将数据保存到内存中再和变量进行关联. 重新给变量赋值的时候,会重 ...
- 济南学习 Day 5 T2 am
車(Rook) [题目描述] 众所周知,車是中国象棋最厉害的棋子之一,他能吃到同一行或者同一列的其他棋子.車显然不能和車在一打起来,于是rly有借来了许多许多車在棋盘上摆了起来...... 他想知道, ...
- 2015 NOIP day2 t2 信息传递 tarjan
信息传递 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.luogu.org/problem/show?pid=2661 Descrip ...
- 口语学习Day2:今天来说说我的小客厅!
一直想正式报班学习口语,但时间原因只能在闲暇时间学习,在抖音上发现一个博主每天更新一些常用口语,说的很地道,内容很实用,准备跟着她学习了哈哈.!加油!!!下面是她的抖音号,如果有什么不便联系我,会删除 ...
- Python学习day2 while循环格式化输出运算符
day2 运算符-while循环 1.while循环 while循环基本结构; while 条件: 结果 # 如果条件为真,那么循环则执行 # 如果条件为假,那么循环不执行 debug模式显示每一步运 ...
- FPGA入门 Xilinx暑期学校学习Day2
早上的课程流程 1.SEA开发板简介 这部分没怎么听,自己用的EGO1,听起来SEA好用一些,而且本次课程的实验指导书用的也是那个板子,EGO1要多花点时间了. 2.FPGA开发流程 利用Vivado ...
- 路径规划算法学习Day2
路径规划算法学习Day2-栅格法创建环境地图 前言 一.栅格法 1.原理 二.栅格法matlab实现 1.创建地图 2.完整代码 3.所生成地图 三.总结 前言 静态环境中机器人全局路径规划一直是路径 ...
最新文章
- mysql php 新手卡生成_PHPMaker(基于MYSQL数据库自动生成PHP 脚本的软件)
- TP框架表单验证 【包含ajax方法】
- linux c之通过消息队列实现进程通信
- linux vue node占用内存过大,vue 大型应用内存泄漏改造经验
- 4个mos管驱动的全桥电路原理_逆变电源中的三种保护电路讲解
- centos7 + python 2.7 + pip + openvswitch 杂项问题
- 用JAVA Excel API 实现对Excel表格的读写更新 (转)
- stm32通过SPI与adc124s021通信读取ad
- kettle 使用教程(入门)
- mybatis开发神器mybatis plus
- react图片剪裁react-cropper
- react hook(基础详解)
- 压在redis身上的三座大山
- office for Mac 2016/2019 百度云分享
- ENVI背景值nodata或NAN解决方法/ArcGIS栅格影像背景颜色去除
- python猜字游戏算法设计_python入门到实践-猜字游戏
- Opencv4.0学习记录(Day21 视频文件摄像头使用)
- 【递推】Ybt_平铺方案
- IDL常见问题与总结
- 机器学习参数|数学建模|自相关性
热门文章
- 如何捕获window.print点击打印或取消_视频:手把手教您如何优化喷墨波形
- 如何用计算机声卡,声卡是什么,详细教您怎么查看自己电脑的声卡
- 【干货】为什么都跑去用HTTPS了?
- mysql 数值 字符 优化,教你如何进行Mysql数据类型优化
- Kubernetes 稳定性保障手册 -- 极简版
- 第 6 期 Arthas 征文活动开启!(内附第 5 期获奖名单)
- 网页服务器日期格式,网站模板如何上传到主机上,用django定义自动插入的时间示格式如何调整...
- spark匹配html字段,Apache Spark中的高效字符串匹配
- 计算机专业考研知识大全,2019计算机专业考研备考知识点
- 计算机二级报名可以报两个地方吗,同学们注意了!!这4个地区计算机二级还可以报名!!...