日韩性视频-久久久蜜桃-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的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 丁香色婷婷 | 黄频在线看 | 欧美色欧美| 亚洲性网站 | 色欧洲 | 久久九九久精品国产免费直播 | 丰满少妇一区二区三区 | 国产成人精品网 | 一区二区三区国产精品 | 亚洲国产毛片aaaaa无费看 | 欧美大片xxxx | 天天干天天搞天天射 | 精品一区二区三 | 国产又粗又猛又爽又黄91 | 5d肉蒲团之性战奶水 | 亚洲精品一二三区 | 校园春色亚洲色图 | 日韩在线精品 | 亚洲欧美另类日本 | 人人爽人人爽人人爽 | 激情高潮呻吟抽搐喷水 | 性感美女一级片 | 一本色道无码道dvd在线观看 | 亚洲福利视频一区二区三区 | 综合亚洲欧美 | 色一情一乱一伦一区二区三区 | 日韩欧美精品在线观看 | 中文字幕大全 | 日韩黄网 | 国产成人精品777777 | 北条麻妃一区二区三区在线观看 | jizz黑人 | 少妇一级淫免费放 | 久久亚洲私人国产精品va | 欧美成人综合视频 | 日韩www | 狠狠干干 | 欧洲亚洲自拍 | 久久手机看片 | 制服.丝袜.亚洲.中文.综合懂 | 精品影视 | 亚洲宅男天堂 | 老熟女高潮一区二区三区 | 人人干夜夜操 | 久久久久久天堂 | 亚洲av无码潮喷在线观看 | 久久久精品麻豆 | 97国产成人无码精品久久久 | 在线免费av播放 | 成人av免费在线看 | 尤物视频在线看 | 久久久久久久久久久福利 | 男女野外做受全过程 | 欧美乱码精品一区二区 | 99久久精品免费看国产 | 91在线免费视频观看 | 欧美拍拍 | 两性午夜免费视频 | 欧美又粗又长又爽做受 | 国产精品毛片在线 | 天天摸日日摸 | 亚洲av久久久噜噜噜噜 | 91资源站 | 懂色av一区二区三区免费观看 | 日韩av免费网站 | 影音先锋在线中文字幕 | 亚洲av色区一区二区三区 | 一区二区视频免费 | 丰满人妻熟女aⅴ一区 | 午夜精品久久久久久久无码 | 中文字幕精品久久久 | 欧美性生活xxx | 狠狠人妻久久久久久综合 | 久久99久久99精品免观看软件 | 波多野结衣精品在线 | 欧美另类极品videosbest使用方法 | 中文字幕亚洲欧美 | 桃花色综合影院 | 18pao国产成视频永久免费 | 精品一区二区精品 | 免费国产a级片 | 黄网址在线观看 | 欧洲成人av | 亚洲综合欧美日韩 | 夜色视频网 | av中文字幕观看 | av私库 | 中文字幕一区二区三区精华液 | 调教撅屁股啪调教打臀缝av | 亚洲免费一级片 | 男人天堂怡红院 | 国产永久免费观看 | 欧美日韩成人在线 | 国产一级在线观看视频 | 99精品一区二区 | 国产精品国产三级国产在线观看 | 男人天堂网站 | 一区二区在线观看免费 | 亚洲欧洲日本在线 |