http://acm.hdu.edu.cn/showproblem.php?pid=4731

就做了两道...也就这题还能发博客了...虽然也是水题

先暴力DFS打表找规律...发现4个一组循环节...尾部特殊判断....然后构造一下...

#include <cstdio>
#include <string>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int ss;
int f(const string& strs) {
string s("##");
for(string::const_iterator it = strs.begin(); it != strs.end(); ++it) {
s.push_back(*it);
s.push_back('#');
}
int len = s.length(), id = , mx = ;
vector<int> p(len, );
for(int i = ; i < len; ++i) {
p[i] = mx > i ? min(mx - i, p[*id-i]) : ;
while(s[i+p[i]] == s[i-p[i]]) {
++p[i];
}
if(i + p[i] > mx) {
mx = i + p[i];
id = i;
}
}
int start = , sublen = ;
for(int i = ; i < len; ++i) {
if(p[i] > sublen) {
sublen = p[i];
start = i;
}
}
return sublen - ;
}
int main(){
//pre();
int n,m;
int T;
cin>>T;
for(int t = ; t <= T ; t++){
scanf("%d%d",&m,&n);
printf("Case #%d: ",t);
if(m == ){
for(int i = ; i < n ; i++) printf("a");
}
else if(m >= ){
for(int i = ; i < n ; i++) {
if(i% == ) putchar('a');
if(i% == ) putchar('b');
if(i% == ) putchar('c');
}
}else if(m == ){
if(n == ) printf("a");
if(n == ) printf("ab");
if(n == ) printf("aab");
if(n == ) printf("aabb");
if(n == ) printf("aaaba");
if(n == ) printf("aaabab");
if(n == ) printf("aaababb");
if(n == ) printf("aaababbb");
if(n >= ){
string a = "aaaa";
for(int i = ; i < n ;){
if(i+<n) {
a+="babb";
i+=;
}
if(i+>=n) {
if(i+==n) a+="a";
if(i+==n) a+="aa";
if(i+==n) a+="aaa";
if(i+==n) a+="aaaa";
break;
}
if(i+<n) {
a+="aaba";
i+=;
}
if(i+>=n) {
if(i+==n) a+="b";
if(i+==n) a+="bb";
if(i+==n) a+="bba";
if(i+==n) a+="bbaa";
break;
}
if(i+<n) {
a+="bbaa";
i+=;
}
if(i+>=n) {
if(i+==n) a+="a";
if(i+==n) a+="aa";
if(i+==n) a+="bab";
if(i+==n) a+="babb";
break;
}
}
cout<<a;
}
}
putchar('\n');
}
return ;
}

HDU 4731 Minimum palindrome 打表找规律的更多相关文章

  1. HDU 3032 (SG打表找规律)

    题意: 有n堆石子,alice先取,每次可以选择拿走一堆石子中的1~x(该堆石子总数) ,也可以选择将这堆石子分成任意的两堆.alice与bob轮流取,取走最后一个石子的人胜利. 思路: 因为数的范围 ...

  2. 数学--数论--HDU - 6124 Euler theorem (打表找规律)

    HazelFan is given two positive integers a,b, and he wants to calculate amodb. But now he forgets the ...

  3. HDU 4731 Minimum palindrome (2013成都网络赛,找规律构造)

    Minimum palindrome Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  4. HDU 4731 Minimum palindrome (找规律)

    M=1:aaaaaaaa…… M=2:DFS+manacher, 暴出N=1~25的最优解,找规律.N<=8的时候直接输出,N>8时,头两个字母一定是aa,剩下的以aababb循环,最后剩 ...

  5. HDU 4731 Minimum palindrome 2013 ACM/ICPC 成都网络赛

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4731 题解:规律题,我们可以发现当m大于等于3时,abcabcabc……这个串的回文为1,并且字典数最小 ...

  6. hdu 3032 Nim or not Nim? (SG函数博弈+打表找规律)

    Nim or not Nim? Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Sub ...

  7. HDU 5753 Permutation Bo (推导 or 打表找规律)

    Permutation Bo 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5753 Description There are two sequen ...

  8. HDU 5795 A Simple Nim(SG打表找规律)

    SG打表找规律 HDU 5795 题目连接 #include<iostream> #include<cstdio> #include<cmath> #include ...

  9. HDU 4861 Couple doubi (数论 or 打表找规律)

    Couple doubi 题目链接: http://acm.hust.edu.cn/vjudge/contest/121334#problem/D Description DouBiXp has a ...

随机推荐

  1. pc端如何引用日期插件

    页面的html部分 <li> <span>出生日期</span> <input type="text" placeholder=" ...

  2. NOIP2017 Day-1 模板荟萃

    #include<bits/stdc++.h> #define MAXN 100005 using namespace std; int read(){ ;char c=getchar() ...

  3. Python IO编程-组织文件

    对于日常中遇到的批量任务,有些可以通过请求python完成自动化,我非常渴望拥有这些能力,在去年学习了python读写文件之后,我马上迫不及待的开始学习‘组织文件’,经过学习,我发现python组织文 ...

  4. hdu-1342 Lotto

    http://acm.hdu.edu.cn/showproblem.php? pid=1342 题意:以升序的形式给定k个数.输出从中挑选6个数满足升序的全部情况. 思路:两个參数.第一个保存当前搜索 ...

  5. DECLARE CURSOR (Transact-SQL)

    Defines the attributes of a Transact-SQL server cursor, such as its scrolling behavior and the query ...

  6. 16.C语言可变参数

    //可变参数实现多个参数求和 1 #define _CRT_SECURE_NO_WARNINGS #include <stdlib.h> #include <stdio.h> ...

  7. 深入理解Android(5)——从MediaScanner分析Android中的JNI

    前面几篇介绍了Android中的JNI和基本用法,这一篇我们通过分析Android源代码中的JNI实例,来对JNI部分做一个总结. 一.通向两个不同世界的桥梁 在前面我们说过,JNI就像一个桥梁,将J ...

  8. 好吧,左小波出山了——ie8兼容indexOf问题

    我,还是一个不懂世事的毛头小子,第一次写博.万事开头难,没事咱慢慢来.咳,练文笔吗.我觉得写东西最锻炼逻辑思维,我是一个不善于表达的人,可能是程序员的通病,但你看看人家王小波,八九十年代的作家兼职程序 ...

  9. 【Linux下禁用rm命令之建立回收站】

    第一步 创建回收站目录 # 根据自己的习惯,找个位置创建一个用作回收文件的目录 # 我们这里将在root目录下面创建一个名为".trash"的隐藏文件 [root@fedora ~ ...

  10. python + eclipse + django + postgresql 开发网站(二)

    引用与参考 http://www.cnblogs.com/lanxuezaipiao/p/3283932.html python2.7  django1.6 1.新建Django项目