[ BZOJ 2160 ] 拉拉隊排練

\(\\\)

\(Description\)


一個由小寫字母構成的長為\(N\)的字符串,求前\(K\)長的奇數長度回文子串長度之積,對\(19930726\)取模后的答案。

  • \(N\in [1,10^6]\)\(K\in [1,10^{12}]\)

\(\\\)

\(Solution\)


  • \(Manacher\)處理出所有位置的回文半徑,因為答案要求奇數長度,所以不用插入特殊字符,在原串上直接跑\(Manacher\)就好,回文半徑內的以當前點為回文中心的每一個子串都是回文串。
  • 所以開一個長度的桶,只給回文半徑對應的最長子串長度打標記,顯然一個標記代表著后面所有位置都\(+1\),所以計算的時候,一個長度的回文子串個數是長度標記的前綴和。
  • 要求的\(K\)非常大,快速冪處理。

\(\\\)

\(Code\)


#include<cmath>
#include<cstdio>
#include<cctype>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N 1000010
#define R register
#define gc getchar
#define mod 19930726
using namespace std;
typedef long long ll;char c,s[N];ll m,res=1,sum;int n,len[N],cnt[N];inline void init(){scanf("%d%lld",&n,&m);while(!isalpha(c=gc()));s[1]=c; s[0]='['; s[n+1]=']';for(R int i=2;i<=n;++i) s[i]=gc();
}inline void manacher(){for(R int i=1,p=0,mr=0;i<=n;++i){len[i]=i>mr?1:min(mr-i+1,len[(p<<1)-i]);while(s[i-len[i]]==s[i+len[i]]) ++len[i];if(i+len[i]-1>mr){p=i;mr=i+len[i]-1;}++cnt[(len[i]<<1)-1];}
}inline ll qpow(ll x,ll t){ll res=1;while(t){if(t&1) (res*=x)%=mod;(x*=x)%=mod; t>>=1;}return res;
}int main(){init();manacher();for(R int i=((n/2)<<1)+1;i>=1;i-=2){sum+=(ll)cnt[i];if(sum>=m){printf("%lld",(res*qpow(i,m))%mod);return 0;}(res*=qpow(i,sum))%=mod; m-=sum;}puts("-1");return 0;
}

轉載于:https://www.cnblogs.com/SGCollin/p/9690070.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/388436.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/388436.shtml
英文地址,請注明出處:http://en.pswp.cn/news/388436.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

用戶體驗可視化指南pdf_R中增強可視化的初學者指南

用戶體驗可視化指南pdfLearning to build complete visualizations in R is like any other data science skill, it’s a journey. RStudio’s ggplot2 is a useful package for telling data’s story, so if you are newer to ggplot2 and would love to develop your visua…

nodeJS 開發微信公眾號

準備測試公眾號 mp.weixin.qq.com/debug/cgi-b… 關注&#xff0c;獲取測試公眾號 內網滲透工具 natapp.cn/login 按照教程下載客戶端進行配置 后臺服務接入公眾號 有netapp 生成的映射外網IP > URL 搭建express開發環境 這個網上有教程&#xff0c;自行百度 接口配置和簽名…

單招計算機應用基礎知識考試,四川郵電職業技術學院單招計算機應用基礎考試大綱...

2021年高職單招升學一對一咨詢小藝老師:18290437291(微信)四川郵電職業技術學院單招計算機應用基礎考試大綱一、考試性質本技能考試是中等職業學校(含普通中專、職業高中、技工學校和成人中專)信息技術類專業畢業生參加四川郵電職業技術學院2016年單獨招生考試。二、考試依據1.…

linux掛載磁盤陣列

linux掛載磁盤陣列 在許多項目中&#xff0c;都會把數據存放于磁盤陣列&#xff0c;以確保數據安全或者實現負載均衡。在初始安裝數據庫系統和數據恢復時&#xff0c;都需要先掛載磁盤陣列到系統中。本文記錄一次在linux系統中掛載磁盤的操作步驟&#xff0c;以及注意事項。 此…

dedecms ---m站功能基礎詳解

織夢2015年6月8日更新后&#xff0c;就添加了很多針對手機移動端的設計&#xff0c;最大的設計就是添加了生成二維碼的織夢標簽和織夢手機模板功能&#xff0c;織夢更新后&#xff0c;默認的 default模板中就包含手機模板&#xff0c;所以我們可以給織夢網站設計雙模板&#xf…

一個小菜鳥給未來的菜鳥們的一丟丟建議

寫這篇文章的主要原因是有個建筑行業的朋友覺得搞建筑身累心累&#xff0c;想轉到我們這個it行業來加入我們的編程大軍中&#xff0c;找我咨詢了一哈。在我了解了他的邏輯和理科這方面只是一般般的基礎上&#xff0c;我給他的建議是&#xff1a;學習前端&#xff0c;而不是后端…

sql橫著連接起來sql_SQL聯接的簡要介紹(到目前為止)

sql橫著連接起來sqlSQL Join是什么意思&#xff1f; (What does a SQL Join mean?) A SQL join describes the process of merging rows in two different tables or files together.SQL連接描述了將兩個不同表或文件中的行合并在一起的過程。 Rows of data are combined bas…

霸縣計算機學校,廊坊中專排名2021

