uva 1451——Average

题意:给定一个长度为n 的01串,然后选一个长度至少为L的子串,使得子串的平均值最大。


思路:单调队列。如果把所有的前缀和都求出来,那么所求即为max((s[j] - s[i]) / (j - i)) ,转化成图也就是求斜率最大的那个点,s[i]是不递减的,那么最优解是下凸的。单调队列维护最优解,当是上凸的就弹出。


code:

#include <cstdio>
using namespace std;
const int N=100005;
int sm[N],q[N];
char s[N];int sol(int x1,int x2,int x3,int x4)  
{return (sm[x2]-sm[x1])*(x4-x3)-(sm[x4]-sm[x3])*(x2-x1);
}
int main()
{int n,l,T;scanf("%d",&T);while (T--){scanf("%d %d %s",&n,&l,s+1);sm[0]=0;for (int i=1;i<=n;i++) sm[i]=sm[i-1]+s[i]-'0';int tl=0,tr=l;int i=0,j=0;for (int t=l;t<=n;t++){while(i<j-1&&sol(q[j-1],t-l,q[j-2],t-l)<0) j--;q[j++]=t-l;while(i<j-1&&sol(q[i+1],t,q[i],t)>=0) i++;int tt=sol(q[i],t,tl,tr);if (tt>0||tt==0&&(t-q[i]<tr-tl)) tr=t,tl=q[i];}printf("%d %d\n",tl+1,tr);}
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381893.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

近期工作:帮忙师兄

C# 获取机器硬件状态简单的解释器 C# XML读写转载于:https://www.cnblogs.com/anf/archive/2005/12/14/296880.html

【操作系统】哲学家就餐问题

问题 有五个哲学家围坐在一圆桌旁&#xff0c;桌中央有一盘通心粉&#xff0c;每人面前有一只空盘子&#xff0c;每两人之间放一只筷子。每个哲学家的行为是思考&#xff0c;感到饥饿&#xff0c;然后吃通心粉。为了吃通心粉&#xff0c;每个哲学家必须拿到两只筷子&#xff0…

uva 11134——Fabled Rooks

题意&#xff1a;给定一个n*n的期棋盘放n个车&#xff0c;要求任意车之间不能相互攻击&#xff0c;并且每个车都在相应的方框内。 思路&#xff1a;贪心。因为没有对角线的条件约束&#xff0c;所以放的行号和列号没有影响。那么单独求出来行号和列号即可。对于每一行&#xff…

VC.NET 字节对齐设置

项目&#xff0d;>属性->C/C->代码生成->结构成员对齐 转载于:https://www.cnblogs.com/smartstone/archive/2005/12/14/296909.html

java 设计作业——学生类的基本练习

设计要求&#xff1a; 建立一个学生类&#xff0c;有姓名、学号、3门课成绩、总分等信息&#xff0c;能输入输出学生数据&#xff0c;并能对总分进行排序&#xff0c;打印名次。思路&#xff1a;老师给的思路全部都封装在了一个类中&#xff0c;我写的则分成了两个类&#xff0…

linux下使用c++操作mysql

关于mysql的基础知识可以参考 mysql基础 首先&#xff0c;需要确保已安装mysql-server&#xff0c;mysql-client&#xff0c;mysql-devel。 一、常用类型介绍 1. MYSQL 用于定义一个mysql对象&#xff0c;便于后续操作确定要操作的数据库是哪一个。 MYSQL mysql; //mysql标…

初来乍到!各位博客朋友多多支持!

本人真名&#xff1a;陈伟峰baiguli的中文是&#xff1a;白骨礼&#xff0c;意思是做人坦白、真诚、有决心、有毅力、以礼待人。自从有了互联网&#xff0c;个人名称就换来换去&#xff0c;曾经用过&#xff1a;闪电行动、闪电&#xff0c;但QQ号始终没变&#xff1a;23771505。…

java数字转换成字符串

各种数字类型转换成字符串型&#xff1a; String s String.valueOf( value); // 其中 value 为任意一种数字类型。 字符串型转换成各种数字类型&#xff1a; String s "169"; byte b Byte.parseByte( s ); short t Short.parseShort( s ); int i Integer.parseI…

天空的颜色和大气散射

天空的颜色采用"A Practical Analytic Model for Daylight"建造的模型计算。地形颜色的大气散射采用"Rendering Outdoor Lght Scattering in real Time"介绍的方法计算。A Practical Analytic Model for Daylight中的模型通过太阳的方位&#xff0c;Zenith…

hexo本地博客的转移

1. 复制配置文件 将原来的配置文件进行备份&#xff0c;只需要将文件夹 source、themes和配置文件_config.yml备份即可。 2. 安装Node.js sudo apt-get install nodejs sudo apt-get install npm 3. 安装hexo sudo npm install -g hexo 4. 新建文件夹&#xff0c;cd进入 …

K8S 外部访问配置、 Ingress、NodePort

将K8S部署应用提供给外部访问一般有三种方式&#xff1a; NodePort 暴露端口到节点&#xff0c;提供了集群外部访问的入口LoadBalancer 需要负载均衡器&#xff08;通常都需要云服务商提供&#xff0c;裸机可以安装 METALLB 测试&#xff09;Ingress 统一管理 svc的外部访问&am…

java 设计作业——简单计算器

设计要求&#xff1a; 设计一个计算器&#xff0c;用GUI画出来一个图形界面&#xff0c;有两个输入框&#xff0c;一个输出框&#xff0c;有4个加减乘除按钮&#xff0c;实现简单的加减乘除功能。 code&#xff1a; import java.awt.*; import java.awt.event.*; import java.…

有感于最近一个朋友买股票大亏

投资首先是要看退出机制通畅不通畅、其次才是看收益高不高转载于:https://www.cnblogs.com/darzui/archive/2005/12/30/308300.html

ubuntu18重装笔记

再次重装了系统&#xff0c;为方便以后再次重装&#xff0c;&#xff0c;&#xff0c;因此将主要步骤记录下来。 1. 更新源 sudo gedit /etc/apt/sources.list # 阿里源deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirro…

uva 437——The Tower of Babylon

题意&#xff1a;给定n个长方体&#xff0c;然后堆积最高的塔&#xff0c;要求上面的面积小于下面的面积。 思路&#xff1a;Dp&#xff0c;先把长方体的所有放的情况都构造出来放到数组里&#xff0c;对于当前节点&#xff0c;如果能够在前面找到面积比当前小&#xff0c;高度…

ASP.NET Web 服务、企业服务和 .NET Remoting 的性能

http://www.uml.org.cn/net/200601102.htm转载于:https://www.cnblogs.com/dynasty/archive/2006/01/11/315508.html

线程池的分析与实现

在需要频繁开线程时&#xff0c;创建和销毁线程会话费大量时间&#xff0c;为了提高效率&#xff0c;我们可以在任务开始前&#xff0c;先创建一定数量的线程。这样在接收到任务时&#xff0c;就可以直接使用线程池中处于wait状态的线程&#xff0c;在任务结束后线程回到wait状…

uva 1347——Tour

题意&#xff1a;给定n个点的坐标&#xff0c;设计一条路线&#xff0c;从左边的点出发&#xff0c;走到最右边的点然后返回&#xff0c;每个点除了起点和终点最多只能经历一次&#xff0c;求其中的最短路径。 思路&#xff1a;dp&#xff0c;可以考虑成2个人从起点出发&#x…

基于epoll+threadpool的webServer分析与实现

该webServer使用epollthreadpool实现&#xff0c;支持GET、POST方法&#xff0c;并添加CGI进行数据计算并返回网页信息&#xff0c;可以解析返回html、picture、mp3、js、css等文件&#xff0c;可以实现稳定的运行。 使用c编写。 源码请看我的Github。 流程简述 启动服务器&…

Flex2.0实现文件上传功能(服务器为ASP.NET)

简介&#xff1a;新的Flex2.0类库里提供了文件类&#xff0c;方便了上传/下载文件。下面的程序demo演示了Flex2.0生成flash来访问本地文件&#xff0c;在flash里上传用户选择的文件到服务器&#xff0c;flash客户端可以处理文件上传进度等多个事件&#xff0c;服务器端是C#写的…