1494: 连续子串和续
1494: 连续子串和续
http://www.acmore.net/problem.php?id=1494
Time Limit: 10 Sec Memory Limit: 128 MB
Submit: 99 Solved: 18
Description
小Y要去参加一场笔试,这场笔试有N道题目,每道题目有不同的分值和难度,分别为ai和bi。小Y想知道从某一题开始,至少连续K道题目,分值的和与难度的和的比率最大是多少?
Input
若干组测试数据,每组测试数据占3行。
第一行输出两个正整数N(1<=N<=10^6),K(1<=K<=N)。
第二行N个正整数a1,a2...aN表示N道题目的分值,其中(1<=ai<=1000)。
第三行N个正整数b1,b2...bN表示N道题目的难度,其中(1<=bi<=1000)。
Output
每组测试数据输出一个实数,表示满足题意的最大的比率,精确到小数点后4位。
Sample Input
Sample Output
HINT
Source
Lyush
设一个比例参数p,然后就是解决一个ai-p*bi的序列,至少连续K个,sum{ ai-p*bi } >= 0的问题了,二分枚举这个参数即可
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 6 using namespace std; 7 8 #define eps 1e-8 9 10 const int INF=0x3f3f3f3f; 11 const int maxn=1000010; 12 13 int n,k; 14 int a[maxn],b[maxn]; 15 double num[maxn]; 16 17 int AC(double p){ 18 double tmp=INF; 19 num[0]=0; 20 for(int i=1;i<=n;i++) 21 num[i]=num[i-1]+a[i]-p*b[i]; 22 for(int i=k;i<=n;i++){ 23 tmp=min(tmp,num[i-k]); 24 if(num[i]-tmp>=0) 25 return 1; 26 } 27 return 0; 28 } 29 30 double BinSearch(double l,double r){ 31 double mid,ans; 32 while(r-l>eps){ 33 mid=(l+r)/2; 34 if(AC(mid)){ 35 ans=mid; 36 l=mid+eps; 37 }else 38 r=mid-eps; 39 } 40 return ans; 41 } 42 43 int main(){ 44 45 //freopen("input.txt","r",stdin); 46 47 while(~scanf("%d%d",&n,&k)){ 48 for(int i=1;i<=n;i++) 49 scanf("%d",&a[i]); 50 for(int i=1;i<=n;i++) 51 scanf("%d",&b[i]); 52 printf("%.4lf\n",BinSearch(0,1000)); 53 } 54 return 0; 55 }
1494: 连续子串和续相关推荐
- 【算法】算法测试题4:最长公共连续子串
问题描述 链接:https://www.nowcoder.com/ques... 来源:牛客网 给出两个字符串(可能包含空格),找出其中最长的公共连续子串,输出其长度. 输入描述 输入为两行字符串(可 ...
- N 组连续子串最大和
数组 a 中有 M 个数 , 将 M 个数分成 N 组 , 并且每组中的数据顺序和原数组中的顺序保持一致,求 N 组中的数据之和最大为多少? 向 dp 数组中赋初始值 ,如果 M == N ,则 dp ...
- Python获取一个字符串所有连续子串
获取一个字符串所有连续子串组成集合(set)的长度,居然是Facebook的interview题目,我也做出来了,哈哈: def get_all_substrings(string):length = ...
- SPOJ687 Repeats(重复次数最多的连续子串)
Repeats hihoCoder 1419 后缀数组四·重复旋律4(重复次数最多的连续子串) #include<bits/stdc++.h> using namespace std;// ...
- CodeForces 1506C(暴力求最长连续子串) acm寒假集训日记21/12/31or22/1/1
题目如下: AC代码如下: #include<iostream> #include<algorithm> #include<cstring> #include< ...
- 求两字符串最长公共连续子串---C++编程
题目:有两个字符串(可能包含空格),找出其中最长的公共连续子串,并输出其长度. 输入描述:输入为两行字符串(可能包含空格),长度均小于等于50. 输出描述: 输出为一个整数,表示最长公共连续子串的 ...
- 美团点评_给出两个字符串(可能包含空格),找出其中最长的公共连续子串,输出其长度。
给出两个字符串(可能包含空格),找出其中最长的公共连续子串,输出其长度. import java.util.*; public class Meituan_4 {public static void ...
- 对比两个字符串A、B的连续子串
对比两个字符串A.B的连续子串 代码块 第一层循环是循环子串的长度,然后先将该长度下的: 方法1for (i=1;i<=len;i++) {//连续i个的子串 HashTable.clear() ...
- 经典题目题解:连续子串和
连续子串和(subs) 问题描述: 给定n个整数,求其中至少k个连续数的最大和. 输入格式: 第一行为正整数t(≤5),表示数据组数:每组数据中,第一行为两个正整数n(≤3*105)和k(≤n):接下 ...
最新文章
- hihocoder offer收割编程练习赛11 B 物品价值
- 科普丨浅谈人工神经网络跌宕起伏七十年
- java servlet 作用_servlet的作用,servlet有什么用?
- 保驾护航金三银四,万字解析!
- bzoj1596[Usaco2008 Jan]电话网络*
- LoadRunner性能测试技术培训
- eclipse配置项目部署到到本地tomcat
- python能做什么毕业设计-有没有适合python做的毕设题目,现在不知道做什么了?...
- 均值(Mean)和均值标准误差(S.E. Mean)
- 至 上海神力科技有限公司 的留言 http://www.sl-power.com/
- STM32标准库与HAL库中的Mode和Pull设置
- 爬虫之scrapy环境安装
- I2C详解(2) I2C总线的规范以及用户手册(1) I2C 总线协议
- 运用Fluxion高效破解WiFi密码
- Java 关键字及其作用(保留字)
- 用C语言短除法求最大公因数用,用短除法求最大公因数
- 安全管理实务之四:口令管理(转)
- PIXHAWK飞控固件及代码基础介绍
- 酷炫的多选方案,拒绝重复劳动
- Hexo个人博客搭建教程