<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Codeforces Global Round 17

      Codeforces Global Round 17

      A. Anti Light's Cell Guessing

      坑點(diǎn):\(n=1,m=1\) 時(shí)答案為 \(0\)

      其他情況:當(dāng) \(n=1\)\(m=1\) 時(shí),只需要取端點(diǎn)即可。其他情況只需要兩個(gè)點(diǎn),也是取兩個(gè)端點(diǎn),把離一個(gè)點(diǎn)曼哈頓距離為固定值的點(diǎn)連成一條線段,可以發(fā)現(xiàn)這兩個(gè)端點(diǎn)形成的線段只可能有一個(gè)交點(diǎn),即隱藏點(diǎn)。

      #include <bits/stdc++.h>
      #define rep(i,a,b) for(int i=a;i<b;i++)
      using namespace std;
      using ll = long long;
      
      constexpr int N = 2e5+5, P = 1e9+7;
      
      int main() {
          cin.tie(nullptr)->ios::sync_with_stdio(false);
      	int _; cin>>_;
      	while (_--) {
      		ll n,m; cin>>n>>m;
      		if(n==1&&m==1)cout<<0<<endl;
      		else if(n==1||m==1)cout<<1<<endl;
      		else {
      			cout<<2<<endl;
      		}
      	}
          return 0;
      }
      

      B. Kalindrome Array

      和之前cf出過(guò)的一題一模一樣,那題是刪字母,這題是刪數(shù)字,不過(guò)都一樣,因?yàn)榭赡軇h的值只可能有兩個(gè),枚舉這兩個(gè)可能值即可。

      #include <bits/stdc++.h>
      #define rep(i,a,b) for(int i=a;i<b;i++)
      using namespace std;
      using ll = long long;
      
      constexpr int N = 2e5+5, P = 1e9+7;
      int a[N];
      
      int main() {
          cin.tie(nullptr)->ios::sync_with_stdio(false);
      	int _; cin>>_;
      	while (_--) {
      		int n; cin>>n;
      		rep(i,0,n)cin>>a[i];
      		int lx=-1,ly=-1;
      		int l=0,r=n-1;
      		while(l<r){
      			if(a[l]!=a[r]){
      				if(lx==-1){
      					lx=a[l]; ly=a[r];
      					break;
      				}
      			}else{
      				l++,r--;
      			}
      		}
      		l=0,r=n-1;
      		int flag=1;
      		while(l<r){
      			if(a[l]!=a[r]){
      				if(a[l]==lx){
      					while(l<r&&a[l]==lx)l++;
      				}else if(a[r]==lx){
      					while(l<r&&a[r]==lx)r--;
      				}else{
      					flag=0;
      					break;
      				}
      				if(a[l]!=a[r]){
      					flag=0;
      					break;
      				}
      			}else{
      				l++,r--;
      			}
      		}
      		if(flag){
      			cout<<"yes\n";
      			continue;
      		}
      		l=0,r=n-1;flag=1;
      		while(l<r){
      			if(a[l]!=a[r]){
      				if(a[l]==ly){
      					while(l<r&&a[l]==ly)l++;
      				}else if(a[r]==ly){
      					while(l<r&&a[r]==ly)r--;
      				}else{
      					flag=0;
      					break;
      				}
      				if(a[l]!=a[r]){
      					flag=0;
      					break;
      				}
      			}else{
      				l++,r--;
      			}
      		}
      		if(!flag){
      			cout<<"no\n";
      		}else{
      			cout<<"yes\n";
      		}
      	}
          return 0;
      }
      

      C. Keshi Is Throwing a Party

      由于答案具有單調(diào)性,考慮二分答案。于是問(wèn)題就轉(zhuǎn)化成了從 \(n\) 個(gè)人里選 \(k\) 個(gè)人,使他們都開(kāi)心。

      假設(shè)選了 \(k\) 個(gè)人的下標(biāo)分別為 \(p_1,p_2,\cdots,p_k\) 。對(duì)于 \(i\in[1,k]\) ,都有

      \[b_{p_i}\ge i-1\\ a_{p_i}\ge k-i \]

      根據(jù)這個(gè)性質(zhì),我們就可以貪心地取了。

      #include <bits/stdc++.h>
      #define rep(i,a,b) for(int i=a;i<b;i++)
      using namespace std;
      using ll = long long;
      
      constexpr int N = 2e5+5, P = 1e9+7;
      int r[N], p[N], n;
      
      int check(int x) {
      	int ans=0,cc=0;
      	rep(i,0,n){
      		if(cc+1>=x-r[i]&&cc+1<=p[i]+1)cc++;
      	}
      	return cc>=x;
      }
      
      int main() {
          cin.tie(nullptr)->ios::sync_with_stdio(false);
      	int _; cin>>_;
      	while (_--) {
      		cin>>n;
      		rep(i,0,n)cin>>r[i]>>p[i];
      		int l=1,r=n;
      		while(l<r){
      			int mid=l+r+1>>1;
      			if(check(mid))l=mid;
      			else r=mid-1;
      		}
      		cout<<l<<endl;
      	}
          return 0;
      }
      

      D. Not Quite Lee

      一個(gè)數(shù) \(x\) 形成的連續(xù)數(shù)字的和可以表示為

      \[\frac{x(x+1)}{2}+kx(k\in \text{Z}) \]

      于是一個(gè)數(shù)列 \((x_1,x_2,\cdots,x_k)\) 的合法性可以表示為

      \[\sum_{i=1}^k(\frac{x_i(x_i+1)}{2}+k_ix_i)=0 \ (k_i\in \text{Z}) \]

      移項(xiàng)得

      \[\sum_{i=1}^k\frac{x_i(x_i+1)}{2}=\sum_{i=1}^kk_ix_i \ (k_i\in \text{Z}) \]

      為表示簡(jiǎn)略,以下的冪次都是指 \(2\) 的冪次。

      當(dāng)數(shù)列中有一個(gè)為奇數(shù)時(shí),右邊的最低冪次為 \(0\) ,最低冪次為 \(0\) 的數(shù)可以表示任何數(shù),也就是說(shuō),當(dāng)數(shù)列中有一個(gè)為奇數(shù),該數(shù)列即合法。于是考慮數(shù)列中全為偶數(shù)的情況,等式右邊的最低冪次一定比左邊的最低冪次大 \(1\) 。因?yàn)?\(x\) 是偶數(shù),\(x+1\) 是奇數(shù),乘起來(lái)再除個(gè) \(2\) 必定會(huì)丟失一個(gè)因子 \(2\) 。低冪次的可以表示高冪次的,高冪次的不能表示低冪次,而左邊的最低冪次要比右邊小,所以要保證數(shù)列中冪次為最低冪次的數(shù)有偶數(shù)個(gè),才能使他們的最低冪次 \(+1\) ,從而被右邊的表示出來(lái)。于是思路就顯而易見(jiàn)了,枚舉最低冪次,若這個(gè)冪次不為 \(0\) ,那只能挑偶數(shù)個(gè),否則都可以選。

      \(n\) 個(gè)數(shù)中挑偶數(shù)個(gè)數(shù)(不能不挑)的方案數(shù)為

      \[\binom{2}{n}+\binom{4}{n}+\cdots+\binom{\lfloor\frac{n}{2}\rfloor \times2}{n} \]

      其實(shí)根據(jù)二項(xiàng)式定理,二項(xiàng)式系數(shù)中的偶數(shù)項(xiàng)和奇數(shù)項(xiàng)的和其實(shí)是一樣的,也就是說(shuō),上述的式子其實(shí)就是

      \[2^{n-1}-\binom{0}{n}=2^{n-1}-1 \]

      然后就可以寫(xiě)了。一個(gè)小技巧,求一個(gè)數(shù)的冪次可以用內(nèi)建函數(shù) __builtin_ctz(x) 求得。

      #include <bits/stdc++.h>
      #define rep(i,a,b) for(int i=a;i<b;i++)
      using namespace std;
      using ll = long long;
      
      constexpr int N = 2e5+5, P = 1e9+7;
      
      ll qpow(ll a, ll b) {
      	ll res=1;
      	for(;b;b>>=1,a=(a*a)%P)if(b&1)res=res*a%P;
      	return res;
      }
      
      int cc[35];
      
      int main() {
      #ifndef ONLINE_JUDGE
      	freopen("1.in", "r", stdin);
      #endif // !ONLINE_JUDGE
          cin.tie(nullptr)->ios::sync_with_stdio(false);
      	int n; cin>>n;
      	rep(i,0,n){
      		int x; cin>>x;
      		cc[__builtin_ctz(x)] ++;
      	}
      	ll ans=0, tot=0;
      	for(int i=31;i>=0;i--){
      		if(cc[i]){
      			if(i) ans=(ans+qpow(2,tot)*(qpow(2,cc[i]-1)-1)%P)%P;
      			else ans=(ans+qpow(2,tot)*(qpow(2,cc[i])-1)%P)%P;
      			tot += cc[i];
      		}
      	}
      	cout<<ans;
          return 0;
      }
      
      posted @ 2021-11-24 09:23  xDaniel  閱讀(244)  評(píng)論(5)    收藏  舉報(bào)
      主站蜘蛛池模板: 国产精品视频一区二区不卡| 亚洲精品国产自在久久| 陆丰市| 欧美精品久久天天躁| 日韩成av在线免费观看| 亚洲自偷自偷在线成人网站传媒| 米林县| 玩弄放荡人妻少妇系列| 欧美日韩精品一区二区视频| 337p日本欧洲亚洲大胆色噜噜| 国产欧美精品一区aⅴ影院| аⅴ天堂国产最新版在线中文| 欧美成人午夜在线观看视频| 日韩免费无码人妻波多野| 一本色道久久—综合亚洲| 日韩高清在线亚洲专区不卡 | 国产成人午夜精品福利| 日本久久99成人网站| 亚洲av永久无码精品网站| 孕妇怀孕高潮潮喷视频孕妇| 日韩精品久久不卡中文字幕| 精品亚洲国产成人av| 日本少妇xxx做受| 国产精品国三级国产专区| VA在线看国产免费| 安义县| 国产极品美女高潮无套| 免费人成视频在线视频电影 | 久久青青草原精品国产app| 亚洲最大成人免费av| 人妻少妇一区二区三区| 国内精品久久黄色三级乱| 精品久久久久久无码不卡| 国产午夜91福利一区二区| 极品vpswindows少妇| 精品三级在线| 一级片一区二区中文字幕| 亚洲综合无码一区二区| 自拍偷自拍亚洲精品熟妇人| 中文字幕日韩人妻一区| 翘臀少妇被扒开屁股日出水爆乳|