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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Agc012_E Camel and Oases

發(fā)布時間:2023/12/14 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Agc012_E Camel and Oases 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

傳送門

題目大意

坐標軸上有$n$個坐標,第$i$個坐標是$x_i$,初始你有一個容量$V$,當兩個給定的坐標距離不超過$V$時,你可以從一個坐標到達另一個坐標,同時你還可以令$V=\lfloor \frac{V}{2}\rfloor$,并到達一個任意一個給定的坐標。

求對于每一個點是否存在一種方案使得從這個點出法能夠到達每一個點至少一次。

?

題解

首先$V$的值只有$\log V$種,對于每一種取值,會有若干段下標連續(xù)的坐標可以互相到達,要求在每一層取一段使得所有坐標都被覆蓋,題意即為在強制選第一層的某一段,是否存在合法方案。

考慮先預處理每一層每一個坐標能到達的最左和最右的坐標,再在忽略第一層的意義下將每一層是否被選中的狀態(tài)壓縮起來,求出用了某些層所能覆蓋的最長前綴和后綴。

設某一選中的狀態(tài)集合為$K$,全集為$S$,$K$所能覆蓋的最長前綴為$Pre_K$,最長后綴為$Suf_K$。

枚舉$K$,對于每一個$Pre_K$,求出它所對應的最長的$Suf$即為$F_{Pre_K}$,這個用$Suf_{S-K}$更新即可,要考慮$F_i+1$可以更新$F_i$。

所以最后枚舉每一個坐標$i$,找到它第一層所在的段的左右端點$L,R$,看$F_{L-1}$是否能覆蓋到$R$即可。

由于狀態(tài)數(shù)是$2^{\log_2 V}$,所以它是嚴格小于$V$的,所以最終復雜度為$O(n\log V+V)$。

?

#include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #define M 200020 #define INF 1000001000 using namespace std; const int BS=1<<19;char BF[BS],OT[BS],*SZ=OT,*HD,*TL; const char *ED=OT+BS-1; int Top; char Getchar(){if(HD==TL)TL=(HD=BF)+fread(BF,1,BS,stdin);return *HD++;} void flush(){fwrite(OT,1,SZ-OT,stdout);} void Putc(char c){*SZ++ =c;if(SZ==ED) flush(),SZ=OT;} int read(){int nm=0,fh=1; char cw=Getchar();for(;!isdigit(cw);cw=Getchar()) if(cw=='-') fh=-fh;for(;isdigit(cw);cw=Getchar()) nm=nm*10+(cw-'0');return nm*fh; } void TK(bool x){if(x) Putc('P'); else Putc('I'),Putc('m'),Putc('p'); Putc('o');Putc('s'),Putc('s'),Putc('i'),Putc('b'),Putc('l'),Putc('e'),Putc('\n'); } int tot,n,m,pos[M],L[M][21],R[M][21],V[40],rt; int RF[M<<3],LF[M<<3],G[M],D[M],MAXN; int main(){n=read(),m=read();for(int i=1;i<=n;i++) pos[i]=read(),D[i]=pos[i]-pos[i-1],G[i]=-(INF<<1);while(m) V[tot++]=m,m>>=1; tot++;for(int k=0;k<tot;k++){for(int i=1;i<=n;i++){R[i][k]=max(R[i-1][k]-1,1);while(i+R[i][k]<=n&&D[i+R[i][k]]<=V[k]) R[i][k]++;}for(int i=n;i;i--){L[i][k]=max(L[i+1][k]-1,1);while(i-L[i][k]>0&&D[i-L[i][k]+1]<=V[k]) L[i][k]++;}} MAXN=(1<<tot);for(int i=2;i<MAXN;i+=2){for(int k=1;k<tot;k++){int w=(1<<k); if(!(i&w)) continue;LF[i]=max(LF[i],LF[i^w]+R[LF[i^w]+1][k]);RF[i]=max(RF[i],RF[i^w]+L[n-RF[i^w]][k]);} LF[i]=min(LF[i],n),RF[i]=min(RF[i],n);}for(int k=0;k<MAXN;k+=2) G[LF[k]]=max(G[LF[k]],RF[(MAXN-2)^k]);for(int i=n-1;i>=0;i--) G[i]=max(G[i],G[i+1]);for(int i=1;i<=n;i++) TK(G[i-L[i][0]]+R[i][0]+i-1>=n); flush();return 0; }

?

轉載于:https://www.cnblogs.com/OYJason/p/9805019.html

總結

以上是生活随笔為你收集整理的Agc012_E Camel and Oases的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 中文字幕免费观看 | ,国产精品国产三级国产 | 蜜桃视频在线观看一区 | 国产色在线视频 | 青草操 | 中文在线字幕免费观看电 | 国产精品高潮呻吟久久久 | 无码精品人妻一区二区三区湄公河 | www.日韩.com| 99热在线观看免费精品 | 久久国产劲爆∧v内射 | 好av在线 | 日日天天 | 日韩亚洲影院 | 窝窝在线视频 | 大陆一级黄色片 | av在线免费观看一区 | 蜜臀久久99精品久久一区二区 | 不卡在线一区二区 | 国内精品免费 | 欧美少妇精品 | 天天干夜操 | 色欧美色 | 麻豆视频在线播放 | 99r热| 欧美日韩免费一区 | 国产精品一区在线免费观看 | 久久婷婷久久 | 五月开心网 | 日日夜夜免费精品视频 | 丰满熟女一区二区三区 | 日本xx片 | 欧美熟女一区二区 | 超碰在线c| 久久久久久久久国产精品一区 | 亚洲一区二区三区激情 | 午夜在线小视频 | 天天插天天操天天干 | 1000部国产精品成人观看 | 国产91页 | 亚洲一区二区三区高清在线 | 久久久久亚洲AV | 日本精品视频在线观看 | 精品欧美一区二区三区成人 | 亚洲国产果冻传媒av在线观看 | 蜜臀av免费一区二区三区水牛 | 国产精品二区一区二区aⅴ污介绍 | 夜夜嗨一区二区三区 | 久久精品性爱视频 | 人人人人爽 | 国产精品第一页在线观看 | 91av视频在线观看 | 花房姑娘免费观看全集 | 性感美女高潮 | 天天舔天天操 | 欧美激情久久久 | 天天射夜夜骑 | 国内免费av | 欧美裸体视频 | 亚洲小说春色综合另类 | 日本一区二区三区视频免费看 | 国产伦精品一区二区免费 | 中文字幕av亚洲精品一部二部 | www.狠狠撸.com | 亚洲黄色免费电影 | 中文在线观看av | 精品久久久无码中文字幕 | 一级黄色性视频 | 亚洲国产精品欧美久久 | jizz国产在线 | 就操网 | 亚洲少妇色 | 亚洲视频二区 | 欧美一区二区三区成人久久片 | 福利一区二区在线观看 | 国产又爽又黄免费视频 | 午夜影院一区二区三区 | 日韩成人一区 | 国产一区二区三区在线观看 | 一二区精品 | 丝袜av网站 | 久草新免费 | 欧美精品aaa | 极品探花在线 | 日韩免费在线观看 | 天天射天天干天天操 | 一区二区三区日韩在线 | 国产av一区二区三区传媒 | 中国大陆高清aⅴ毛片 | 在线观看国产视频 | 自拍欧美亚洲 | 日韩在线国产 | 午夜久久久久久久久久影院 | 欧美日韩国产亚洲沙发 | 久久福利精品 | 九九热在线视频播放 | 国产三级中文字幕 | 91精品久久久久久久久久入口 | 亚洲精品午夜 |