【洛谷 P1659】 [國家集訓隊]拉拉隊排練(manacher)

題目鏈接
馬拉車+簡單膜你

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int MAXN = 11000010;
const int MOD = 19930726;
char b[MAXN], a[MAXN << 1];
int hw[MAXN << 1], ans = 1, n, c[MAXN];
#define ll long long
ll now, m;
int fast_pow(int a, ll k){int ans = 1;while(k){if(k & 1) ans = (ll)ans * a % MOD;a = (ll) a * a % MOD;k >>= 1;}return ans;
}
int main(){scanf("%d%lld", &n, &m);scanf("%s", b);a[0] = a[1] = '#';for(int i = 0; i < n; ++i)a[(i << 1) + 2] = b[i], a[(i << 1) + 3] = '#';int maxright = 0, mid; n = (n << 1) + 3;for(int i = 1; i < n; ++i){if(i < maxright)hw[i] = min(hw[(mid << 1) - i], hw[mid] + mid - i);else hw[i] = 1;while(a[i + hw[i]] == a[i - hw[i]]) ++hw[i];if(hw[i] + i > maxright){maxright = hw[i] + i;mid = i;}++c[hw[i] - 1];}for(int i = (n - 3) >> 1; i; --i){if(i & 1 ^ 1) continue;now += c[i];if(m <= now){ ans = (ll) ans * fast_pow(i, m) % MOD; m = 0; break; }m -= now; ans = (ll) ans * fast_pow(i, now) % MOD;}if(m) ans = -1;printf("%d\n", ans);return 0;
}

轉載于:https://www.cnblogs.com/Qihoo360/p/10848541.html

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

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

相關文章

Judy Beta 第三天

概述 前端部分對于打包的流程以及相關 package.json 的配置都已經比較熟悉了&#xff0c;目前主要負責對新實現的 feature 做測試&#xff0c;以及參考 DAP 為后端明確數據交換的格式及參數內容等。 后端部分按照更新的 wiki 實現了變量展開&#xff0c;并且根據 DAP 的協議流程…

oracle表空間不足

oracle表空間不足&#xff0c;一般有兩個原因&#xff1a;一&#xff0c;原表空間太小&#xff0c;沒有自增長&#xff1b;二&#xff0c;表空間已自增長&#xff0c;而且表空間也已足夠大&#xff0c;對于這兩種原因分別有各自的解決辦法。 【檢查原因】 1、查看表在那個表空…

python學習中遇到的問題

2019獨角獸企業重金招聘Python工程師標準>>> def contract_str():index 8db_size 8new_table_name b_str(index & (db_size-1))print new_table_name ImportError: No module named mysql.connector import mysql.connector as sql_connector Python保存時提…

Arcgis 使用ArcToolbox實現數據統計

在ArcMap中打開ArcToolbox&#xff0c; ->Data Managerment Tools ->General ->Add你需要統計的所有數據轉載于:https://www.cnblogs.com/CoffeeEddy/p/10161863.html

oracle分區索引及循環插入

表可以按range、hash、list分區&#xff0c;表分區后&#xff0c;其上的索引和普通表上的索引有所不同&#xff0c;oracle對于分區表上的索引分為2類&#xff0c;即局部索引和全局索引&#xff0c;下面分別對這2種索引的特點和局限性做個總結。 局部索引local index 1.局部索引…

classloader.getresources() 介紹

轉載自&#xff1a; https://www.cnblogs.com/bhlsheji/p/4095699.html ◆普通情況下,我們都使用相對路徑來獲取資源,這種靈活性比較大. 比方當前類為com/bbebfe/Test.class 而圖像資源比方sample.gif應該放置在com/bbebfe/sample.gif 而假設這些圖像資源放置在icons文件夾下,則…

Anti-Aliasing SSAA MSAA MLAA SRAA 簡介

http://blog.csdn.net/codeboycjy/article/details/6312758 前兩天在瀏覽游民星空的時候&#xff0c;小編居然在文章中掛了一篇技術文章&#xff0c;是關于SRAA的。對于AA的了解很少&#xff0c;正好入職之前還有幾天的空閑時間&#xff0c;所以就這個機會把AA的一些基本算法簡…

MyBatis多數據源配置(讀寫分離)

MyBatis多數據源配置(讀寫分離) 首先說明&#xff0c;本文的配置使用的最直接的方式&#xff0c;實際用起來可能會很麻煩。 實際應用中可能存在多種結合的情況&#xff0c;你可以理解本文的含義&#xff0c;不要死板的使用。 多數據源的可能情況 1.主從 通常是MySQL一主多…

UI簡單工作

