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

posts - 43,  comments - 9,  trackbacks - 0
pku 3726 Windy's ABC
題意:
給一個由ABC三種字母構成的長度不超過500的字串.
定義這個串的合法副本為:
原串任意位置字母的下標,與它在新串中的下標絕對值之差不超過 Ri.
求合法副本的種類數.
注:
1. 原串本身也是個合法副本
2. 求的是不同串的種類數, "A1B2B3A4" 和 "A1B3B2A4" 算同一種.
解:
先通過O(n)的遞推, 求出每種字母在前k位中至少需要/至多能出現多少次, 然后500^3的DP.
對一個合法的狀態(i,j,k)(分別表示3種字母的個數), 擴展它的3種后續狀態.
這里不用檢查擴展出的新狀態的合法性, 因為到下一步DP時, 只有合法的狀態才會被繼續擴展. 這是這題解法處理的巧妙之處.

代碼:
?1?#include?<cstdio>
?2?#include?<cstdlib>
?3?#include?<cstring>
?4?#include?<algorithm>
?5?using?namespace?std;
?6?const?int?MOD?=?20090305;
?7?char?ch[3]?=?{'A','B','C'};
?8?int?n[3][510][2];
?9?int?dp[2][510][510];
10?int?R[3],L;
11?char?S[510];
12?int?T;
13?
14?void?prepare(){
15?????int?i,j,k;
16?????int?c[510];
17?????memset(n,0,sizeof(n));
18?????for(i=0;?i<3;?i++){
19?????????int?cnt?=?0;
20?????????for(j=0;?j<L;?j++){
21?????????????if(S[j]-'A'?==?i)?cnt++;
22?????????????//printf("%d,%d,%d?",i,j,cnt);
23?????????????if(j>=R[i])?n[i][j-R[i]][1]?=?cnt;
24?????????????if(j<L-R[i])?n[i][j+R[i]][0]?=?cnt;
25?????????}
26?????????for(j=0;?j<R[i];?j++){
27?????????????n[i][L-1-j][1]?=?cnt;
28?????????????n[i][j][0]?=?0;
29?????????}
30?????}
31?}
32?
33?int?dodp(){
34?????int?l,i,j,k;
35?????int?ans?=?0;
36?????memset(dp,0,sizeof(dp));
37?????for(i=0;?i<L;?i++)
38?????????for(j=0;?j<L;?j++)
39?????????????dp[0][i][j]?=?1;
40?????for(l=0;?l<L;?l++){
41?????????int?p1=l%2,?p2=(l+1)%2;
42?????????memset(dp[p2],0,sizeof(dp[p2]));
43?????????for(i=n[0][l][0];?i<=n[0][l][1];?i++){
44?????????????for(j=n[1][l][0];?j<=n[1][l][1];?j++){
45?????????????????k?=?l+1-i-j;
46?????????????????//printf("s%d,%d,%d?",l,i,j);
47?????????????????if(k<n[2][l][0]?||?k>n[2][l][1])?continue;
48?????????????????if(!dp[p1][i][j])?continue;
49?????????????????//printf("y%d,%d,%d(%d)?",l,i,j,dp[p1][i][j]);
50?????????????????if(l==L-1){?ans?+=?dp[p1][i][j];?continue;?}
51?????????????????dp[p2][i+1][j]?=?(dp[p2][i+1][j]+dp[p1][i][j])?%?MOD;
52?????????????????dp[p2][i][j+1]?=?(dp[p2][i][j+1]+dp[p1][i][j])?%?MOD;
53?????????????????dp[p2][i][j]?=?(dp[p2][i][j]+dp[p1][i][j])?%?MOD;
54?????????????}
55?????????}
56?????}
57?????return?ans;
58?}
59?
60?int?main(){
61?????int?i,j,k;
62?????scanf("%d",&T);
63?????while(T--){
64?????????scanf("%d?%d?%d",R,R+1,R+2);
65?????????scanf("%s",S);
66?????????L?=?strlen(S);
67?????????prepare();
68?????????printf("%d\n",dodp());
69?????}
70?????return?0;
71?}
72?



posted on 2009-06-29 21:44 wolf5x 閱讀(303) 評論(0)  編輯 收藏 引用 所屬分類: acm_icpc
<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

"Do not spend all your time on training or studying - this way you will probably become very exhausted and unwilling to compete more. Whatever you do - have fun. Once you find programming is no fun anymore – drop it. Play soccer, find a girlfriend, study something not related to programming, just live a life - programming contests are only programming contests, and nothing more. Don't let them become your life - for your life is much more interesting and colorful." -- Petr

留言簿(3)

隨筆分類(59)

隨筆檔案(43)

cows

搜索

  •  

