最小表示法(字符串同构字典序最值) original link - http://poj.org/problem?id1509题意求出一个字符串的循环同构中字典序最小的那个。解析假设定下两个指针i,ji,ji,j考虑比较这两个位置开始的字典序。往后延直到遇到一个不一样的字符然后比较这对字符的大小。假设中间走过kkk个相同的字符然后得出ilt;jilt;jij那么显然对于[i,ik][i,ik][i,ik]这些位置都在[j,jk][j,jk][j,jk]的位置存在更优解。所以我们让i→ik1i\to ik1i→ik1。同理igt;jigt;jij时跳转j→jk1j\to jk1j→jk1。由于两个指针都最多只跳转nnn次所以时间复杂度O(2n)O(2n)O(2n)。代码/* * Author : Jk_Chen * Date : 2019-09-01-09.34.36 */#includestdio.h#includemath.h#includeiostream#includealgorithm#includestring.husingnamespacestd;#defineLL long long#definerep(i,a,b) for(int i(int)(a);i(int)(b);i)#defineper(i,a,b) for(int i(int)(a);i(int)(b);i--)#definemmm(a,b) memset(a,b,sizeof(a))#definepb push_back#definepill pairint, int#definefi first#definese second#definedebug(x) cerr#x x\n;constLL mod1e97;constintmaxn1e49;LLrd(){LL ans0;charlast ,chgetchar();while(!(ch0ch9))lastch,chgetchar();while(ch0ch9)ansans*10ch-0,chgetchar();if(last-)ans-ans;returnans;}/*_________________________________________________________head*/charx[maxn];intmain(){inttrd();while(t--){gets(x);intlenstrlen(x);inti0,j1,k0;while(ilenjlenklen){intcmpx[(ik)%len]-x[(jk)%len];if(!cmp){k;}else{if(cmp0)ik1;elsejk1;if(ij)j;k0;}}intposmin(i,j);// 解的位置printf(%d\n,pos1);}return0;}

相关新闻

最新新闻

C++修仙指南:从零开销抽象到智能指针,掌握核心心法与实战神通

C++修仙指南:从零开销抽象到智能指针,掌握核心心法与实战神通

1. 项目概述:为什么是“修仙版”? 如果你在搜索引擎里敲下“C基础教程”,大概率会得到一堆从“Hello World”开始的、按部就班的教科书。变量、循环、函数、类……章节分明,逻辑严谨,但也常常让人在指针和内存管理面前…

2026/7/28 19:37:21
shell编程基础

shell编程基础

一、编写shell脚本 [rootlocalhost ~]# vim jishu.sh #!/bin;bash #Filename : jichu.sh #Auther : name #Date 2019-09-01 二、执行shell脚本相对路径绝对路径sh 或 bash 脚本路径source 或 . 脚本路径例:[rootlocalhost ~]# source jishu.sh #在当前shell下执行…

2026/7/28 19:37:21
孩子三句话触动父母心的心理学解读

孩子三句话触动父母心的心理学解读

1. 为什么孩子的这三句话如此打动父母?最近在家长群里疯传一个话题:孩子不经意间说的三句话,让无数父母瞬间破防。作为两个孩子的父亲,我深有体会——当孩子用稚嫩的声音说出"妈妈/爸爸,我永远爱你"、"…

2026/7/28 19:37:21
旧物改造:从铁皮盒到二次元展示盒的完整DIY指南

旧物改造:从铁皮盒到二次元展示盒的完整DIY指南

1. 项目概述:从“小红盒”到“二次元之门”的蜕变最近在整理房间时,翻出了一个尘封已久的“小红盒”——一个几年前买来装杂物的红色铁皮收纳盒。看着它方正、单调的样子,一个念头突然冒了出来:能不能把它改造成一个独一无二的、充…

2026/7/28 19:37:21
如何免费使用Adobe Creative Cloud:GenP 3.0完整破解教程

如何免费使用Adobe Creative Cloud:GenP 3.0完整破解教程

如何免费使用Adobe Creative Cloud:GenP 3.0完整破解教程 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP 你是否渴望使用Photoshop、Premiere Pro等专业…

2026/7/28 19:37:21
SSRF与Redis未授权访问漏洞组合攻击解析

SSRF与Redis未授权访问漏洞组合攻击解析

1. SSRF与Redis未授权访问漏洞解析当SSRF(服务器端请求伪造)遇上Redis未授权访问漏洞,这两个看似独立的安全问题会产生11>2的破坏效果。我在渗透测试工作中发现,这种组合漏洞在互联网上广泛存在,且利用门槛极低。Re…

2026/7/28 19:32:21

月新闻