UI用戶界面 需求——效果圖——風格設計——高保證效果——html 網頁的寬度屏幕的寬度-縱向滾動條的寬度 企業網站一般是1280 根據百度流量研究所 目前我們的網頁注主要是1024和1200 這樣的寬度符合大體市場 首屏高度。 首屏的概念來源于出版領域 報紙折疊后販賣&…

MySQL分庫分表總結

MySQL分庫分表總結&#xff1a; 單庫單表 &#xff1a; 單庫單表是最常見的數據庫設計&#xff0c;例如&#xff0c;有一張用戶(user)表放在數據庫db中&#xff0c;所有的用戶都可以在db庫中的user表中查到。 單庫多表 &#xff1a; 隨著用戶數量的增加&#xff0c;user表的數…

3章 RxJava操作符

本篇文章已授權微信公眾號 YYGeeker 獨家發布轉載請標明出處 CSDN學院課程地址 RxJava2從入門到精通-初級篇:edu.csdn.net/course/deta…RxJava2從入門到精通-中級篇:edu.csdn.net/course/deta…RxJava2從入門到精通-進階篇:edu.csdn.net/course/deta…RxJava2從入門到精通-源碼…

virtualbox 使用

實現文件拖拽功能 1、設備 -- 安裝增強功能 -- /bin/sh VboxLinuxaddition.run -- reboot 2、設備 -- 拖放 -- 雙向 3、虛擬機 -- 設置 -- 存儲 -- 控制器&#xff1a;SATA -- 勾選 使用主機輸入輸出&#xff08;I\O 緩存&#xff09; 4、虛擬機硬盤 -- 勾選固態驅動器 轉載于…

linux安裝mysql 5.6.33

.到MySQL官網下載mysql編譯好的二進制安裝包&#xff0c;在下載頁面Select Platform:選項選擇linux-generic&#xff0c;然后把頁面拉到底部&#xff0c;64位系統下載Linux - Generic (glibc 2.5) (x86, 64-bit)&#xff0c;下載后文件名&#xff1a;mysql-5.6.33-linux-glibc2…

Go 函數特性和網絡爬蟲示例

爬取頁面 這篇通過網絡爬蟲的示例&#xff0c;來了解 Go 語言的遞歸、多返回值、延遲函數調用、匿名函數等方面的函數特性。首先是爬蟲的基礎示例&#xff0c;下面兩個例子展示通過 net/http 包來爬取頁面的內容。 獲取一個 URL 下面的程序展示從互聯網獲取信息&#xff0c;獲…

Qt的安裝和使用中的常見問題(詳細版)

對于太長不看的朋友&#xff0c;可參考Qt的安裝和使用中的常見問題&#xff08;簡略版&#xff09;。 目錄 1、引入2、Qt簡介3、Qt版本 3.1 查看安裝的Qt版本3.2 查看當前項目使用的Qt版本3.3 查看當前項目使用的QtCreator版本3.4 Linux命令行下查看和使用不同版本的Qt4、Qt模塊…

python與C#的互相調用

python與C#的互相調用一、C#調用python新建一個項目&#xff0c;添加引用&#xff1a;IronPython.dll&#xff0c;Microsoft.Scripting.dll&#xff08;在IronPython的安裝目錄中&#xff09;。創建一個文本文件命名為hello.py,把該文件添加的當前的項目中,并設置為總是輸出。#…

各行業大數據可視化界面參考

轉載于:https://www.cnblogs.com/wangsongbai/p/10178096.html

mysql遠程連接 Host * is not allowed to connect to this MySQL server

localhost改成% 進入mysql的BIN目錄 代碼如下 復制代碼 mysql -u root -p mysql>use mysql; mysql>update user set host ’%where user ’root’; mysql>flush privileges; 具體分析 1、在本機登入mysql后&#xff0c;更改“mysql”數據庫里的“user”表里的“h…

今日聽聞這幾款手機軟件比較火爆 果然名不虛傳!

如今的時代&#xff0c;智能手機已經成為我們生活中不可缺少的一部分&#xff0c;大家之所以這么愛玩手機&#xff0c;其實并不是手機本身有多么吸引人&#xff0c;而是安裝在手機上的各種各樣的APP&#xff0c;比如各種社交軟件、音頻軟件、購物軟件以及地圖軟件等等。下面我們…

setdefault()方法

setdefault()方法 描述 字典 setdefault() 方法和 get()方法類似,返回指定鍵的值&#xff0c;如果鍵不在字典中&#xff0c;將會添加鍵并將值設置為一個指定值&#xff0c;默認為None。 get() 和 setdefault() 區別&#xff1a; setdefault() 返回的鍵如果不在字典中&#xff0…