大致题意:(与POJ1496基本一致)

输出某个str字符串在字典中的位置,由于字典是从a=1开始的,因此str的位置值就是 在str前面所有字符串的个数 +1

规定输入的字符串必须是升序排列。不降序列是非法字符串

不要求用循环输入去输入若干组字符串,但若输入非法字符串则输出0,且结束程序,这是和POJ1496最猥琐的区别,很多同学只注意到规定str的长度不同,以为把str数组长度改一下直接复制就能AC再多刷一题了,殊不知老是WA却找不到原因,大概就是这里出问题了

本题Str最长为10个字符

//数位DP   f[i][j]:以i开头的长度为j的个数
#include<cstdio>
#include<iostream>
#include<cstring>
#define M 30
using namespace std;
int f[M][M],a[M];
char c[M];
void F()
{
for(int i=;i<=;i++)
f[i][]=;
for(int j=;j<=;j++)
for(int i=;i<=;i++)
for(int k=i+;k<=;k++)
f[i][j]+=f[k][j-];
}
int main()
{
scanf("%s",c);
int len=strlen(c),flag=;
for(int i=;i<=len;i++)
{
a[i]=c[i-]-'a'+;
if(a[i]<a[i-])flag=;
}
if(flag)
{
printf("");
return ;
}
F();
int ans=;
for(int i=;i<=;i++)//求出前len-1位的个数
for(int j=;j<len;j++)
ans+=f[i][j];
//当到第i位时,字母一定比i-1大且比实际的小
for(int i=;i<=len;i++)
for(int j=a[i-]+;j<a[i];j++)
ans+=f[j][len+-i];
printf("%d",ans+);//加上它自己
return ;
}

Code(poj 1850)的更多相关文章

  1. 杂项:Code(开源资源)

    ylbtech-杂项:Code(开源资源) 1.返回顶部 1.CSDN http://code.csdn.net/ 2.腾讯·开源 http://code.tencent.com/ 3. 4. 5. ...

  2. 01背包问题:Charm Bracelet (POJ 3624)(外加一个常数的优化)

    Charm Bracelet    POJ 3624 就是一道典型的01背包问题: #include<iostream> #include<stdio.h> #include& ...

  3. Scout YYF I(POJ 3744)

    Scout YYF I Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5565   Accepted: 1553 Descr ...

  4. Html编码(&#数字型)与解码小结 - 针对Puny Code(中文域名)的解码处理

    学习并了解到Html编码的知识,源于工作中的产品需求.如果一个URL里面包含Puny Code(不仅仅指中文,还可能是韩文等Unicode里非英文的国家文字,本文以含中文的URL为例),而且这个URL ...

  5. 广大暑假训练1(poj 2488) A Knight's Journey 解题报告

    题目链接:http://vjudge.net/contest/view.action?cid=51369#problem/A   (A - Children of the Candy Corn) ht ...

  6. Games:取石子游戏(POJ 1067)

    取石子游戏 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 37662   Accepted: 12594 Descripti ...

  7. BFS 或 同余模定理(poj 1426)

    题目:Find The Multiple 题意:求给出的数的倍数,该倍数是只由 1与 0构成的10进制数. 思路:nonzero multiple  非零倍数  啊. 英语弱到爆炸,理解不了题意... ...

  8. 并查集+关系的传递(poj 1182)

    题目:食物链 题意:给定一些关系.判断关系的正确性,后给出的关系服从之前的关系: 思路:难点不在并查集,在于关系的判断,尤其是子节点与根节点的关系的判断: 这个关系看似没给出,但是给出子节点与父节点的 ...

  9. 昂贵的聘礼(poj 1062)

    Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女儿嫁给他.探险家拿不出这么多金币,便请求酋长降低 ...

随机推荐

  1. HD 2177(威佐夫博弈 入门)

    取(2堆)石子游戏 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  2. kaili linux中文乱码

    install kaili 用了kali,安装的英文版,一切都很爽,没有乱码 install chrome 不要用apt安装,也不要用chromium, 直接去网上找chrom的deb文件下来安装,注 ...

  3. ecshop后台"云提醒未激活 点击激活" 补丁删除方法

    ecshop后台"云提醒未激活 点击激活" 补丁删除方法 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2015-01-15   ecshop后台提 ...

  4. (翻译)初学者的object-C指南

    初学者的object-C指南 英文原文:http://blog.teamtreehouse.com/the-beginners-guide-to-objective-c-language-and-va ...

  5. ifconfig 工具

    ifconfig 工具 ifconfig 命令常用格式: 格式:ifconfig显示当前激活的网络接口信息. 格式:ifconfig {INTERFACE}显示指定网络接口的信息.比如:eth0, e ...

  6. 拆分Spring配置文件

    把一个applicationContext.xml拆分(还可以再分出action部分和tx事务部分) 1.dao部分 <!-- 配置DAO --> <bean id="em ...

  7. 【原创】ui.router源码解析

    Angular系列文章之angular路由 路由(route),几乎所有的MVC(VM)框架都应该具有的特性,因为它是前端构建单页面应用(SPA)必不可少的组成部分. 那么,对于angular而言,它 ...

  8. Who Gets the Most Candies?(线段树 + 反素数 )

    Who Gets the Most Candies? Time Limit:5000MS     Memory Limit:131072KB     64bit IO Format:%I64d &am ...

  9. Vim的使用方法

    导读 Vim是从vi发展出来的一个文本编辑器.代码补全.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器. 一.vi.vim介绍 ...

  10. CUDA 6.5 && VS2013 && Win7:创建CUDA项目

    运行环境: Win7+VS2013+CUDA6.5 1.创建win32空项目 2.右键项目解决方案-->生成项目依赖项-->生成自定义 3.右键项目解决方案-->属性-->配置 ...