bzoj3316 JC loves Mkk题解
3316: JC loves Mkk
Time Limit: 5 Sec Memory Limit: 64 MB
Submit: 979 Solved: 316
[Submit][Status][Discuss]
Description
.jpg)
Input
第1行,包含三个整数。n,L,R。
第2行n个数,代表a[1..n]。
Output
仅1行,表示询问答案。
如果答案是整数,就输出整数;否则,输出既约分数“P/Q”来表示。
Sample Input
3 1 2 4 5
Sample Output
HINT
1≤L≤R≤n≤10^5,0≤ai≤10^9,保证问题有解,数据随机生成
#pragma GCC optimze("O3")
#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<cstring>
#include<queue>
#include<algorithm>
#include<cmath>
#include<map>
#include<vector>
#define N 100005
using namespace std;
int n,L,R;
long long a[*N],sum[N*],mx;
int q[][N*];
int hea[],en[];
long long ansa,ansb;
long long gcd(long long x,long long y)
{
if(y==)return x;
return gcd(y,x%y);
}
bool check(double x)
{
memset(q,,sizeof(q));
hea[]=hea[]=,en[]=en[]=;
int now=,la=;
for(int i=L;i<*n;i++)
{
swap(now,la);
while(hea[now]<=en[now]&&sum[q[now][en[now]]]-(double)(q[now][en[now]])*x>sum[i-L]-(double)(i-L)*x) en[now]--;
en[now]++;
q[now][en[now]]=i-L;
if(i>R)
while(hea[now]<=en[now]&&q[now][en[now]]<i-R)hea[now]++;
if(sum[i]-sum[q[now][hea[now]]]>=(double)(i)*x-(double)(q[now][hea[now]])*x)
{
ansa=sum[i]-sum[q[now][hea[now]]];
ansb=i-q[now][hea[now]];
long long t=gcd(ansa,ansb);
ansa/=t;
ansb/=t;
return ;
}
}
return ;
}
int main()
{
scanf("%d%d%d",&n,&L,&R);
if(L%)L++; if(R%)R--;
for(int i=;i<=n;i++)
{
scanf("%lld",&a[i]);
a[i+n]=a[i];
mx=max(mx,a[i]);
}
for(int i=;i<n*;i++)
sum[i]+=sum[i-]+a[i];
double li=,ri=mx;
while(ri-li>1e-)
{
double mid=(li+ri)/;
if(check(mid)) li=mid;
else ri=mid;
}
if(ansb!=)
printf("%lld/%lld\n",ansa,ansb);
else
printf("%lld\n",ansa);
return ;
}
bzoj3316 JC loves Mkk题解的更多相关文章
- bzoj3316: JC loves Mkk
Description Input 第1行,包含三个整数.n,L,R.第2行n个数,代表a[1..n]. Output 仅1行,表示询问答案.如果答案是整数,就输出整数:否则,输出既约分数“P/Q”来 ...
- bzoj3316: JC loves Mkk(单调队列+分数规划)
Description Input 第1行,包含三个整数.n,L,R.第2行n个数,代表a[1..n]. Output 仅1行,表示询问答案.如果答案是整数,就输出整数:否则,输出既约分数“P/Q”来 ...
- 【BZOJ3316】JC loves Mkk 分数规划+单调队列
[BZOJ3316]JC loves Mkk Description Input 第1行,包含三个整数.n,L,R.第2行n个数,代表a[1..n]. Output 仅1行,表示询问答案.如果答案是整 ...
- 【BZOJ 3316】JC loves Mkk 01分数规划+单调队列
单调栈不断吞入数据维护最值,数据具有单调性但不保证位置为其排名,同时可以按照进入顺序找出临近较值单调队列队列两端均可删除数据但只有队末可以加入数据,仍然不断吞入数据但同时可以额外刨除一些不符合条件的数 ...
- CF447B DZY Loves Strings 题解
Content 有一个长度为 \(n\) 的仅含小写字母的字符串 \(s\) 以及 26 个英文小写字母的价值 \(W_\texttt{a},W_\texttt{b},...,W_\texttt{z} ...
- bzoj AC倒序
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...
- CF444E. DZY Loves Planting
题目链接 CF444E. DZY Loves Planting 题解 可以..二分网络流 可是 考虑边从小到大排序 考虑每条边能否成为答案 用并查集维护节点之间的联通性 对于一条边来说,如果这条边可以 ...
- DZY Loves Math 系列详细题解
BZOJ 3309: DZY Loves Math I 题意 \(f(n)\) 为 \(n\) 幂指数的最大值. \[ \sum_{i = 1}^{a} \sum_{j = 1}^{b} f(\gcd ...
- 【题解】DZY Loves Chinese
[题解]DZY Loves Chinese II 不吐槽这题面了... 考虑如何维护图的连通性,如果把图的变成一颗的\(dfs\)生成树,那么如果把一个节点的父边和他接下来所有的返祖边删除,那么我们就 ...
随机推荐
- Win8 Metro(C#)数字图像处理--2.45图像雾化效果算法
原文:Win8 Metro(C#)数字图像处理--2.45图像雾化效果算法 [函数名称] 图像雾化 AtomizationProcess(WriteableBitmap src,i ...
- 【Linux】简单明了查看内存使用和ubuntu的版本号及位数
1.查看ubuntu的版本号:cat /etc/issue 2.查看系统是32位的还是64位:getconf LONG_BIT 3.查看内存使用 free free命令可以用来查看系统内存使用情况,- ...
- C# 获取当前月份天数的三种方法总结
方法一: //最有含量的一种 int days = System.Threading.Thread.CurrentThread.CurrentUICulture.Calendar.GetDaysInM ...
- C# 利用 OpenCV 进行视频捕获 (笔记)
原文:C# 利用 OpenCV 进行视频捕获 (笔记) 简介 这个项目是关于如何从网络摄像头或者视频文件(*.AVI)中捕获视频的,这个项目是用C#和OPENCV编写的. 这将有助于那些喜欢C#和Op ...
- 在UWP的XAML中使用原始类型
问题: I'm trying to access the system namespace for StaticResource variables in XAML on UWP. Here's (m ...
- FastMM、FastCode、FastMove的使用(详细讲解了怎么安装与使用)good
http://blog.csdn.net/akof1314/article/details/6524767
- CoolFormat(Qt Creator也可管理VC的Project)
http://download.csdn.net/download/akof1314/8457593 https://github.com/akof1314/CoolFormat http://dow ...
- SVN更新报错问题(Please execute the 'Cleanup' command)
SVN更新报错问题(Please execute the 'Cleanup' command) https://segmentfault.com/a/1190000012571289 svn: E20 ...
- RPG Maker MV游戏解包
该文章最新版本请前往:https://www.crowsong.xyz/127.html 前言 使用Petschko's RPG-Maker-MV File-Decrypter进行解包 使用Petsc ...
- 配置QSslConfiguration让客户端程序跳过本地SSL验证
大家下午好哦.今天我们在重新制作我们萌梦聊天室的时候,出现了这样的问题.那就是我们的客户端能够对qtdream.com服务器进行登录,但是不能对localhost服务器(也就是本机啦)进行登录.这究竟 ...