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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

hihoCoder#1384 : Genius ACM

發布時間:2023/11/27 生活经验 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hihoCoder#1384 : Genius ACM 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對于一個固定的區間$[l,r]$,顯然只要將里面的數字從小到大排序后將最小的$m$個和最大的$m$個配對即可。

如果固定左端點,那么隨著右端點的右移,$SPD$值單調不降,所以盡量把右端點往右移,貪心分割即可。

為了使得掃過的部分一定被分割下來,考慮倍增枚舉區間長度,然后排序檢驗。

在得到區間長度屬于某個區間$[2^k,2^{k+1})$后,可以將這里所有數字預先排好序,然后通過二分得到右端點的精確值,檢驗的時候只需要判斷每個數字是否不超過$r$。

時間復雜度$O(n\log n)$。

?

#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long ll;
const int N=500010,BUF=40000000;
char Buf[BUF],*buf=Buf;
int T,n,m,cnt,i,a[N],b[N];
ll limit,maxdiff;
inline bool cmp(int x,int y){return b[x]<b[y];}
inline void read(int&a){for(a=0;*buf<48;buf++);while(*buf>47)a=a*10+*buf++-48;}
inline void read(ll&a){for(a=0;*buf<48;buf++);while(*buf>47)a=a*10+*buf++-48;}
inline void cal(int l,int r){int i,j,n=0;for(i=l;i<=r;i++)a[n++]=b[i];maxdiff=0;sort(a,a+n);for(i=0,j=n-1;i<j&&i<m;i++,j--){maxdiff+=1LL*(a[i]-a[j])*(a[i]-a[j]);if(maxdiff>limit)break;}
}
inline void init(int l,int r){cnt=0;for(int i=l;i<=r;i++)a[cnt++]=i;sort(a,a+cnt,cmp);
}
inline void cal2(int r){int i,j,k;maxdiff=0;for(i=0,j=cnt-1,k=m;k;i++,j--,k--){while(i<j&&a[i]>r)i++;while(i<j&&a[j]>r)j--;if(i>=j)return;maxdiff+=1LL*(b[a[i]]-b[a[j]])*(b[a[i]]-b[a[j]]);if(maxdiff>limit)break;}
}
inline int solve(){int i,j,l,r,mid,t,now=0;for(i=1;i<=n;i=t+1){for(j=1;i+(1<<j)-1<=n;j++){cal(i,i+(1<<j)-1);if(maxdiff>limit)break;}t=i,l=i+(1<<(j-1))-1,r=i+(1<<j)-1;if(r>n)r=n;init(i,r);while(l<=r){cal2(mid=(l+r)>>1);if(maxdiff<=limit)l=(t=mid)+1;else r=mid-1;}now++;}return now;
}
int main(){fread(Buf,1,BUF,stdin);read(T);while(T--){read(n),read(m);read(limit);for(i=1;i<=n;i++)read(b[i]);printf("%d\n",solve());}return 0;
}

  

轉載于:https://www.cnblogs.com/clrs97/p/5904807.html

總結

以上是生活随笔為你收集整理的hihoCoder#1384 : Genius ACM的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 久久精品国产亚洲AV成人雅虎 | 大尺度电影在线 | 香蕉视频网页 | 男人都懂的网址 | 麻豆网站免费观看 | 日本午夜激情视频 | 欧美草逼视频 | 久久一区av | 97人妻精品一区二区三区视频 | 中文字幕人妻一区二 | 一区二区三区视频观看 | 欧美第二页 | 性高潮久久久久 | 性色免费视频 | 超碰成人在线观看 | 天天操操操操 | 亚洲天堂成人在线观看 | 日韩成人午夜影院 | 国产精品视频入口 | 小柔的裸露日记h | 黄色片久久久久 | 男人天堂tv | jizz欧美大全| 日韩有码一区 | 中文字幕免费看 | 国产精品视频一区二区三区在3 | 中文字幕23页| 国产又爽又黄免费视频 | 色视频在线播放 | 国产视频四区 | 欧美一区二区三区激情视频 | 中文字幕第十二页 | 在线性视频 | 日韩三级av | japanese中文字幕 | 中文不卡视频 | 美女脱了内裤喂我喝尿视频 | 一级免费a | 法国空姐 在线 | 亚洲熟伦熟女新五十路熟妇 | 免费看国产视频 | 国产精品变态另类虐交 | 黄大色黄大片女爽一次 | 亚洲熟妇中文字幕五十中出 | 天天综合天天添夜夜添狠狠添 | 91午夜在线观看 | 911香蕉 | 日本激情影院 | 九九久久99| 在线免费观看小视频 | 日韩毛片在线 | 人妻丰满熟妇av无码区免 | 精品国模一区二区三区 | 深夜福利电影 | 亚洲国产精品毛片 | 免费黄色大片 | 亚洲乱码国产一区三区 | 欧美久草视频 | 亚洲天堂资源在线 | 超碰在线免费观看97 | 欧美另类综合 | 亚洲视频大全 | jjzzjjzz欧美69巨大 | 精品免费av | www.777含羞草| 亚洲国产成人精品视频 | 已满18岁免费观看电视连续剧 | 日韩成人精品在线观看 | 天天躁日日躁狠狠很躁 | 51成人 | 亚洲欧洲国产综合 | 国产成人综合亚洲 | 黄色av网址在线 | 操比视频网站 | 免费啪啪网址 | 国产操比视频 | 最新国产露脸在线观看 | 亚洲精品综合在线观看 | 91九色网站 | 一道本在线| 香蕉视频污视频 | 国产精品jizz在线观看无码 | 精品少妇人妻一区二区黑料社区 | 在线天堂中文 | 蜜桃视频在线观看网站 | 少妇大叫太粗太大爽一区二区 | 亚洲热热 | 精品国产一区二区三区久久久 | 噼里啪啦免费高清看 | 精品国产视频一区二区三区 | 欧美特级黄色大片 | 欧美xxxx吸乳 | 国产亚洲欧美一区二区 | 不许穿内裤随时挨c调教h苏绵 | 亚洲三级黄色 | 国产香蕉精品 | 少妇人妻互换不带套 | 久久av免费观看 | 成人免费一级片 |