HDU4055 - number string(DP)

題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=4055

思路:dp[i][j]表示處理前i個字符以j結尾可能的序列數。
當a[i]=='I'時,dp[i][j]=sum(dp[i-1][k]),(1<=k<=j-1), 可進一步化為dp[i][j-1]+dp[i-1][j-1]。
當a[i]=='D'時,dp[i][j]=sum(dp[i-1][k]),(j<=k<=i-1),可進一步化為dp[i][j+1]+dp[i-1][j]。
當a[i]=='?'時,dp[i][j]=sum(dp[i-1][k]),(1<=k<=i-1)。

#include<cstdio>
#include<cstring>
using namespace std;
const int N = 1e3 + 5;
const int mod = 1e9 + 7;
char a[N];
int dp[N][N];
int main()
{while(~scanf("%s",a+2)){memset(dp,0,sizeof(dp));int len = strlen(a+2) + 1;dp[1][1] = 1;for(int i = 2 ;i <= len ;i++){if(a[i] == 'I'){for(int j = 2 ;j <= i ;j++)dp[i][j] = (dp[i][j-1] + dp[i-1][j-1]) % mod;}else if(a[i] == 'D'){for(int j = i-1 ;j >= 1 ;j--)dp[i][j] = (dp[i][j+1] + dp[i-1][j]) % mod;}else{int sum = 0;for(int j = 1 ;j <= i-1 ;j++)sum = (sum + dp[i-1][j]) % mod;for(int j = 1 ;j <= i ;j++)dp[i][j] = sum;}}int ans = 0;for(int i = 1 ;i <= len ;i++)ans = (ans + dp[len][i]) % mod;printf("%d\n",ans);}return 0;
}

?



?

轉載于:https://www.cnblogs.com/westwind1005/p/5975202.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/271008.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/271008.shtml
英文地址,請注明出處:http://en.pswp.cn/news/271008.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

什么是字面量

1:字面量 字面量就是比如說int a 1; 這個1就是字面量 &#xff0c;a是變量名 又比如String b "abc";這個abc就是字面量&#xff0c;b是變量名

oracle ebs 基于host(主機文件)并發程序的開發,Oracle EBS 基于Host(主機文件)并發程序的開發...

您可以將程序命名為 .prog,其中 是在“可執行并發程序”窗口的“執行文件”字段中輸入的值。然后,使用執行文件名(無擴展名)創建與 fndcpesr 的符號鏈接,其中 fndcpesr 位于 $FND_TOP/$APPLBIN 目錄下。Oracle EBS 基于Host(主機文件)并發程序的開發主語言并發程序您可以將程序…

摩托羅拉v8對講機驅動軟件_摩托羅拉數字機如何設置“個性”提示音

諾基亞手機的開機鈴聲是很多70后 80后的回憶&#xff0c;給心愛的“摩機”P8668i配上一段開機鈴聲“Hello MOTO”,既俏皮又炫酷。如果設置個性提示音&#xff0c;今天就給大家簡單示范下。一、第一種語音提示是“文本轉語音”以P8668i對講機為例&#xff0c;CPS軟件里面可以選擇…

電腦快捷鍵:關于shift鍵的11個實用技巧

今天要和大家一起聊一下我們電腦鍵盤上那些關于shift鍵的事兒。提起電腦鍵盤上的shift鍵大家一定很熟悉&#xff0c;因為在平常使用電腦的時候呢會經常的用到它。 可是大家知道嗎&#xff1f;shift按鍵除了我們平常使用的那些功能和作用以外&#xff0c;它還有11個你有可能不知…

洛谷P1061 Jam的計數法

題目描述 Jam是個喜歡標新立異的科學怪人。他不使用阿拉伯數字計數&#xff0c;而是使用小寫英文字母計數&#xff0c;他覺得這樣做&#xff0c;會使世界更加豐富多彩。在他的計數法中&#xff0c;每個數字的位數都是相同的&#xff08;使用相同個數的字母&#xff09;&#xf…

java中final使用

final關鍵字可以用來修飾引用、方法和類。 1、用來修飾一個引用 如果引用為基本數據類型&#xff0c;則該引用為常量&#xff0c;該值無法修改&#xff1b; 如果引用為引用數據類型&#xff0c;比如對象、數組&#xff0c;則該對象、數組本身可以修改&#xff0c;但指向該對象或…

oracle未過賬是什么意思,EBS R12 GL過帳問題(急)

憑證在過賬時出現以下錯誤日志&#xff0c;麻煩幫忙分析下是什么原因。謝謝&#xff01;---------------------------------------------------------------------------總帳管理系統: Version : 12.0.0Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.GLP…

曲線的生成算法實現_PCGPlanet1-地形生成算法簡介

