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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【DP】AGC012 ECamel and Oases

發布時間:2023/12/14 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【DP】AGC012 ECamel and Oases 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

分析:

有點套路的狀壓題

很顯然,最多logV層,所以可以記錄每一層的選取狀態(第一層保證不能選)。
定義f1(mask)f1(mask)f1(mask)表示選取狀態為mask時,從最左端開始連續覆蓋的最右端。
定義f2(mask)f2(mask)f2(mask)表示選取狀態為mask時,從最右端開始連續覆蓋的最左端。

之所以要分成兩段,是因為最終我們要判斷從某一段開始,能否全部覆蓋,所以最開始一個區間類似于詢問,對每個詢問,枚舉左側的選取狀態,得到右側對應的選取狀態,然后看兩段能否覆蓋到當前這一段。

#include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<vector> #define SF scanf #define PF printf #define MAXN 1000010 #define INF 0x3FFFFFFF using namespace std; int n,v,logv; int x[MAXN]; int f1[MAXN],f2[MAXN]; int l[22][MAXN],r[22][MAXN],cnt[22]; int find_l(int x,int pos){pos++;int now=upper_bound(l[x]+1,l[x]+1+cnt[x],pos)-l[x];now--;if(now<=0)return pos;return max(r[x][now],pos-1); } int find_r(int x,int pos){pos--;int now=lower_bound(r[x]+1,r[x]+1+cnt[x],pos)-r[x];if(now>cnt[x])return pos;return min(l[x][now],pos+1); } int ans[MAXN]; int main(){memset(f2,0x3f3f3f3f,sizeof f2);SF("%d%d",&n,&v);for(int i=1;i<=n;i++)SF("%d",&x[i]); x[0]=-INF;x[n+1]=INF;for(logv=0;(1<<logv)<=v;logv++);logv++;for(int i=0;i<logv;i++){int v1=v>>i;cnt[i]=1;l[i][cnt[i]]=1;for(int j=1;j<=n;j++)if(x[j+1]-x[j]>v1){r[i][cnt[i]]=j;cnt[i]++;l[i][cnt[i]]=j+1; }cnt[i]--;}if(cnt[0]>logv){for(int i=1;i<=n;i++)PF("Impossible\n");return 0; }f1[0]=0;f2[0]=n+1;for(int mask=0;mask<(1<<logv);mask+=2)for(int i=1;i<logv;i++)if((mask&(1<<i))!=0){f1[mask]=max(f1[mask],find_l(i,f1[mask^(1<<i)]));f2[mask]=min(f2[mask],find_r(i,f2[mask^(1<<i)])); }for(int i=1;i<=cnt[0];i++){int lft=l[0][i];int rit=r[0][i];for(int mask=0;mask<(1<<logv);mask+=2){int mask2=((1<<logv)-2)^mask;if(f1[mask]>=lft-1&&f2[mask2]<=rit+1){ans[i]=1;break;}}}int las=1;for(int i=1;i<=n;i++){if(i>r[0][las])las++;if(ans[las]==0)PF("Impossible\n");elsePF("Possible\n");} }

總結

以上是生活随笔為你收集整理的【DP】AGC012 ECamel and Oases的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产在线123 | 亚洲成av人影院 | 天天插天天干天天操 | 正在播放国产一区 | 看了让人下面流水的视频 | 蜜桃视频在线观看一区 | 天堂视频免费 | 中文字幕无码av波多野吉衣 | 免费观看已满十八岁 | 一级黄色片大全 | 性高湖久久久久久久久aaaaa | 天天做日日干 | 欧美激情影院 | 一区亚洲 | 成人福利在线看 | 亚洲五月花| 轻点好疼好大好爽视频 | 欧美大片18 | 国产又大又粗又爽 | 成人午夜毛片 | 中国国产bdsm紧缚捆绑 | 992在线观看 | 欧美视频在线一区二区三区 | 美女扒开粉嫩的尿囗给男生桶 | 久久久久亚洲av成人网人人软件 | 夜夜嗨网站 | 欧美黑人一级爽快片淫片高清 | 96看片| 大奶子av| 国产精品短视频 | 亚洲av日韩精品久久久久久久 | 中国黄色免费 | 91精品色 | 尤物在线视频观看 | 亚洲激情四射 | 男同互操gay射视频在线看 | 狼人香蕉 | 少妇真实被内射视频三四区 | 人碰人操 | 色综合久久88色综合天天6 | 狠狠操狠狠爱 | 秋霞中文字幕 | 亚洲激情文学 | 亚洲国产日韩欧美 | 4388成人网 | 波多野结衣午夜 | 欧美日韩欧美 | 激情视频亚洲 | 国产草草草 | 红杏出墙记 | 都市激情久久 | 日本乱偷人妻中文字幕在线 | 在线超碰91 | 一级欧美黄色片 | www国产精品内射老熟女 | 国产精品午夜久久 | 公侵犯人妻中文字慕一区二区 | 亚洲欧美日韩一区二区 | 狼人狠狠干 | 久久久久久久福利 | 在线天堂中文 | 西西44rtwww国产精品 | 国产精品videossex久久发布 | 中文字幕最新 | a少妇| 欧美日韩看片 | 午夜剧场福利社 | 国产一级黄色电影 | 精品久久免费观看 | 色婷婷久久久亚洲一区二区三区 | 日韩欧美日韩 | 内射无码专区久久亚洲 | 91麻豆产精品久久久久久夏晴子 | 亚洲小说专区 | 五月婷婷综合激情网 | 国产精品高潮呻吟av | 午夜少妇影院 | 西野翔之公侵犯中文字幕 | 91精品久久久久久久久久入口 | 狠狠干夜夜操 | 波多野结衣一区二区三区中文字幕 | 日韩av大全 | 毛片久久久久久 | 欧美另类高清videos的特点 | 久久爱99 | 久久久久久片 | 极品av在线 | 久久不卡av | 毛片毛片 | 天天射夜夜骑 | 欧美三级一级片 | 农民人伦一区二区三区 | 久久对白 | 欧美激情 国产精品 | 亚洲天堂影院 | 51国产偷自视频区视频 | av资源网在线 | 奇米影视在线播放 | 国产精品中文字幕在线观看 |