#include#include#include#include#include#include#include#includeusingnamespacestd;typedeflonglong" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

hdu 4632 Palindrome subsequence

系統 2682 0

http://acm.hdu.edu.cn/showproblem.php?pid=4632

簡單DP

代碼:

      #include<iostream>

#include<cstdio>

#include<algorithm>

#include<string>

#include<cstring>

#include<cmath>

#include<set>

#include<vector>

#include<list>

using namespace std;



typedef long long ll;

typedef pair<double,double>ppd;

const double PI = acos(-1.);

const double eps = (1e-9);

const int MOD=10007;

const int N=1005;

char s[N];

int ans[N][N];

int dp(int l,int r)

{

    if(ans[l][r]!=-1)

    return ans[l][r];//記憶化

    ans[l][r]=0;

    if(l==r)//邊界

    return (ans[l][r]=1);

    if(l+1==r)//邊界

    {

        ans[l][r]=2;

        if(s[l]==s[r])

        ++ans[l][r];

        return ans[l][r];

    }

    if(s[l]==s[r])//以l和r 為左右端點的情況 其中的1表示的是單獨的l和r也是一個回文

    ans[l][r]+=dp(l+1,r-1)+1;

    ans[l][r]+=(dp(l+1,r)+dp(l,r-1)-dp(l+1,r-1));//把多加的減掉

    ans[l][r]%=MOD;

    if(ans[l][r]<0)

    ans[l][r]+=MOD;

    return ans[l][r];

}

int main()

{

    //freopen("data.in","r",stdin);

    int T;

    scanf("%d",&T);

    for(int c=1;c<=T;++c)

    {

        scanf("%s",s);

        memset(ans,-1,sizeof(ans));

        printf("Case %d: %d\n",c,dp(0,strlen(s)-1));

    }

    return 0;

}


    

?

hdu 4632 Palindrome subsequence


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 板桥市| 侯马市| 乌拉特后旗| 延寿县| 靖远县| 阳江市| 光泽县| 呼和浩特市| 平遥县| 萝北县| 武强县| 台南县| 巴楚县| 莱阳市| 汽车| 陆丰市| 孟州市| 临夏市| 廉江市| 惠水县| 大连市| 六盘水市| 巴彦县| 焦作市| 内乡县| 揭西县| 金堂县| 贡山| 调兵山市| 社旗县| 普陀区| 淮阳县| 清水河县| 安溪县| 辽阳市| 墨玉县| 德格县| 和平县| 松桃| 永川市| 望奎县|