bzoj3316: JC loves Mkk
Description
.jpg)
Input
第1行,包含三个整数。n,L,R。
第2行n个数,代表a[1..n]。
Output
仅1行,表示询问答案。
如果答案是整数,就输出整数;否则,输出既约分数“P/Q”来表示。
随机数据不卡精度所以可以分数规划二分答案
用两个单调队列维护奇偶位置上的前缀和,可以判定是否存在在[L,R]内的正权值偶数长度子串
#include<cstdio>
typedef long long i64;
char buf[],*ptr=buf-;
int _(){
int x=,c=*++ptr;
while(c<)c=*++ptr;
while(c>)x=x*+c-,c=*++ptr;
return x;
}
int n,l,r;
int a[];
double s[];
int s1[],s2[],l1,r1,l2,r2;
i64 gcd(i64 a,i64 b){
for(i64 c;b;c=a,a=b,b=c%b);
return a;
}
int main(){
buf[fread(buf,,sizeof(buf),stdin)]=;
n=_();l=_();r=_();
if(l&)++l;
if(r&)--r;
double L=,R=;
for(int i=;i<=n;++i){
a[i]=_();
if(a[i]>R)R=a[i];
a[n+i]=a[i];
}
int lp=,rp=;
while(L<R){
double M=(L+R)/;
int l0=,r0=;
l1=l2=;r1=r2=;
for(int i=;i<=n*;++i){
s[i]=s[i-]+a[i]-M;
if(i-l>=){
if(i-l&){
while(l1<=r1&&s[s1[r1]]>s[i-l])--r1;
s1[++r1]=i-l;
}else{
while(l2<=r2&&s[s2[r2]]>s[i-l])--r2;
s2[++r2]=i-l;
}
}
if(i&){
while(l1<=r1&&s1[l1]<i-r)++l1;
if(l1<=r1&&s[s1[l1]]<s[i]){
l0=s1[l1]+;
r0=i;
break;
}
}else{
while(l2<=r2&&s2[l2]<i-r)++l2;
if(l2<=r2&&s[s2[l2]]<s[i]){
l0=s2[l2]+;
r0=i;
break;
}
}
}
if(l0){
lp=l0;rp=r0;
L=M+1e-;
}else R=M-1e-;
}
i64 A=,B=rp-lp+,g;
for(int i=lp;i<=rp;++i)A+=a[i];
g=gcd(A,B);
A/=g;B/=g;
if(B==)printf("%lld",A);
else printf("%lld/%lld",A,B);
return ;
}
bzoj3316: JC loves Mkk的更多相关文章
- bzoj3316 JC loves Mkk题解
3316: JC loves Mkk Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 979 Solved: 316[Submit][Status][Di ...
- 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分数规划+单调队列
单调栈不断吞入数据维护最值,数据具有单调性但不保证位置为其排名,同时可以按照进入顺序找出临近较值单调队列队列两端均可删除数据但只有队末可以加入数据,仍然不断吞入数据但同时可以额外刨除一些不符合条件的数 ...
- bzoj AC倒序
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...
- BZOJ 3563 DZY Loves Chinese
Description 神校XJ之学霸兮,Dzy皇考曰JC. 摄提贞于孟陬兮,惟庚寅Dzy以降. 纷Dzy既有此内美兮,又重之以修能. 遂降临于OI界,欲以神力而凌♂辱众生. 今Dzy有一魞歄图,其上 ...
- [BZOJ3569]DZY Loves Chinese II(随机化+线性基)
3569: DZY Loves Chinese II Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1515 Solved: 569[Submit][S ...
- 【BZOJ3563/3569】DZY Loves Chinese II 线性基神题
[BZOJ3563/3569]DZY Loves Chinese II Description 神校XJ之学霸兮,Dzy皇考曰JC. 摄提贞于孟陬兮,惟庚寅Dzy以降. 纷Dzy既有此内美兮,又重之以 ...
- Microsoft Loves Linux
微软新任CEO纳德拉提出的“Microsoft Loves Linux”,并且微软宣布.NET框架的开源,近期Microsoft不但宣布了Linux平台的SQL Server,还宣布了Microsof ...
随机推荐
- 怎么在excel中快速查找重复记录
假设数字在A列,数字从A1开始:方法一:辅助列中输入公式,数据重复时会出现“重复”提示.=IF(COUNTIF(A:A,A1)>1,"重复","") ,下 ...
- H3C汇聚层交换机认证在线人数展示系统之CheckList和燃尽图(16/04/06-16/04/13)
一.CheckList(核查表) 序号 事件 计划完成时间 实际完成时间 未延迟 未完成 完成 1 登录口令加密以及解密 16/04/06 16/04/06 Y 2 表的创建和IP以及口令 ...
- sphinx 注意点
强制更新索引indexer --all --rotate合并索引indexer --merge index1 index2 --rotate No fields in schema - will no ...
- ThinkPHP M函数疑点
模型类的命名规则是除去表前缀的数据表名称,采用驼峰法命名,并且首字母大写,然后加上模型层的名称(默认定义是Model),例如: 模型名 约定对应数据表(假设数据库的前缀定义是 think_) User ...
- jquery jqPlot API 中文使用教程
jqPlot是一个灰常强大的图表工具,曲线,柱状,饼图,应该有尽有,更要命的是,调用方便~~ 官网:http://www.jqplot.com/ 这里贡献上中文教程,基本上所有的api都很齐全,供有需 ...
- Win10/UWP开发-Ink墨迹书写
在UWP开发中,微软提供了一个新型的InkCanvas控件用来让用户能书写墨迹,在新版的Edga浏览器中微软自己也用到了该控件使用户很方便的可以在web上做笔记. InkCanvas控件使用很简单,从 ...
- OpenGL阴影,Shadow Mapping(附源程序)
实验平台:Win7,VS2010 先上结果截图(文章最后下载程序,解压后直接运行BIN文件夹下的EXE程序): 本文描述图形学的两个最常用的阴影技术之一,Shadow Mapping方法(另一种是Sh ...
- PAT (Advanced Level) Practise:1027. Colors in Mars
[题目链接] People in Mars represent the colors in their computers in a similar way as the Earth people. ...
- Chp11 11.7
<Java语言程序设计>P327 题目要求使用数组来模拟实现ArrayList的一些方法,并要求可以根据实际长度来实现数组自动增长,这里只贴出LikeArrayList.java 测试方法 ...
- 关于 escape、encodeURI、encodeURIComponent
参考资料:http://hi.baidu.com/flondon/item/983b3af35b83fa13ce9f3291 http://www.w3school.com.cn/js/jsref ...