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

【AHOI2013復仇】SCOI2003 字符串折疊

Posted on 2012-10-24 15:11 Mato_No1 閱讀(555) 評論(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>
            亚洲欧美日韩精品久久奇米色影视 | 欧美成人激情在线| 国产视频一区在线观看| 欧美在线观看视频一区二区| 亚洲高清资源| 亚洲大胆视频| 国产女主播一区二区三区| 另类成人小视频在线| av成人老司机| 欧美高清在线精品一区| 好吊妞这里只有精品| 伊人成人开心激情综合网| 欧美丝袜一区二区三区| 久久男女视频| 欧美一级播放| 亚洲欧美日韩中文视频| 黄色精品在线看| 欧美在线一级视频| 麻豆精品视频| 欧美a级片网站| 老司机免费视频久久| 欧美一级成年大片在线观看| 亚洲一区二区三区四区五区午夜| 亚洲美女av电影| 日韩视频免费大全中文字幕| 亚洲精品免费网站| 久久一区二区视频| 久久久久久久网| 久久久久88色偷偷免费| 久久久999| 一本一本久久| 另类天堂视频在线观看| 欧美freesex交免费视频| 久久久久久久一区| 每日更新成人在线视频| 欧美大片免费观看在线观看网站推荐| 久久久久久午夜| 免费看亚洲片| 欧美一区二区三区免费视频| 亚洲自拍偷拍福利| 日韩小视频在线观看专区| 免费日韩成人| 精品51国产黑色丝袜高跟鞋| 亚洲一区二区av电影| 亚洲大胆美女视频| 久久久久国产精品一区| 国产欧美婷婷中文| 亚洲欧美另类久久久精品2019| 亚洲国产精品成人综合| 久久久女女女女999久久| 国产欧美日韩不卡免费| 亚洲欧美视频一区二区三区| 9国产精品视频| 欧美日韩三级| 宅男精品导航| 一区二区高清视频在线观看| 欧美三级欧美一级| 在线亚洲欧美专区二区| 亚洲精品乱码久久久久久按摩观| 欧美91福利在线观看| 亚洲激情网站| 欧美顶级大胆免费视频| 久久五月激情| 亚洲肉体裸体xxxx137| 欧美风情在线观看| 欧美成人69av| 国产精品99久久久久久人| 99视频精品在线| 国产精品日本| 久久久噜噜噜久久人人看| 久久九九免费视频| 亚洲电影有码| 亚洲激情视频在线播放| 欧美精品一区二区三区在线播放| 一本久久综合亚洲鲁鲁| 亚洲精选久久| 国产精品乱码久久久久久| 久久国内精品自在自线400部| 欧美诱惑福利视频| 99国内精品| 翔田千里一区二区| 亚洲韩国一区二区三区| 99香蕉国产精品偷在线观看| 国产精品尤物| 欧美xx视频| 国产精品sm| 麻豆成人在线播放| 欧美精品亚洲| 久久久久成人精品| 欧美激情综合亚洲一二区| 午夜欧美不卡精品aaaaa| 久久青草福利网站| 亚洲一区综合| 老牛嫩草一区二区三区日本| 亚洲一区二区精品| 久久久亚洲成人| 亚洲一区二区三区在线观看视频| 久久精品国产一区二区三| 一区二区冒白浆视频| 欧美综合国产| 亚洲你懂的在线视频| 毛片一区二区三区| 欧美欧美天天天天操| 91久久精品国产91性色tv| 日韩一级片网址| 在线视频观看日韩| 午夜欧美精品久久久久久久| 日韩视频免费看| 久久久精品国产免大香伊| 一区二区三区欧美日韩| 久久久久一区| 久久精品国产77777蜜臀| 欧美日韩免费视频| 亚洲第一区色| 激情久久久久| 欧美在线二区| 欧美伊人久久大香线蕉综合69| 欧美精品xxxxbbbb| 欧美成人视屏| 在线看无码的免费网站| 欧美在线日韩精品| 久久国产精品久久精品国产| 欧美日韩和欧美的一区二区| 亚洲二区在线视频| 亚洲国产精品一区二区第四页av| 欧美诱惑福利视频| 久久久久久久久久码影片| 国产日韩一区二区三区在线播放| 亚洲一区久久久| 性欧美1819sex性高清| 国产精品免费小视频| 中文国产一区| 亚洲在线视频| 国产欧美一区在线| 欧美一区1区三区3区公司| 久久爱www久久做| 国产欧美在线看| 欧美在线观看一区二区三区| 久久久国产精彩视频美女艺术照福利| 国产日韩欧美自拍| 久久精品亚洲国产奇米99| 裸体一区二区| 99日韩精品| 国产精品伦子伦免费视频| 欧美亚洲一区二区在线| 久久精品国产清自在天天线| 国产一区二区三区免费不卡 | 一区二区三区免费在线观看| 中文av一区二区| 国产精品久久久久永久免费观看| 亚洲欧美国产不卡| 麻豆久久精品| 99re成人精品视频| 国产精品欧美日韩| 欧美一区二区三区四区高清| 欧美a级片网站| 一区二区三区四区五区视频| 国产精品免费一区二区三区在线观看 | 国产酒店精品激情| 久久精品综合一区| 亚洲国产婷婷综合在线精品| 国产精品99久久久久久久久| 国产一区二区三区在线观看视频 | 亚洲小说欧美另类社区| 国产精品自在在线| 久久先锋影音| 亚洲人体一区| 欧美一区二区日韩| 91久久一区二区| 国产精品影片在线观看| 麻豆成人小视频| 国产精品99久久久久久www| 久久嫩草精品久久久精品| 99精品黄色片免费大全| 国产欧美日韩三区| 欧美精品久久久久久久免费观看| 一区二区三区精品在线 | 亚洲日本在线观看| 国产日本欧美在线观看| 欧美高清视频免费观看| 亚洲欧美成人| 91久久线看在观草草青青| 亚洲一卡久久| 亚洲精品欧美专区| 影音先锋亚洲精品| 国产精品爽爽ⅴa在线观看| 久久视频这里只有精品| 亚洲手机在线| 亚洲欧洲精品一区二区精品久久久 | 一区二区三区精品久久久| 国产视频久久| 国产精品久久久久久久第一福利| 久久嫩草精品久久久久| 欧美亚洲在线观看| 亚洲欧美高清| 亚洲综合久久久久| 亚洲一二三区在线| 亚洲最快最全在线视频| 亚洲片国产一区一级在线观看| 免费日韩一区二区|