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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

CH0805 防线 (二分值域,前缀和,特殊性质)

發(fā)布時間:2023/12/10 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CH0805 防线 (二分值域,前缀和,特殊性质) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

$ CH~0805~ $ 防線 (二分值域,前綴和,特殊性質(zhì))



$ solution: $

注意博主所給題面的輸出和原題有些不同

這道題當時想了很久很久,就是想不到怎么寫。果然還是太 $ vegetable $ 了。首先我們可以肯定的是,我們不能暴力枚舉,復雜度太高,數(shù)據(jù)范圍太大!所以我們需要從題目中尋找性質(zhì)!

題目說了要尋找一個數(shù)目為奇數(shù)的點,本來以為自己在二進制是與否這方面已經(jīng)很有經(jīng)驗,但是這道題反手打臉。奇偶數(shù)是一個以二進制很有關的東西:(奇數(shù)+奇數(shù)=偶數(shù))類似( 1 異或 1 = 0 ),(奇數(shù)+偶數(shù)=奇數(shù))類似( 1 異或 0 = 1 ),所以這道題我們可以用前綴和來判斷。題目給了一條很不起眼的條件:最多只有一個奇數(shù)位置!

這個條件讓我可以二分值域,搞個前綴和,如果前面有奇數(shù)存在那么前綴和一定是奇數(shù),反之為偶數(shù)。所以我們二分值域,算前綴和即可找到那個位置!



$ code: $

#include<iostream> #include<cstdio> #include<iomanip> #include<algorithm> #include<cstring> #include<cstdlib> #include<ctime> #include<cmath> #include<vector> #include<queue> #include<map> #include<set>#define ll long long #define db double #define rg register intusing namespace std;ll ans; int t,n; int a[200005]; int b[200005]; int v[200005];inline int qr(){register char ch; register bool sign=0; rg res=0;while(!isdigit(ch=getchar()))if(ch=='-')sign=1;while(isdigit(ch))res=res*10+(ch^48),ch=getchar();if(sign)return -res; else return res; }inline ll ask(ll x){ll res=0;for(rg i=1;i<=n;++i){if(a[i]>x)continue;if(b[i]<x) res+=1+(ll)(b[i]-a[i])/v[i];else res+=1+(ll)(x-a[i])/v[i];}return res; }int main(){//freopen(".in","r",stdin);//freopen(".out","w",stdout);t=qr();while(t--){ n=qr();rg l=2147483647,r=0; ans=0;for(rg i=1;i<=n;++i){a[i]=qr(),b[i]=qr(),v[i]=qr();l=min(l,a[i]); r=max(r,b[i]);ans+=(b[i]-a[i])/v[i]+1;}if(ans%2==0){puts("Poor QIN Teng:(");continue;} ll mid;while(l<=r){mid=((ll)l+r)>>1;if(!(ask(mid)%2))l=mid+1;else r=mid-1;}printf("%d %lld\n",l,ask(l)-ask(l-1));}return 0; }

轉載于:https://www.cnblogs.com/812-xiao-wen/p/11250602.html

總結

以上是生活随笔為你收集整理的CH0805 防线 (二分值域,前缀和,特殊性质)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。