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个字符一个换行符)

输出格式:

一行,为得到的口令

输入输出样例

输入样例#1: 复制

7
anabana

输出样例#1: 复制

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相关推荐

  1. [洛谷P1856] [USACO5.5]矩形周长Picture

    洛谷题目链接:[USACO5.5]矩形周长Picture 题目背景 墙上贴着许多形状相同的海报.照片.它们的边都是水平和垂直的.每个矩形图片可能部分或全部的覆盖了其他图片.所有矩形合并后的边长称为周长 ...

  2. 洛谷1345 [Usaco5.4]奶牛的电信

    题目描述 农夫约翰的奶牛们喜欢通过电邮保持联系,于是她们建立了一个奶牛电脑网络,以便互相交流.这些机器用如下的方式发送电邮:如果存在一个由c台电脑组成的序列a1,a2,...,a(c),且a1与a2相 ...

  3. 洛谷 P2746 [USACO5.3]校园网Network of Schools (Tarjan,SCC缩点,DAG性质)

    P2746 [USACO5.3]校园网Network of Schools https://www.luogu.org/problem/P2746 题目描述 一些学校连入一个电脑网络.那些学校已订立了 ...

  4. 洛谷 P2746 [USACO5.3]校园网Network of Schools

    题目描述 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作"接受学校").注意即使 B 在 A 学校的分发列表中, A 也不一定在 B 学 ...

  5. 洛谷 P2749 [USACO5.1]【夜空繁星Starry Night】

    题目背景 高高的星空,簇簇闪耀的群星形态万千.一个星座(cluster)是一群连通的星组成的非空连通星系,这里的连通是指水平,垂直或者对角相邻的两个星星.一个星座不能是另一个更大星座的一部分, 星座可 ...

  6. 洛谷P2746 [USACO5.3]校园网Network of Schools

    题目描述 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作"接受学校").注意即使 B 在 A 学校的分发列表中, A 也不一定在 B 学 ...

  7. 拆分-洛谷P2745 [USACO5.3]窗体面积Window Area

    https://www.luogu.org/problem/show?pid=2745 本来因为会WA的,结果AC了,啊哈哈哈哈哈哈哈哈哈 因为题目要求我们要把一个个平面有先后关系,那么我们就搞一个队 ...

  8. 洛谷P1856 [USACO5.5]矩形周长Picture

    题目背景 墙上贴着许多形状相同的海报.照片.它们的边都是水平和垂直的.每个矩形图片可能部分或全部的覆盖了其他图片.所有矩形合并后的边长称为周长. 题目描述 编写一个程序计算周长. 如图1所示7个矩形. ...

  9. 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn

    题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...

最新文章

  1. windbg+VM 设置内核调试环境(双机调试)
  2. 今日小程序推荐:香蕉打码-二维码随意生成
  3. 来自闪闪宝石的光芒 - “宝石迷阵” x 信息检索 | 论文访谈间 #20
  4. 《左手MongoDB右手Redis》第3章笔记-robo3t上进行增删改查
  5. 《从零开始学Swift》学习笔记(Day 20)——函数中参数的传递引用
  6. 案例篇-HBase 实战之 MOB 使用指南
  7. java三年技术差_3年经验Java程序员面阿里P6 差距在哪里
  8. JavaScript函数重载(js函数重载)
  9. 计算机设备问题代码43,双击unknown device由于该设备有问题Windows已将其停止(代码 43)怎么办解决教程...
  10. c语言存储转置矩阵,C语言实现矩阵转置(附带源码)
  11. Foxmail添加163邮箱账号的方法
  12. 1.scrapy项目创建——python scrapy 爬取新浪财经财经新闻
  13. python把文件转化为二进制流-python:将一个文件转换为二进制文件(binary)
  14. 如何验证服务器有没ftp服务,如何检查ftp服务器是否联机并获取它未生成的错误?...
  15. 2022年河南省高职单招(综合素质)考试冲刺试题及答案
  16. 更换cpu后 unraid 无法启动web,提示PTE Read access is not set
  17. opencv实时识别指定物体
  18. 江西副省长吴忠琼接见孙立一行,共话打造世界级XR产业中心
  19. 【优化求解-单目标求解】基于黑猩猩算法求解单目标问题matlab源码
  20. 移动工具 证件照的设置

热门文章

  1. python print()内置函数
  2. 正则表达式使用及常见表达式汇总
  3. Linux下配置tomcat+apr+native应对高并发
  4. mat工具MemoryAnalyzer进行分析java内存溢出hprof文件
  5. JS template string 神奇术
  6. linux-impdp的使用
  7. win2008下的无线网卡设置
  8. from torch._C import * ImportError: DLL load failed解决方法
  9. RabbitMQ,RabbitMQ 的工作模式,Spring 整合 RabbitMQ,Springboot 整合RabbitMQ
  10. 搜狗浏览器,你开源了吗?