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

【AHOI2013復仇】SCOI2003 字符串折疊

Posted on 2012-10-24 15:11 Mato_No1 閱讀(551) 評論(0)  編輯 收藏 引用 所屬分類: 字符串匹配SCOI
原題地址
本沙茶在2009年1月曾經在RQNOJ上捉過這題,那時候是很難的題,現在就很水了囧……(當然,本沙茶那個時候不會exKMP,是用暴力的,可是時間復雜度仍能是O(N3))。

F[i][j]=min{F[i][k]+F[k+1][j],min{((j-i+1)/(k-i+1)的十進制位數)+2+F[i][k],k-i+1}, i<=k<j,第二項需要滿足原字符串[i..j]這一段恰好由[i..k]這一段的若干次復制得到}
(加上k-i+1是因為對于以下三種重疊字符串,不壓縮比壓縮要短:AA型、AAA型、ABAB型)
邊界:F[i][i]=1;

問題是在上述方程的第二項里如何求出可行的k。顯然,只需要對[i..j]這一段作exKMP,求出nx,然后k可行當且僅當滿足:(1)nx[k+1]=j-k;(2)(k-i+1)|(j-i+1);

不過,本題在寫exKMP的過程中會出現很囧的問題……由于下標不是從0開始,而是從i開始,所以很多地方關于下標的計算都要改掉,非常不方便,而且很容易疵掉。與其這樣,還不如把[i..j]這一段復制到一個新字符串里,下標從0開始。對于其它的某些字符串算法和數據結構,或許也是這樣囧……

