题目:http://acm.hdu.edu.cn/showproblem.php?pid=4162

题意:给定一个只有0-7数字组成的串。现在要由原串构造出一个新串,新串的构造方法:相邻2个位置的数字的差值。若为负数则要加上8,问新构造出来的串的一个字典序最小同构串是什么?

思路:就按照题意构造出新串后,然后就是最小表示法了。

  1. #define _CRT_SECURE_NO_DEPRECATE
  2. #include<iostream>
  3. #include<cstdio>
  4. #include<cstring>
  5. #include<string>
  6. #include<cmath>
  7. #include<algorithm>
  8. #include<vector>
  9. using namespace std;
  10. const int MAXN = + ;
  11. typedef long long int LL;
  12. #define INF 0x3f3f3f3f
  13. int MinRepresentation(int *s,int l){
  14. int i = , j = , k = ;
  15. while (i < l&&j < l&&k < l){
  16. int li, lj;
  17. li = (i + k) >= l ? i + k - l : i + k;
  18. lj = (j + k) >= l ? j + k - l : j + k;
  19. if (s[li] == s[lj]){
  20. k++;
  21. }
  22. else{
  23. if (s[li]>s[lj]){
  24. i = i + k + ;
  25. }
  26. else{
  27. j = j + k + ;
  28. }
  29. if (i == j){
  30. j++;
  31. }
  32. k = ;
  33. }
  34. }
  35. return i < j ? i : j;
  36. }
  37. int str[MAXN];
  38. char s[MAXN];
  39. int main()
  40. {
  41. while (~scanf("%s", s)){
  42. int len = strlen(s);
  43. for (int i = ; i < len; i++){ //构造新串
  44. if (i == len - ){
  45. str[i] = (((s[] - '') + - (s[i] - '')) % );
  46. }
  47. else{
  48. str[i] = (((s[i+] - '') + - (s[i] - '')) % );
  49. }
  50. }
  51. int start = MinRepresentation(str,len);
  52. for (int i = ; i < len; i++){
  53. printf("%d", str[(start + i) % len]);
  54. }
  55. printf("\n");
  56. }
  57. return ;
  58. }

HDU 4162 最小表示法的更多相关文章

  1. HDU 2609 最小表示法

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2609 题意:给定n个循环链[串],问有多少个本质不同的链[串](如果一个循环链可以通过找一个起点使得和 ...

  2. String Problem hdu 3374 最小表示法加KMP的next数组

    String Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  3. HDU 4162 Shape Number(字符串,最小表示法)

    HDU 4162 题意: 给一个数字串(length <= 300,000),数字由0~7构成,求出一阶差分码,然后输出与该差分码循环同构的最小字典序差分码. 思路: 第一步是将差分码求出:s[ ...

  4. HDU 4162 Shape Number (最小表示法)

    题意:给你一串n个数,求出循环来看一阶差的最小字典序:数字串看成一个顺时针的环,从某一点开始顺时针循环整个环,保证字典序最小就是答案 例如给你 2 1 3 就会得到(1-2+8 注意题意负数需要加8) ...

  5. HDU 3374 最小/大表示法+KMP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3374 题意:给定一个串s,该串有strlen(s)个循环同构串,要求输出字典序最小的同构串的下标,字典 ...

  6. hdu String Problem(最小表示法入门题)

    hdu 3374 String Problem 最小表示法 view code#include <iostream> #include <cstdio> #include &l ...

  7. Hdu 5442 Favorite Donut (2015 ACM/ICPC Asia Regional Changchun Online 最大最小表示法 + KMP)

    题目链接: Hdu 5442 Favorite Donut 题目描述: 给出一个文本串,找出顺时针或者逆时针循环旋转后,字典序最大的那个字符串,字典序最大的字符串如果有多个,就输出下标最小的那个,如果 ...

  8. HDU - 3374 String Problem (kmp求循环节+最大最小表示法)

    做一个高产的菜鸡 传送门:HDU - 3374 题意:多组输入,给你一个字符串,求它最小和最大表示法出现的位置和次数. 题解:刚刚学会最大最小表示法,amazing.. 次数就是最小循环节循环的次数. ...

  9. Favorite Donut(HDU 5442)最小表示法+二分

    题目给出一个字符串,由a~z表示甜度,随字典序增大,字符串首尾相连形成一个圈,要求从一个位置开始字典序最大的字符串,输出位置以及是顺时针还是逆时针表示.顺时针用0表示,逆时针用1表示. 此题只需要查找 ...

随机推荐

  1. 常用js学习

    http://www.cnblogs.com/qiantuwuliang/tag/js/

  2. spring mvc配置完后实现下载功能

    实现是前台: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEn ...

  3. 【leetcode】Combination Sum III(middle)

    Find all possible combinations of k numbers that add up to a number n, given that only numbers from ...

  4. 【编程题目】一个整数数组,长度为 n,将其分为 m 份,使各份的和相等,求 m 的最大值★★ (自己没有做出来!!)

    45.雅虎(运算.矩阵): 2.一个整数数组,长度为 n,将其分为 m 份,使各份的和相等,求 m 的最大值 比如{3,2,4,3,6} 可以分成 {3,2,4,3,6} m=1; {3,6}{2,4 ...

  5. MyBatis之多表关联查询

    1使用resultType.ResultMap处理返回结果 处理返回结果 resultType:指定返回值结果的完全限定名,处理多表查询的结果. 多表查询需要定义vo封装查询的结果. 需求:查询部门和 ...

  6. log4j介绍以及使用教程

    一.介绍 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接 口服务 器.NT的事件记录器.UNIX Syslog ...

  7. DB2 上copy表结构及数据

    现已有一行数据,要复制为多行,每行只有两个字段值不同,db2 没有sql server的top关键字,本只想复制几次,然后update逐条数据,发现不行. 然后想到不如临时创建一张表B,插入此行数据, ...

  8. 用java来删除数组中指定的元素

    public static void main(String[] args){        String[] a = new String[]{"1","5" ...

  9. 深入理解SELinux SEAndroid

    参考文章: 一. http://blog.csdn.net/innost/article/details/19299937 二. http://blog.csdn.net/innost/article ...

  10. 让那些为Webkit优化的网站也能适配IE10(转载)

    转载地址:http://www.w3cplus.com/css3/adapting-your-webkit-optimized-site-for-internet-explorer-10.html 特 ...