一、招生專業類別專業名稱r制招生人政培養日標備注預備技師數控加工(中心操做工)340格養掌握先進斂p加ot知識&#xff0c;是部創新精神和較a空際操作能力&#xff0c;4了ftc71h0iwro感娶顯型人于-宇缺畢讓生培養具備電氣白動化oirm和o技能&#xff0c;叢事電氣設督安裝、調試、…

《Python》進程收尾線程初識

一、數據共享 from multiprocessing import Manager 把所有實現了數據共享的比較便捷的類都重新又封裝了一遍&#xff0c;并且在原有的multiprocessing基礎上增加了新的機制list、dict 機制&#xff1a;支持的數據類型非常有限 list、dict都不是數據安全的&#xff0c;需要自己…

北京修復宕機故障之旅

2012-12-18日 下午開會探討北京項目出現的一些問題&#xff0c;當時記錄的問題是由可能因為有一定數量的客戶上來后&#xff0c;就造成了Web服務器宕機&#xff0c;而且沒有任何時間上的規律性&#xff0c;讓我準備出差到北京&#xff0c;限定三天時間&#xff0c;以及準備測試…

計算機學院李世杰,有關辦理2016級轉專業學生相關手續通知

《有關辦理2016級轉專業學生相關手續通知》由會員分享&#xff0c;可在線閱讀&#xff0c;更多相關《有關辦理2016級轉專業學生相關手續通知(4頁珍藏版)》請在技術文庫上搜索。1、1 關于辦理 2016 級轉專業學生相關手續的通知 各學院(部)、各相關部門&#xff1a; 根據西安科技…

一般線性模型和混合線性模型_從零開始的線性混合模型

一般線性模型和混合線性模型生命科學的數學統計和機器學習 (Mathematical Statistics and Machine Learning for Life Sciences) This is the eighteenth article from the column Mathematical Statistics and Machine Learning for Life Sciences where I try to explain som…

《企業私有云建設指南》-導讀

內容簡介第1章總結性地介紹了云計算的參考架構、典型解決方案架構和涉及的關鍵技術。 第2章從需求分析入手&#xff0c;詳細講解了私有云的技術選型、資源管理、監控和運維。 第3章從計算、網絡、存儲資源池等方面講解了私有云的規劃和建設&#xff0c;以及私有云建設的總體原則…

vs2005的webbrowser控件如何接收鼠標事件

這個問題來自論壇提問,vs2005的webbrowser控件如何接收鼠標事件&#xff0c;很多事情其實自己動動腦子就有辦法的。主要是3步&#xff0c;給dom對象插入js腳本去響應鼠標-〉通過url跳轉去通知webbrowser-〉截獲跳轉事件去c#中處理 示例代碼&#xff1a; using System; using…

[TimLinux] Python 迭代器(iterator)和生成器(generator)

1. 可迭代對象 from collection import Iterableclass Iterable(metaclassABCMeta):...def __iter__(self): # 只實現了__iter__ 方法while False:yield None 能夠在 for ... in obj&#xff1a;中使用的對象&#xff08;obj&#xff09;就是一個可迭代對象。 2. 迭代器 from …

太原冶金技師學院計算機系,山西冶金技師學院專業都有什么

山西冶金技師學院專業大全大家在考試之后對除了選擇學校之外&#xff0c;還更關注專業的選擇&#xff0c;山西冶金技師學院有哪些專業成了大家最為關心的問題。有些同學一般是選擇好專業再選擇自己滿意的學校&#xff0c;下面小編將為你介紹山西冶金技師學院開設的專業及其哪些…

海南首例供港造血干細胞志愿者啟程赴廣東捐獻

海南首例供港造血干細胞志愿者啟程赴廣東捐獻。 張瑤 攝 海南首例供港造血干細胞志愿者啟程赴廣東捐獻。 張瑤 攝 中新網海口1月23日電 (張茜翼 張瑤)海南省首例供港造血干細胞捐獻者晶晶(化名)23日啟程赴廣東進行捐獻&#xff0c;將于28號正式捐獻采集造血干細胞&#xff0c;為…

如何擊敗Python的問題

Following the previous article written about solving Python dependencies, we will take a look at the quality of software. This article will cover “inspections” of software stacks and will link a free dataset available on Kaggle. Even though the title say…

KindEditor解決上傳視頻不能在手機端顯示的問題

KindEditor自帶的上傳視頻生成的HTML代碼為<embed>&#xff0c;在手機端并不支持。于是可以自己在控件里增加生成video標簽相關代碼。 參考https://www.jianshu.com/p/047198ffed92。。 然而對著修改后沒有成功&#xff0c;可能是那里沒有改對吧。依然生成的是<embed&…

湖北經濟學院的計算機是否強,graphics-ch11-真實感圖形繪制_湖北經濟學院:計算機圖形學_ppt_大學課件預覽_高等教育資訊網...

第十一章 真實感圖形技術1,簡單光照明模型2,多邊形繪制方法3,透明4,整體觀照明模型5,光線跟蹤算法第十章 真實感圖形繪制光照模型 (Illumination Model):計算某一點的光強度的模型11.1 真實感圖形的 特點? 能反映物體表面顏色和亮度的細微變化? 能表現物體表面的質感? 能通過…