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

兩個簡單的數理統計的題目

題目鏈接:

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 則是不合法的。

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

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

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

#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 小志 閱讀(432) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2010年6月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

導航

統計

常用鏈接

留言簿

隨筆檔案(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>
            亚洲一区在线免费| 欧美一区免费| 欧美日韩免费观看一区=区三区| 影音先锋欧美精品| 亚洲国产精品成人| 欧美成人一区二区| 一区二区毛片| 亚洲午夜羞羞片| 国产一区香蕉久久| 亚洲成人在线视频播放| 久久久人成影片一区二区三区观看| 亚洲国产高清高潮精品美女| 欧美国产日韩二区| 欧美激情1区2区| 午夜在线a亚洲v天堂网2018| 欧美一区三区三区高中清蜜桃| 伊人精品在线| 日韩网站免费观看| 国产女精品视频网站免费| 久久精品一区二区三区四区| 免费成人激情视频| 欧美亚洲一区二区在线观看| 欧美影院一区| 在线一区亚洲| 久久精品日产第一区二区三区| 亚洲精品偷拍| 欧美亚洲一区| 亚洲图片自拍偷拍| 久久综合久色欧美综合狠狠 | 久久久久一区二区| 亚洲香蕉伊综合在人在线视看| 午夜久久久久久| 一个人看的www久久| 久久成人精品| 亚洲综合丁香| 欧美精品系列| 你懂的成人av| 国产欧美一区二区精品性 | 欧美影院在线| 欧美极品aⅴ影院| 久久久青草婷婷精品综合日韩| 欧美精品一区二区三区久久久竹菊 | 国产亚洲欧美一级| 99亚洲一区二区| 亚洲国产一区在线| 欧美中文字幕第一页| 亚洲四色影视在线观看| 欧美成人免费在线视频| 久久人人97超碰国产公开结果| 欧美午夜一区二区| 亚洲激情中文1区| 在线观看av一区| 久久国产精品99国产精| 午夜精品久久久久影视| 欧美视频免费| 99精品免费| 中日韩在线视频| 欧美激情在线免费观看| 欧美激情第二页| 亚洲国产成人不卡| 久久婷婷国产麻豆91天堂| 久久综合色影院| 国内精品模特av私拍在线观看| 性欧美videos另类喷潮| 欧美一级欧美一级在线播放| 国产精品久久久久久久久借妻| 亚洲精品黄网在线观看| 亚洲精品免费在线观看| 男女激情久久| 亚洲国产精品电影| 99视频超级精品| 欧美日韩免费一区| 亚洲网址在线| 久久av老司机精品网站导航| 国产精品亚洲欧美| 欧美资源在线观看| 免费一区视频| 亚洲三级电影在线观看 | 午夜在线播放视频欧美| 久久不见久久见免费视频1| 国产亚洲欧美一区二区三区| 久久精品一区四区| 欧美激情视频一区二区三区免费 | 一区二区日韩| 国产精品青草久久| 久久黄金**| 亚洲激情在线激情| 亚洲一区三区电影在线观看| 国产日韩精品一区二区| 久久在线视频在线| 一本色道久久88精品综合| 欧美一级二级三级蜜桃| 亚洲第一伊人| 欧美午夜电影在线| 久久大综合网| 亚洲精品一区二区三| 亚洲欧美日韩直播| 亚洲国产成人av在线| 国产精品高潮呻吟视频 | 亚洲欧洲日产国码二区| 午夜精品久久久久影视 | 伊人久久综合97精品| 欧美另类变人与禽xxxxx| 亚洲视频一区| 欧美激情aaaa| 欧美在线视频播放| 9i看片成人免费高清| 国产日韩精品在线| 欧美日韩成人网| 久久精品国产一区二区三| 99精品欧美| 亚洲福利免费| 久久精品女人的天堂av| 一本色道久久精品| 亚洲国产成人高清精品| 国产精品一区免费观看| 欧美激情黄色片| 久久综合久久88| 久久av一区二区三区漫画| 一区二区欧美精品| 亚洲国产高清一区二区三区| 欧美怡红院视频| 亚洲欧美日韩久久精品| 99re这里只有精品6| 影视先锋久久| 韩日精品视频一区| 国产女主播一区二区三区| 欧美日本国产精品| 你懂的一区二区| 久久综合狠狠综合久久激情| 亚洲欧美日韩人成在线播放| 中文有码久久| 亚洲无人区一区| 日韩特黄影片| 亚洲精品黄色| 亚洲精品网址在线观看| 欧美成人小视频| 免费亚洲婷婷| 亚洲第一黄网| 亚洲第一精品夜夜躁人人爽| 免费久久99精品国产自在现线| 久久欧美中文字幕| 蜜臀久久99精品久久久画质超高清| 久久精品视频免费观看| 久久久免费av| 欧美va亚洲va香蕉在线| 麻豆国产精品va在线观看不卡| 久久九九99视频| 老司机午夜精品视频| 免费成人在线观看视频| 欧美国产激情二区三区| 亚洲国产精品传媒在线观看| 亚洲国产高清高潮精品美女| 亚洲欧洲免费视频| 一区二区三区四区国产| 亚洲男女毛片无遮挡| 久久爱www久久做| 乱中年女人伦av一区二区| 牛牛精品成人免费视频| 欧美日韩免费观看一区三区 | 国内精品一区二区三区| 一区二区在线看| 亚洲黄色精品| 亚洲午夜久久久久久尤物 | 久久国产精品亚洲77777| 久久国产婷婷国产香蕉| 免费短视频成人日韩| 亚洲国产成人精品女人久久久 | 久久久久久久久久久久久9999 | 日韩亚洲不卡在线| 亚洲欧美日韩一区在线| 久久亚洲一区二区| 欧美偷拍另类| 伊人久久久大香线蕉综合直播| 日韩视频精品| 久久黄色级2电影| 亚洲国产精品va在线看黑人| 在线亚洲电影| 久久亚洲一区二区| 国产精品国产三级国产aⅴ9色| 国产综合在线看| 宅男在线国产精品| 久久躁日日躁aaaaxxxx| 亚洲精品专区| 久久亚洲午夜电影| 国产精品自拍在线| 99精品欧美一区二区蜜桃免费| 欧美一区二区三区在线观看视频| 欧美国产精品| 性做久久久久久免费观看欧美| 欧美久久婷婷综合色| 国产一区二区三区直播精品电影 | 国产精品视频1区| 91久久线看在观草草青青| 欧美亚洲在线| 一本色道久久综合亚洲二区三区| 美国十次了思思久久精品导航| 国产亚洲综合在线| 亚洲欧美区自拍先锋| 91久久中文字幕|