比較常用的地形生成算法有三種&#xff1a;四叉樹算法,GeoMipmap算法&#xff0c;移動立方體算法目前市面游戲采用的方案基本都是以這三種算法為基礎實現的&#xff0c;下面依次進行介紹四叉樹算法很經典的算法&#xff0c;在沒有GPU的時代就已經出現了&#xff0c;原始算法是純…

數據庫安全:數據庫加密技術介紹

數據庫加密是計算機系統對信息進行保護的一種最可靠的方法。它利用密碼技術對信息進行加密&#xff0c;實現信息屏蔽&#xff0c;從而起到保護信息安全的作用。對數據庫中的數據進行加密&#xff0c;可以防止數據在存儲和傳輸過程中失密。常用的數據加密技術按照作用不同分為數…

poj 1201 差分約束

轉自&#xff1a;優YoU http://user.qzone.qq.com/289065406/blog/1307063918 大致題意&#xff1a; 給出數軸上的n個區間[ai&#xff0c;bi]&#xff0c;每個區間都是連續的int區間。 現在要在數軸上任意取一堆元素&#xff0c;構成一個元素集合V 要求每個區間[ai&#xff0c…

oracle11 刪除表空間,oracle11g啟動停止服務,修改字符集,導入導出,創建刪除表空間,卸載oracle等...

oracle11g啟動停止服務,修改字符集,導入導出,創建刪除表空間,卸載oracle等1. 【啟動停止服務】//啟動停止監聽 www.2cto.comlsnrctl start;lsnrctl stop;//啟動停止服務sqlplus orcl as sysdba; //登錄>shutdown immediate;>STARTUP;或者ps -ef|grep ora_dbw0_$O…

Java中包裝類型和基本類型的使用場景(阿里開發規范)

基本數據類型和包裝數據類型推薦使用場景 所有的 POJO 類屬性必須使用包裝數據類型RPC 方法的返回值和參數必須使用包裝數據類型所有的局部變量推薦使用基本數據類型

數據庫:整理四個實用的SQLServer腳本函數

今天給大家分享小編自己日常工作積累的四個SQLServer腳本函數 目錄 1、字符串指定字符分割為list 2、數字去掉末尾的0 3、創建表、視圖、函數、存儲過程判斷是否存在 4、金額轉換為大寫 1、字符串指定字符分割為list 功能&#xff1a;主要適用于數據庫字段存儲字段用逗號等分隔…

python排名分析_用Python分析了近幾年胡潤排行榜,我酸了……

10 月 20 日&#xff0c;胡潤研究院發布《2020 胡潤百富榜》&#xff0c;也就是富富富豪排行榜杭州的馬云毫無懸念的再次摘下中國首富桂冠&#xff0c;深圳的馬化騰位列第二榜單被我翻爛了&#xff0c;還是沒有找到我的名字&#xff0c;難道是被遺漏了嗎&#xff1f;&#xff1…

sublime代碼片段

創建方法&#xff1a;Tools > New Snippet 這時你會看到如下示例代碼&#xff1a; <snippet><content><![CDATA[Hello, ${1:this} is a ${2:snippet}.]]></content><!-- Optional: Set a tabTrigger to define how to trigger the snippet -->…

定義DO/DTO/VO等POJO類時,不要設定任何屬性默認值

定義DO/DTO/VO等POJO類時&#xff0c;不要設定任何屬性默認值

php事務 面向對象,關于PHP面向對象的事務腳本模式

下面為大家帶來一篇PHP面向對象之事務腳本模式(詳解)。內容挺不錯的&#xff0c;現在就分享給大家&#xff0c;也給大家做個參考。如下所示&#xff1a;/*事務腳本模式: 類似于thinkphp中的model層&#xff0c;或者說就是操作數據庫的類。個人覺得實踐中使用起來還是挺簡單方便…

分布式數據庫相關概念介紹

1、分布式數據庫的概念分布式數據庫系統&#xff08;Distributed Database System&#xff0c;DDBS&#xff09;是針對面向地理上分散&#xff0c;而管理上有需要不同程度集中管理的需求而提出的一種數據庫管理信息系統。2、分布式數據庫系統組成LDBMS(Local DBMS)&#xff1a;…

社會管理網格化 源碼_為什么說網格化管理是基層社會治理的有效武器

在社會治安綜合治理中網格化管理是當前各地加強基層社會治理的一種有效“武器”。為什么要說網格化管理是基層社會治理的有效“武器”&#xff1f;這就要為大家講講以下幾點了&#xff0c;好讓大家清楚的明白為什么。網格化管理適應當代社會的基本特性。網格化服務管理是當前城…

【Time系列一】datetime的妙用

今天在弄個自動關機小腳本的時候&#xff0c;遇到了時間轉換的問題&#xff0c;也難怪&#xff0c;以前沒學過&#xff0c; 不能怪我不會哦! 首先&#xff0c;先學會打印出當前時間的幾種方式 參考開源社區: http://my.oschina.net/u/1032854/blog/198179#OSC_h1_3 菜鳥編程:…