青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

兩個簡單的數(shù)理統(tǒng)計的題目

題目鏈接:

pku_1850_Code_ http://162.105.81.212/JudgeOnline/problem?id=1850

pku_1496_Word Index http://162.105.81.212/JudgeOnline/problem?id=1496

【問題概述】:給定一個長度為N(n<=10)的由小寫字母組成的字符串,
如果該字符串左邊的字符都比右邊的字符的字典序大,則我們稱這個字符串是合法的,
否則不合法:

e.g: 字符串:abc    ade   是合法的,而字符串:bac bca dae 則是不合法的。

現(xiàn)在對合法的字符串進行如下的編碼(編號):
a - 1
b - 2
...
z - 26
ab - 27
...
az - 51
bc - 52
...
vwxyz - 83681
...
我們的任務(wù)就是對于給定的字符串,如果她是合法的,則找到她的編號,否則不合法,輸出0:

【問題分析】:首先想到的應(yīng)該是暴力,但是暴力的復(fù)雜度會達到O(10^26),可能會超時,當(dāng)然有人爆過了。
這里將一個更為高效的算法。先看一下這個圖:
我們可以知道,長度為k(k>=1)的字符串的編號是在長度為k-1的基礎(chǔ)上增加而來的,為了計算的方便,我們可以先計算出長度為k-1的字符串可以編號為多少,也就知道了長度為k的第一個字符串的編號(加一就可以)。但是問題還沒得到解決,下面是重點:該如何統(tǒng)計當(dāng)前輸入的長度為k的字符串的編號:她等于長度為k-1的最大編號加上當(dāng)前字符串在當(dāng)前長度的編號。由此如何快速統(tǒng)計當(dāng)前字符串在當(dāng)前長度的集合(把不同的長度的字符串劃分為不同的集合)里編號是解決這個題目的第二個要點。

設(shè)s[k][i](0< i<= 26)表示長度等于k的合法串以字母(i+'a'-1)開頭的串的數(shù)目,則規(guī)定s[k][26]表示長度為k的集合的合法串的總的個數(shù)。對于給定的長度為n的字符串,我們由右向左考慮,找第i個字符和第i-1個字符的關(guān)系:令tmp = s[ k ][ str[i] - 1] - s[k][ str[i-1] ],表示在前i-1個字符不變時,可得到的不同的新合法字符串的個數(shù)。對于第一個字符,我們要判斷她是不是第一個字母‘a',不是的話,她可以得到的心合法字符串的個數(shù)為s[k][str[0]-1]. 最后的話,我們再把所有長度小于n的字符長的個數(shù)加起來就是我們要求的:下面是簡單的代碼,供大家討論交流:

#include <iostream>

#include <string.h>

using namespace std;

const int maxn = 28;

int s[11][maxn], n;

bool isValid(char *s, int &n) {

    int i = n = 0;

    for(i = 1; s[i]; i++)

        if(s[i] <= s[i-1]) return 0;

    n = i;

    return 1;

}

void init() {

    s[0][27] = 1;

    for (int k = 1; k < 11; k++) {

        int m = 26-k+1;

        for (int i = 1; i <= m; i++) {

            s[k][i] += s[k][i-1] + s[k-1][m+1]-s[k-1][i];

        }

    }

    s[0][27] = 0;

}

void pt() {

    int sum = 0;

    for (int k = 1; k < 11; k++) {

        int m = 26-k+1;

        for (int i = 1; i <= m; i++) {

            printf("s[%d][%d] = %d\n", k, i, s[k][i]);

         }

         sum += s[k][m];

    }

    printf("%d\n", sum);

}

inline int d(char c) { return c-'a'+1;}

int main() {//freopen("in.in", "r", stdin);

    init(); //pt();

    char str[11];

    int m, i, k;

    while(scanf("%s", str) != EOF) {

        if (!isValid(str, n)) { puts("0"); continue;}

        for (i = n-1, k = 1, m = 1; i >= 1; i--, k++)

            m += s[k][d(str[i]-1)] - s[k][d(str[i-1])];

        if (str[0] != 'a') m += s[k][d(str[0]-1)];

        for (i = 1; i < k; i++) m += s[i][26-i+1];

        printf("%d\n", m);   

    }

    return 0;

}

posted on 2010-06-11 18:53 小志 閱讀(430) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導(dǎo)航

統(tǒng)計

常用鏈接

留言簿

隨筆檔案(8)

文章檔案(1)

相冊

收藏夾

ACM --- Online Judge

小志

最新隨筆

積分與排名