最新評論

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲激情综合| 亚洲午夜在线观看视频在线| 免费人成精品欧美精品| 久久夜色精品国产欧美乱| 欧美一区深夜视频| 久久精品99| 模特精品裸拍一区| 欧美日韩在线视频首页| 国产毛片精品国产一区二区三区| 国产精品丝袜xxxxxxx| 国产一区高清视频| 91久久香蕉国产日韩欧美9色| 亚洲六月丁香色婷婷综合久久| 中文国产一区| 久久久水蜜桃| 亚洲精品免费一区二区三区| 亚洲女性裸体视频| 久久日韩精品| 欧美午夜激情视频| 尤物在线观看一区| 亚洲免费在线| 亚洲成色精品| 亚洲精品字幕| 亚洲欧美另类中文字幕| 亚洲天堂av高清| 久久久久综合| 一区二区欧美视频| 噜噜噜久久亚洲精品国产品小说| 欧美日韩在线不卡| 在线观看视频欧美| 午夜久久久久久| 欧美黄色一区二区| 午夜亚洲一区| 国产精品xxxxx| 亚洲国产精品久久久久| 欧美伊人久久大香线蕉综合69| 欧美激情综合色| 欧美在线一级va免费观看| 欧美日韩在线观看视频| 91久久精品一区| 久久久久久久久伊人| 亚洲午夜精品网| 欧美精品久久99| 亚洲高清精品中出| 久久综合色天天久久综合图片| 亚洲午夜精品在线| 国产精品久久久久免费a∨| 亚洲精品小视频在线观看| 久久亚洲综合| 久久av老司机精品网站导航| 国产精品一区在线观看你懂的| 一本色道久久88亚洲综合88| 欧美激情bt| 免费成人激情视频| 亚洲国产精品久久久久婷婷老年 | 亚洲福利视频三区| 久久字幕精品一区| 久久久久久香蕉网| 黄色成人在线免费| 久久久久久久性| 欧美一区二区性| 国产一区观看| 久久只精品国产| 久久久久久亚洲精品中文字幕| 国产一区二区主播在线| 久久乐国产精品| 久久久一区二区| 亚洲欧洲一区二区在线播放 | 新片速递亚洲合集欧美合集| 在线中文字幕一区| 国产精品视频免费在线观看| 欧美一区二区| 久久精品人人爽| 亚洲黄色成人网| 亚洲另类在线视频| 中文一区二区在线观看| 欧美午夜精品久久久久久久| 亚洲一区久久久| 亚洲一区二区视频| 国产一区二区三区不卡在线观看| 久久人人看视频| 免费久久99精品国产自| 日韩视频永久免费观看| 一本色道久久综合狠狠躁篇的优点 | 欧美日韩dvd在线观看| 亚洲深夜福利| 午夜精品偷拍| 亚洲精品免费在线观看| 中国成人在线视频| 一区二区在线不卡| 亚洲毛片视频| 国产在线精品自拍| 亚洲精品日韩在线| 国产欧美一级| 欧美激情精品久久久| 国产精品久久久久久久久久久久| 久久久噜噜噜久久| 欧美日韩美女在线| 久久综合色综合88| 国产精品久久久久久久久动漫 | 亚洲欧美日韩一区| 久久精品午夜| 亚洲免费在线| 欧美激情亚洲自拍| 久久久久综合| 国产精品亚洲综合色区韩国| 亚洲国产高清aⅴ视频| 国产三区精品| 99天天综合性| 亚洲国产你懂的| 欧美一区二区三区的| 亚洲图片欧洲图片av| 久热精品视频在线免费观看| 午夜欧美大片免费观看| 欧美精品v日韩精品v国产精品| 久久三级福利| 国产日韩欧美视频| 亚洲图片欧洲图片日韩av| 99re8这里有精品热视频免费| 久久久中精品2020中文| 久久久久久久久久久一区| 欧美午夜精品久久久久久浪潮| 欧美华人在线视频| 伊人婷婷欧美激情| 香蕉免费一区二区三区在线观看| 夜夜嗨av一区二区三区网站四季av | 9l视频自拍蝌蚪9l视频成人| 久久久久久久久久久一区| 午夜亚洲影视| 国产精品www色诱视频| 亚洲精品久久久久久下一站| 亚洲国产另类久久精品| 久久久亚洲综合| 久久露脸国产精品| 久久久av水蜜桃| 久久国产精品久久久久久| 国产精品多人| 亚洲一区二区三区免费视频 | 亚洲成色777777女色窝| 国产在线欧美| 久久综合久久美利坚合众国| 美女日韩在线中文字幕| 精品999久久久| 久久久久国产免费免费| 久久在线精品| 91久久精品国产| 欧美女人交a| 亚洲深夜福利| 久久精品三级| 亚洲高清在线观看| 欧美承认网站| 在线亚洲欧美视频| 久久精品国产综合| 在线日韩一区二区| 欧美精品手机在线| 一区二区欧美亚洲| 久久精品国产96久久久香蕉 | 久久精品视频在线播放| 激情成人综合网| 女人香蕉久久**毛片精品| 亚洲日韩欧美一区二区在线| 午夜亚洲视频| 在线观看视频一区二区| 欧美激情一区二区三区成人 | 亚洲永久免费观看| 巨乳诱惑日韩免费av| 日韩午夜高潮| 国产精品推荐精品| 巨胸喷奶水www久久久免费动漫| 亚洲黄色在线| 欧美在线视频观看| 亚洲日本中文字幕| 国产精品久久久一区二区| 久久精品人人做人人爽| 亚洲精品国产系列| 久久久国产精彩视频美女艺术照福利| 亚洲国产精品视频一区| 国产精品免费在线| 欧美高清视频免费观看| 午夜精品美女久久久久av福利| 亚洲国产精品va| 久久久久久久欧美精品| 亚洲一区在线观看免费观看电影高清| 狠狠色噜噜狠狠狠狠色吗综合| 欧美日一区二区三区在线观看国产免| 久久精品99国产精品| 亚洲一区免费观看| 99热在线精品观看| 欧美激情1区| 久久五月激情| 久久动漫亚洲| 亚洲欧美国产精品va在线观看| 亚洲裸体俱乐部裸体舞表演av| 极品少妇一区二区三区| 国产伦精品一区二区三区照片91| 欧美理论电影在线播放| 免费亚洲一区二区| 蜜桃av综合| 猛男gaygay欧美视频| 巨乳诱惑日韩免费av|