日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1494: 连续子串和续

發布時間:2025/3/21 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1494: 连续子串和续 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1494: 連續子串和續

http://www.acmore.net/problem.php?id=1494

Time Limit:?10 Sec??Memory Limit:?128 MB
Submit:?99??Solved:?18
Submit Status Web Board

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

?

5 3 1 2 3 4 5 1 1 3 4 5 3 1 100 200 300 3 2 1

?

Sample Output

?

1.2000 300.0000

?

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: 连续子串和续的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。