TTTTTTTTTTTTTTTTTTT UVA 2045 Richness of words
Time Limit:500MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u
Description
Input
Output
Sample Input
| input | output |
|---|---|
4 |
1 : NO |
题意:给你一个数字n(n<=2000),for(int i=1;i<=n;i++),如果存在一个长为n的字符串,且其中有i个回文串,则输出
该字符串,否则输出NO;
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <vector>
#include <queue>
#include <cstring>
#include <string>
#include <algorithm>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define MM(a,b) memset(a,b,sizeof(a));
#define inf 0x7f7f7f7f
#define FOR(i,n) for(int i=1;i<=n;i++)
#define CT continue;
#define PF printf
#define SC scanf
const int mod=1000000007;
const int N=1e6+10; char s[2005][2005];
int flag[2005];
int main()
{
int n;
while(~scanf("%d",&n))
{
MM(s,'\0');
if(n==1) {printf("1 : a\n");continue;}
if(n==2) {
printf("1 : NO\n");
printf("2 : ab\n");
continue;
} for(int i=1;i<=3;i++) s[n][i]='a'+i-1;
for(int i=4;i<=n;i++) s[n][i]='z';
int p=3;
for(int i=n-1;i>=1;i--)
{
int j;
for(j=1;j<=p;j++)
s[i][j]=s[i+1][j];
if(s[i][p]=='a') s[i][j]='b';
if(s[i][p]=='b') s[i][j]='c';
if(s[i][p]=='c') s[i][j]='a';
for(j++;j<=n;j++) s[i][j]='z';
p++;
}
for(int i=1;i<=2;i++) printf("%d : NO\n",i);
for(int i=3;i<=n;i++) printf("%d : %s\n",i,s[i]+1);
}
return 0;
}
分析:刚开始想的是比如n==30,,那么首先就是
aaaaabcdefg...xyz,
aaaaabcaefg....zyz
aaaaabcaafg....xyz;
这样下去,,但是其实这样不是最优的;
正确做法:考虑abc三个字符,无论怎样循环都是不会有回文出现的,比如abcabcabc....
那么对于n==30的情况;
abczzzzzz...z;//30
abcazzzzz...z;//29
abcabzzzz...z;//28
abcabczzz...z;//27
abcabcazz...z;//26
所以这样下去,每次都能保证这一个比上面一个减1,然后特判下2,3;
TTTTTTTTTTTTTTTTTTT UVA 2045 Richness of words的更多相关文章
- Ural 2045. Richness of words 打表找规律
2045. Richness of words 题目连接: http://acm.timus.ru/problem.aspx?space=1&num=2045 Description For ...
- URAL 2045 Richness of words (回文子串,贪心)
Richness of words 题目链接: http://acm.hust.edu.cn/vjudge/contest/126823#problem/J Description For each ...
- uva 1354 Mobile Computing ——yhx
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABGcAAANuCAYAAAC7f2QuAAAgAElEQVR4nOy9XUhjWbo3vu72RRgkF5
- UVA 10564 Paths through the Hourglass[DP 打印]
UVA - 10564 Paths through the Hourglass 题意: 要求从第一层走到最下面一层,只能往左下或右下走 问有多少条路径之和刚好等于S? 如果有的话,输出字典序最小的路径 ...
- UVA 11404 Palindromic Subsequence[DP LCS 打印]
UVA - 11404 Palindromic Subsequence 题意:一个字符串,删去0个或多个字符,输出字典序最小且最长的回文字符串 不要求路径区间DP都可以做 然而要字典序最小 倒过来求L ...
- UVA&&POJ离散概率与数学期望入门练习[4]
POJ3869 Headshot 题意:给出左轮手枪的子弹序列,打了一枪没子弹,要使下一枪也没子弹概率最大应该rotate还是shoot 条件概率,|00|/(|00|+|01|)和|0|/n谁大的问 ...
- UVA计数方法练习[3]
UVA - 11538 Chess Queen 题意:n*m放置两个互相攻击的后的方案数 分开讨论行 列 两条对角线 一个求和式 可以化简后计算 // // main.cpp // uva11538 ...
- UVA数学入门训练Round1[6]
UVA - 11388 GCD LCM 题意:输入g和l,找到a和b,gcd(a,b)=g,lacm(a,b)=l,a<b且a最小 g不能整除l时无解,否则一定g,l最小 #include &l ...
- UVA - 1625 Color Length[序列DP 代价计算技巧]
UVA - 1625 Color Length 白书 很明显f[i][j]表示第一个取到i第二个取到j的代价 问题在于代价的计算,并不知道每种颜色的开始和结束 和模拟赛那道环形DP很想,计算这 ...
随机推荐
- linux 百度ping不通解决
很长时间没有使用Liunx了,上来发现linux上面没有办法ping百度了.(这样的问题>>..ping:www.baidu.com:Temporaryfailureinnameresol ...
- Dreamoon and Strings CodeForces - 477C (字符串dp)
大意: 给定字符串$s$, $p$, 对于$0\le x\le |s|$, 求$s$删除$x$个字符后, $p$在$s$中的最大出现次数. 显然答案是先递增后递减的, 那么问题就转化求最大出现次数为$ ...
- C#拷贝文件
public void FileCopy(string source, string target) { using (FileStream fileRead = new FileStream(sou ...
- spring-test跟junit结合单元测试获取ApplicationContext实例的方法
步骤 1.继承AbstractJUnit4SpringContextTests 2.引入ApplicationContext 示例代码:(可以根据name或者类型获取bean) import or ...
- fetch的文件流下载及下载进度获取
下载过程中,获取进度,fetch API并没有提供类似xhr和ajax的 progress所以用 getReader()来循环读取大小 let size = 0; fetch( URL() + `/s ...
- ChinaCock扫描控件介绍-使用TCCBarcodeScanner引起app闪退
好几个ChinaCock的朋友说遇到扫码时闪退,进一步总结,都是Android 8的机器上才会出现,今天我也遇到.正好有朋友说,按下面这个改配置文件就可以解决: <!-- 扫描的activity ...
- https和http的post发送总结
本文为转贴内容,感谢作者阿进! 需要转发数据到客户的https的服务器上出现一系列问题总结如下: 1.因为是https首先考虑到用最新的控件NetHTTPClient(只有在XE8以上才有). 2.客 ...
- Delphi 卡通控件
樊伟胜
- 目标检测之车辆行人(darknet版yolov3)
序言 自动驾驶是目前非常有前景的行业,而视觉感知作为自动驾驶中的“眼睛”,有着非常重要的地位和作用.为了能有效地识别到行驶在路上的动态目标,如汽车.行人等,我们需要提前对这些目标的进行训练, ...
- deep_learning_Function_ lambda函数详解
这里总结了关于 Python 中的 lambda 函数的“一个语法,三个特性,四个用法”. 一个语法: 在 Python 中,lambda 函数的语法是唯一的.其形式如下: lambda argume ...