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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

HDU - 5371 Hotaru's problem(马拉车+暴力)

發布時間:2024/4/11 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDU - 5371 Hotaru's problem(马拉车+暴力) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目鏈接:點擊查看

題目大意:給出n個數組成的數列,現在規定一種結構滿足以下條件:

  • 該結構由三個部分組成
  • 第一個部分與第三個部分相等
  • 第一個部分與第二個部分對稱
  • 現在問數列中最長的可以組成該結構的字串的長度

    題目分析:對于題目中的條件,我們換句話來解釋,還是三個部分,顯然第一個部分和第二個部分可以組成回文串,第二個部分可以和第三個部分組成回文串,而且組成的回文串還都是偶回文串,既然涉及到了字串和回文串,我們可以先用馬拉車跑一下以每個位置為終點的回文串長度,此后就可以暴力維護答案了,既然是要求兩個回文串,且必須滿足其中間有交集,則只需滿足:

  • 設x為回文串1和回文串2中點位置的距離
  • 回文串1的右半部分大于等于x
  • 回文串2的左半部分大于等于x
  • 如果滿足上述三個條件,那么必然可以構造出一種題目要求的數列,且長度為x*3,如此暴力維護一下最大值就是答案了

    不得不說,這個題我是不太敢暴力的,但加上了最優性剪枝,以及適當的break之后,其實暴力起來的時間復雜度遠遠小于n*n,反而更接近O(n)

    代碼:

    #include<iostream> #include<cstdio> #include<string> #include<ctime> #include<cstring> #include<algorithm> #include<stack> #include<queue> #include<map> #include<set> #include<sstream> using namespace std;typedef long long LL;const int inf=0x3f3f3f3f;const int N=2e5+100;int a[N],p[N],n;void Manacher() {p[0]=1;int id=0,mmax=0;for(int i=1;i<n;i++){if(i<mmax)p[i]=min(mmax-i,p[2*id-i]);elsep[i]=1;while(a[i-p[i]]==a[i+p[i]])p[i]++;if(i+p[i]>mmax){mmax=i+p[i];id=i;}p[i]--;//這里減一代表的是不算當前位置可以向左或向右擴展多少個單位 } } int main() { // freopen("input.txt","r",stdin); // ios::sync_with_stdio(false);int w;cin>>w;int kase=0;while(w--){int nn;scanf("%d",&nn);n=0;a[n++]=-1;while(nn--){a[n++]=0;scanf("%d",&a[n++]);}a[n++]=0;a[n++]=-1;Manacher();int ans=0;for(int i=1;i<n;i+=2)//枚舉第一個回文串的中點,因為要跳過'#',所以每次加二for(int j=i+p[i];j-i>ans;j-=2)//枚舉第二個回文串的中點,同理每次減二 if(j-i<=p[j]){ans=max(ans,j-i);break;}printf("Case #%d: %d\n",++kase,ans/2*3);}return 0; }

    ?

    總結

    以上是生活随笔為你收集整理的HDU - 5371 Hotaru's problem(马拉车+暴力)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 三年中文在线观看免费观看 | 欧美网 | 日韩一级黄 | 韩国黄色大片 | 日韩精品啪啪 | 国产女人被狂躁到高潮小说 | 国产91国语对白在线 | 亚欧色视频 | 美女脱得一干二净 | 不卡精品视频 | 快射视频在线观看 | 国产精品伊人久久 | 男女三级视频 | 欧美色图1 | 超碰爱爱| 亚洲三级免费观看 | 国产午夜精品免费一区二区三区视频 | 九九这里只有精品视频 | 青青草手机在线观看 | 91区国产| 成人短视频在线观看 | 国产精品久久久久久久久借妻 | 色综合图片区 | 天堂中文在线看 | 中文字幕天堂网 | 超碰人人人人 | 国产精品成熟老女人 | 亚洲综合久久av | 精品电影一区二区 | proumb性欧美在线观看 | 免费黄色一级 | 欧美高清在线观看 | 影音先锋91 | 一区二区三区久久 | 黄色资源在线播放 | 黄色片一区二区三区 | 国产精品久久久久久久久久久不卡 | 亚洲一区二区三区在线观看视频 | 欧美图片一区 | 国产美女久久久久久 | 动漫玉足吸乳羞免费网站玉足 | 欧美日韩一区二区三区电影 | www.污视频 | 女性喷水视频 | 一级黄色在线播放 | 夜夜爽妓女8888视频免费观看 | 法国空姐在线观看免费 | 成人a级大片| 都市激情亚洲综合 | 国产成人精品一区二三区四区五区 | 极品淫少妇 | 国模无码视频一区二区三区 | 亚洲视频在线免费 | 亚洲精品白浆高清久久久久久 | 久久受| 午夜精品一区二区在线观看 | 欧美视频www | 天堂网在线资源 | 上原亚衣在线观看 | 毛片基地在线观看 | 伊伊成人网 | 一级黄色片在线播放 | 亚洲高清在线视频 | 99在线精品视频免费观看20 | 日日干天天干 | 插插宗合网| caoporn免费在线 | 亚洲免费观看 | 成人xxx | 青青草在线视频免费观看 | 久久久久亚洲av无码专区桃色 | 先锋影音av资源站 | 国产一区二区网址 | 亚洲精品久久视频 | 欧美视频精品 | 日韩网站免费观看 | 欧美粗大猛烈老熟妇 | 亚洲欧洲一级 | 福利一区二区 | 干成人网 | 欧美日韩一区二区三区不卡视频 | 五月婷婷狠狠干 | 在线播放网址 | 欧美性受xxxx黑人xyx性爽 | 久久久久久国产精品免费播放 | 久青草视频在线 | 国产中文字幕一区二区三区 | 在线观看免费的av | 丰满少妇被猛烈进入高清播放 | 日韩av电影网址 | 亚洲欧美日韩中文在线 | 小嫩嫩精品导航 | 日本理论片在线 | 黄黄的视频在线观看 | 久久久三级视频 | 亚洲午夜电影网 | 国产精品白嫩白嫩大学美女 | 1024视频在线 | 91porny在线 |