最新隨筆

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品福利影院| 国产精品夜夜夜一区二区三区尤| 羞羞答答国产精品www一本| 欧美国产精品专区| 999在线观看精品免费不卡网站| 亚洲日本va午夜在线电影| 欧美大片在线观看一区二区| 日韩网站在线观看| 卡通动漫国产精品| 亚洲欧洲日韩在线| 99精品国产一区二区青青牛奶| 免费亚洲电影| 亚洲日本成人女熟在线观看| 在线视频精品一区| 欧美人成免费网站| 亚洲人成在线观看一区二区 | 中日韩美女免费视频网站在线观看| 亚洲一级二级在线| 激情自拍一区| 国产日韩精品视频一区二区三区| 欧美a级片网站| 午夜精品区一区二区三| 欧美电影专区| 久久久精品tv| 国产一区二区精品丝袜| 欧美日韩免费观看中文| 欧美中文在线视频| 免费在线观看成人av| 欧美成人嫩草网站| 99视频精品免费观看| 在线亚洲伦理| 久久久久久久一区二区三区| 99精品久久久| 久久福利电影| 欧美大片免费观看在线观看网站推荐| 欧美高清视频| 欧美一区在线看| 久久精品国产v日韩v亚洲| 国内久久视频| 亚洲欧美精品在线| 亚洲第一页在线| 性欧美激情精品| 欧美.www| 麻豆freexxxx性91精品| 亚洲视频一区二区免费在线观看| 亚洲人成在线观看一区二区| 亚洲高清不卡在线观看| 亚洲国产精品美女| 女女同性精品视频| 亚洲国产美女精品久久久久∴| 国外成人在线| 欧美1区2区视频| 麻豆av福利av久久av| 亚洲国产一成人久久精品| 一级日韩一区在线观看| 香蕉久久久久久久av网站| 亚洲欧美日韩在线高清直播| 久久久久久久久综合| 亚洲人成毛片在线播放| 亚洲永久精品大片| 欧美精品综合| 国产欧美在线视频| 999亚洲国产精| 麻豆视频一区二区| 亚洲人成在线观看一区二区| 久久中文欧美| 亚洲小视频在线观看| 老司机成人在线视频| 激情偷拍久久| 久久只精品国产| 美女主播视频一区| 久久成人免费日本黄色| 欧美日韩在线亚洲一区蜜芽| 国产色视频一区| 最新日韩在线| 亚洲天堂偷拍| 久久久久欧美精品| 日韩午夜电影av| 国产精品免费视频xxxx| 国产精品电影在线观看| 亚洲国产cao| 欧美3dxxxxhd| 欧美中在线观看| 国产精品中文字幕欧美| 欧美jizz19性欧美| 亚洲国产视频a| 欧美激情乱人伦| 久久国产精品第一页| 久久躁日日躁aaaaxxxx| 国产精品裸体一区二区三区| 亚洲精品少妇| 日韩网站免费观看| 欧美日韩一区三区| 亚洲欧美日韩另类| 美女被久久久| 亚洲美女视频| 国产日韩欧美精品| 欧美成人精品1314www| 亚洲高清视频在线观看| 最新国产成人在线观看| 在线播放不卡| 欧美精品二区| 久久久人成影片一区二区三区观看 | 狠狠色丁香婷婷综合久久片| 欧美中文字幕在线播放| 久久精品国内一区二区三区| 亚洲无毛电影| 久久这里只有精品视频首页| 夜夜嗨av一区二区三区免费区| 国一区二区在线观看| 欧美激情一区二区三区在线| 91久久精品视频| 欧美精品成人一区二区在线观看| 欧美激情精品久久久久久黑人| 亚洲福利电影| 欧美承认网站| 亚洲视屏一区| 亚洲破处大片| 欧美怡红院视频| 亚洲精品孕妇| 国产精品www.| 欧美一区二区三区四区在线| 在线视频中文亚洲| 狂野欧美一区| 日韩小视频在线观看| 欧美淫片网站| 亚洲高清免费| 国产麻豆日韩欧美久久| 亚洲欧美日韩在线播放| 欧美日韩国产精品自在自线| 亚洲精品黄色| 亚洲高清av在线| 正在播放日韩| 老司机一区二区| 亚洲国产成人久久综合一区| 欧美日韩国产在线| 欧美日韩国产综合视频在线| 亚洲欧美精品一区| 亚洲韩国青草视频| 国语自产精品视频在线看一大j8| 国产精品久久久对白| 久久综合久久综合久久| 久久成人在线| 欧美激情影音先锋| 国产一区二区三区不卡在线观看 | 亚洲精品乱码久久久久久久久| 欧美激情一二区| 亚洲国产成人精品久久久国产成人一区 | 国产精品一区二区久激情瑜伽| 欧美日韩播放| 精品成人一区二区三区| 韩国一区二区三区美女美女秀| 亚洲国产精品成人| 亚洲在线视频免费观看| 亚洲专区在线视频| 美国十次了思思久久精品导航| 女人色偷偷aa久久天堂| 小嫩嫩精品导航| 欧美日韩另类视频| 亚洲欧洲综合另类| 亚洲国产精品电影在线观看| 99精品视频一区| 欧美午夜不卡在线观看免费| 国产自产精品| 欧美大片免费久久精品三p| 亚洲乱码国产乱码精品精可以看| 午夜精品久久久久久| 一区视频在线| 亚洲免费一级电影| 欧美在线一级视频| 99国产一区| 久久永久免费| 国产精品老女人精品视频| 国产综合自拍| 久久riav二区三区| 亚洲激情欧美| 欧美夜福利tv在线| 一个人看的www久久| 久久精品1区| 亚洲精品美女久久久久| 美女尤物久久精品| 亚洲视频一起| 久久久久国产一区二区三区| 最新国产乱人伦偷精品免费网站| 先锋影音久久久| 国产午夜精品久久久久久免费视| 亚洲欧美日韩在线播放| 亚洲欧美日韩精品| 狠狠入ady亚洲精品经典电影| 能在线观看的日韩av| 欧美日韩福利| 久久视频国产精品免费视频在线| 亚洲精品日韩精品| 欧美va天堂va视频va在线| 一区二区高清视频在线观看| 亚洲视频精选在线| 樱桃国产成人精品视频| 亚洲精品在线一区二区| 国内视频精品| 亚洲视频观看|