洛谷P1709 [USACO5.5]隐藏口令Hidden Password
P1709 [USACO5.5]隐藏口令Hidden Password
题目描述
有时候程序员有很奇怪的方法来隐藏他们的口令。Binny会选择一个字符串S(由N个小写字母组成,5<=N<=5,000,000),然后他把S顺时针绕成一个圈,每次取一个做开头字母并顺时针依次取字母而组成一个字符串。这样将得到一些字符串,他把它们排序后取出第一个字符串。把这个字符串的第一个字母在原字符串中的位置-1做为口令。
如字符串alabala,按操作的到7个字符串,排序后得:
aalabal
abalaal
alaalab
alabala
balaala
laalaba
labalaa
第一个字符串为aalabal,这个a在原字符串位置为7,7-1=6,则6为口令。
输入输出格式
输入格式:
第一行:一个数:N
第二行开始:字符串:S(每72个字符一个换行符)
输出格式:
一行,为得到的口令
输入输出样例
7 anabana
6
说明
题目满足:
30%的数据n<=10000
70%的数据n<=100000
100%的数据n<=5000000
时限 1s
题目翻译来自NOCOW。
USACO Training Section 5.5
//20170523新增数据四组
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int n,ans; string s,ss,snow; int main(){freopen("Cola.txt","r",stdin);scanf("%d",&n);int tim=n/72;if(n/72*72!=n)tim++;for(int i=1;i<=tim;i++){cin>>ss;s+=ss;}s+=s;snow=s.substr(0,n);for(int i=1;i<n;i++){//枚举起点 for(int j=i,cnt=0;cnt<n;cnt++,j++){if(snow[cnt]==s[j])continue;if(snow[cnt]<s[j])break;if(snow[cnt]>s[j]){snow=s.substr(i,n);ans=i;break;}}}cout<<ans; }
93分 暴力
#include <bits/stdc++.h> using namespace std; const int maxn=5000110; int n; char s[maxn*2]; int Mini(int l){ int i,j,k; i=0;j=1;k=0; while(i<l&&j<l){ k=0; while(s[i+k]==s[j+k]&&k<l) k++; if(k==l)return (i<j)?i:j; if(s[i+k]>s[j+k])i=i+k+1;else j=j+k+1;if(i==j)j++;} return (i<j)?i:j; } int main(){cin>>n;for(int i=0;i<n;i++){cin>>s[i];s[i+n]=s[i];}int l=Mini(n);cout<<l<<endl;return 0; }
100分 贪心
转载于:https://www.cnblogs.com/thmyl/p/7799198.html
洛谷P1709 [USACO5.5]隐藏口令Hidden Password相关推荐
- [洛谷P1856] [USACO5.5]矩形周长Picture
洛谷题目链接:[USACO5.5]矩形周长Picture 题目背景 墙上贴着许多形状相同的海报.照片.它们的边都是水平和垂直的.每个矩形图片可能部分或全部的覆盖了其他图片.所有矩形合并后的边长称为周长 ...
- 洛谷1345 [Usaco5.4]奶牛的电信
题目描述 农夫约翰的奶牛们喜欢通过电邮保持联系,于是她们建立了一个奶牛电脑网络,以便互相交流.这些机器用如下的方式发送电邮:如果存在一个由c台电脑组成的序列a1,a2,...,a(c),且a1与a2相 ...
- 洛谷 P2746 [USACO5.3]校园网Network of Schools (Tarjan,SCC缩点,DAG性质)
P2746 [USACO5.3]校园网Network of Schools https://www.luogu.org/problem/P2746 题目描述 一些学校连入一个电脑网络.那些学校已订立了 ...
- 洛谷 P2746 [USACO5.3]校园网Network of Schools
题目描述 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作"接受学校").注意即使 B 在 A 学校的分发列表中, A 也不一定在 B 学 ...
- 洛谷 P2749 [USACO5.1]【夜空繁星Starry Night】
题目背景 高高的星空,簇簇闪耀的群星形态万千.一个星座(cluster)是一群连通的星组成的非空连通星系,这里的连通是指水平,垂直或者对角相邻的两个星星.一个星座不能是另一个更大星座的一部分, 星座可 ...
- 洛谷P2746 [USACO5.3]校园网Network of Schools
题目描述 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作"接受学校").注意即使 B 在 A 学校的分发列表中, A 也不一定在 B 学 ...
- 拆分-洛谷P2745 [USACO5.3]窗体面积Window Area
https://www.luogu.org/problem/show?pid=2745 本来因为会WA的,结果AC了,啊哈哈哈哈哈哈哈哈哈 因为题目要求我们要把一个个平面有先后关系,那么我们就搞一个队 ...
- 洛谷P1856 [USACO5.5]矩形周长Picture
题目背景 墙上贴着许多形状相同的海报.照片.它们的边都是水平和垂直的.每个矩形图片可能部分或全部的覆盖了其他图片.所有矩形合并后的边长称为周长. 题目描述 编写一个程序计算周长. 如图1所示7个矩形. ...
- 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn
题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...
最新文章
- windbg+VM 设置内核调试环境(双机调试)
- 今日小程序推荐:香蕉打码-二维码随意生成
- 来自闪闪宝石的光芒 - “宝石迷阵” x 信息检索 | 论文访谈间 #20
- 《左手MongoDB右手Redis》第3章笔记-robo3t上进行增删改查
- 《从零开始学Swift》学习笔记(Day 20)——函数中参数的传递引用
- 案例篇-HBase 实战之 MOB 使用指南
- java三年技术差_3年经验Java程序员面阿里P6 差距在哪里
- JavaScript函数重载(js函数重载)
- 计算机设备问题代码43,双击unknown device由于该设备有问题Windows已将其停止(代码 43)怎么办解决教程...
- c语言存储转置矩阵,C语言实现矩阵转置(附带源码)
- Foxmail添加163邮箱账号的方法
- 1.scrapy项目创建——python scrapy 爬取新浪财经财经新闻
- python把文件转化为二进制流-python:将一个文件转换为二进制文件(binary)
- 如何验证服务器有没ftp服务,如何检查ftp服务器是否联机并获取它未生成的错误?...
- 2022年河南省高职单招(综合素质)考试冲刺试题及答案
- 更换cpu后 unraid 无法启动web,提示PTE Read access is not set
- opencv实时识别指定物体
- 江西副省长吴忠琼接见孙立一行,共话打造世界级XR产业中心
- 【优化求解-单目标求解】基于黑猩猩算法求解单目标问题matlab源码
- 移动工具 证件照的设置
热门文章
- python print()内置函数
- 正则表达式使用及常见表达式汇总
- Linux下配置tomcat+apr+native应对高并发
- mat工具MemoryAnalyzer进行分析java内存溢出hprof文件
- JS template string 神奇术
- linux-impdp的使用
- win2008下的无线网卡设置
- from torch._C import * ImportError: DLL load failed解决方法
- RabbitMQ,RabbitMQ 的工作模式,Spring 整合 RabbitMQ,Springboot 整合RabbitMQ
- 搜狗浏览器,你开源了吗?