代碼:
#include <iostream>
#include 
<stdio.h>
#include 
<stdlib.h>
#include 
<string.h>
using namespace std;
#define re(i, n) for (int i=0; i<n; i++)
#define re1(i, n) for (int i=1; i<=n; i++)
#define re2(i, l, r) for (int i=l; i<r; i++)
#define re3(i, l, r) for (int i=l; i<=r; i++)
#define rre(i, n) for (int i=n-1; i>=0; i--)
#define rre1(i, n) for (int i=n; i>0; i--)
#define rre2(i, r, l) for (int i=r-1; i>=l; i--)
#define rre3(i, r, l) for (int i=r; i>=l; i--)
#define ll long long
const int MAXN = 110, INF = ~0U >> 2;
int n, F[MAXN][MAXN], nx[MAXN], res;
char ss[MAXN + 1], ss0[MAXN + 1];
void init()
{
    scanf(
"%s", ss); n = strlen(ss);
}
int sol0(int l, int r)
{
    
int W = r - l + 1; re3(i, l, r) ss0[i - l] = ss[i];
    nx[
0= W; nx[1= nx[0- 1; re(i, W) if (ss0[i] != ss0[i + 1]) {nx[1= i; break;}
    
int k = 1, len, p = k + nx[k] - 1, x, y;
    re2(i, 
2, W) {
        len 
= nx[i - k];
        
if (i + len <= p) nx[i] = len; else {
            x 
= p + 1; y = p - i + 1if (y < 0) {x++; y = 0;}
            
for (; x<=&& ss0[x]==ss0[y]; x++, y++) ;
            nx[i] 
= y; k = i; p = i + y - 1;
        }
    }
    
int res0 = INF, tmp, V;
    re2(i, 
1, W) if (!(W % i) && nx[i] == W - i) {
        V 
= F[l][l + i - 1+ 2; tmp = W / i; while (tmp) {tmp /= 10; V++;}
        
if (W < V) V = W;
        
if (V < res0) res0 = V;
    }
    
return res0;
}
void solve()
{
    re(i, n) F[i][i] 
= 1;
    
int j, tmp;
    re2(x, 
1, n) re(i, n-x) {
        j 
= i + x; F[i][j] = sol0(i, j);
        re2(k, i, j) {tmp 
= F[i][k] + F[k + 1][j]; if (tmp < F[i][j]) F[i][j] = tmp;}
    }
    res 
= F[0][n - 1];
}
void pri()
{
    printf(
"%d\n", res);
}
int main()
{
    init();
    solve();
    pri();
    
return 0;
}
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲国产三级在线| 欧美专区在线观看一区| 亚洲福利国产精品| 久久精品一二三区| 1024成人网色www| 久久综合精品国产一区二区三区| 亚洲视频在线播放| 国产在线国偷精品产拍免费yy| 亚洲免费一级电影| 先锋亚洲精品| 亚洲国产成人精品久久久国产成人一区 | 久久riav二区三区| 国产在线不卡视频| 最新国产精品拍自在线播放| 欧美三级视频在线观看| 久久久久亚洲综合| 免播放器亚洲一区| 亚洲免费在线观看视频| 久久国产精品高清| 亚洲午夜av| 久久免费黄色| 欧美主播一区二区三区美女 久久精品人 | 欧美成年人网站| 欧美日韩性生活视频| 久久精品一区二区三区中文字幕 | 又紧又大又爽精品一区二区| 亚洲免费小视频| 欧美成人精品在线观看| 欧美专区一区二区三区| 欧美激情aⅴ一区二区三区| 小处雏高清一区二区三区| 欧美成人精品一区二区| 久久久久久久999精品视频| 欧美日韩中文字幕在线| 亚洲国产精品久久精品怡红院| 国产毛片精品国产一区二区三区| 欧美国产日本韩| 亚洲国产高潮在线观看| 久久成人一区二区| 久久国产一区二区| 国产精品一区毛片| 欧美一级在线播放| 久久久99国产精品免费| 国内精品视频666| 久久午夜av| 欧美激情bt| 亚洲最新视频在线| 欧美另类在线播放| 一区二区电影免费观看| 亚洲综合视频1区| 国产视频一区欧美| 美女网站久久| 亚洲午夜电影网| 欧美一区二区三区视频在线观看| 国产精品入口尤物| 久久中文欧美| 亚洲精品网址在线观看| 欧美一区二区三区免费大片| 国产欧美在线播放| 欧美激情va永久在线播放| 在线亚洲欧美视频| 欧美成人免费全部| 亚洲一区亚洲| 亚洲香蕉网站| 久久久噜噜噜久久人人看| 亚洲精品日韩在线| 亚洲摸下面视频| 亚洲欧洲日韩在线| 精品91视频| 国产精品美女黄网| 欧美1级日本1级| 久久久久国产一区二区| 99综合电影在线视频| 美女图片一区二区| 久久人人97超碰精品888| 亚洲一区二区三| 日韩亚洲欧美中文三级| 亚洲国产一区二区a毛片| 韩国欧美一区| 国产日韩欧美a| 欧美gay视频激情| 乱码第一页成人| 久久精品视频免费播放| 久久www成人_看片免费不卡| 亚洲午夜视频在线| 亚洲欧美国内爽妇网| 亚洲欧美视频在线观看| 亚洲欧美综合v| 欧美在线综合视频| 久久综合一区| 欧美激情四色| 国产主播在线一区| 欧美欧美在线| 国产精品一卡二卡| 亚洲国产高清自拍| 亚洲天天影视| 另类成人小视频在线| 亚洲激情av在线| 亚洲免费一级电影| 媚黑女一区二区| 国产精品美女久久福利网站| 一区二区视频免费在线观看| 99精品视频网| 久热这里只精品99re8久| 亚洲国产精品123| 欧美一区二区三区在| 久久亚洲春色中文字幕久久久| 久久国产精品黑丝| 亚洲影院在线观看| 欧美激情麻豆| 免费视频最近日韩| 久久漫画官网| 狂野欧美激情性xxxx| 欧美亚洲在线播放| 一区二区三区回区在观看免费视频| 国产欧美一区二区精品婷婷| 欧美日韩在线视频首页| 欧美日韩国产色站一区二区三区| 久久久久久穴| 欧美a级片一区| 欧美成人tv| 欧美激情视频给我| 欧美日韩大片| 国产欧美日韩综合精品二区| 国产精品日韩欧美综合| 欧美网站在线观看| 国产精品激情av在线播放| 欧美日韩一区二区视频在线| 国产精品毛片在线| 国产在线不卡| 99国产精品久久久久久久成人热| 在线综合+亚洲+欧美中文字幕| 99re视频这里只有精品| 一区二区三区不卡视频在线观看| 日韩一区二区精品葵司在线| 午夜精品一区二区三区在线播放| 午夜精品视频| 亚洲黑丝在线| 久久久精品网| 国产精品一区免费视频| 亚洲第一久久影院| 午夜欧美大尺度福利影院在线看| 久久人体大胆视频| 亚洲三级色网| 亚洲欧美韩国| 亚洲东热激情| 欧美中文在线观看| 国产精品久久久久久久久动漫| 亚洲丰满少妇videoshd| 羞羞漫画18久久大片| 亚洲精品久久久久久下一站| 久久久久久久国产| 另类激情亚洲| 欧美黑人在线观看| 久久久久久久高潮| 在线成人中文字幕| 久久综合伊人77777麻豆| 亚洲免费婷婷| 国内成人在线| 噜噜噜91成人网| 美女任你摸久久| 日韩视频一区二区| 亚洲美女黄色| 国产精品久久久久久久app| 亚洲伊人网站| 欧美在线在线| 亚洲精品综合| 亚洲四色影视在线观看| 国产视频精品xxxx| 欧美国产成人精品| 欧美久久久久| 久久人人超碰| 欧美日韩色一区| 久久久午夜视频| 欧美另类99xxxxx| 久久精品夜色噜噜亚洲a∨| 久久综合九色99| 午夜久久影院| 欧美香蕉大胸在线视频观看| 欧美在线一级va免费观看| 久久久久久九九九九| 在线综合亚洲| 免费欧美在线视频| 久久aⅴ国产欧美74aaa| 欧美精品在线免费播放| 欧美91精品| 亚洲成人在线视频播放| 亚洲影视在线| 亚洲一级影院| 欧美另类极品videosbest最新版本| 欧美日韩国产成人| 久久五月婷婷丁香社区| 国产精品一区免费视频| 亚洲乱码国产乱码精品精可以看| 一区二区三区在线看| 亚洲一区二区少妇| 欧美一区二区三区久久精品茉莉花| 欧美精品免费视频| 日韩一区二区精品在线观看| 一区二区亚洲精品|