国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

藍(lán)橋杯 k好數(shù) 動(dòng)態(tài)規(guī)劃

2019-11-11 02:53:47
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
問(wèn)題描述

如果一個(gè)自然數(shù)N的K進(jìn)制表示中任意的相鄰的兩位都不是相鄰的數(shù)字,那么我們就說(shuō)這個(gè)數(shù)是K好數(shù)。求L位K進(jìn)制數(shù)中K好數(shù)的數(shù)目。例如K = 4,L = 2的時(shí)候,所有K好數(shù)為11、13、20、22、30、31、33 共7個(gè)。由于這個(gè)數(shù)目很大,請(qǐng)你輸出它對(duì)1000000007取模后的值。

輸入格式

輸入包含兩個(gè)正整數(shù),K和L。

輸出格式輸出一個(gè)整數(shù),表示答案對(duì)1000000007取模后的值。樣例輸入4 2樣例輸出7數(shù)據(jù)規(guī)模與約定

對(duì)于30%的數(shù)據(jù),KL <= 106;

對(duì)于50%的數(shù)據(jù),K <= 16, L <= 10;

對(duì)于100%的數(shù)據(jù),1 <= K,L <= 100。

k好數(shù)思路:要得到所有的L位K進(jìn)制數(shù)的k好數(shù),我們需要先得到L-1位K進(jìn)制數(shù)的k好數(shù),再將其中第L位與第L-1位相鄰的數(shù)去掉即可。(子問(wèn)題

如果理解了上面那句話,那么我們只需要從1位開(kāi)始遞推到L位的K進(jìn)制數(shù)即可。

定義一個(gè)二維數(shù)組dp[i][j],其中 i表示位數(shù) j表示第一位數(shù)

即求出1位K進(jìn)制數(shù)的k好數(shù)個(gè)數(shù),dp[1][j],求出2位K進(jìn)制數(shù)的k好數(shù)個(gè)數(shù) dp[2][j],如此遞推下去直到L位,

再將保存L位開(kāi)頭從1到K-1的K進(jìn)制的k好數(shù)相加

AC代碼片段如下:

結(jié)合代碼更好理解一點(diǎn)

 #include<iostream>#include<algorithm>#include<memory.h>using namespace std;#define mod 1000000007  typedef long long ll;ll dp[110][110];   //dp[i][j] 表示 i 位數(shù) 且 j為第一位的k好數(shù)個(gè)數(shù)int k;				//k進(jìn)制 int l;  			//l位數(shù) int main(){	ll sum=0;				//總計(jì) 	cin>>k>>l;	memset(dp,0,sizeof(dp));	for(int j=0;j<k;j++){			dp[1][j] =1;		//1位數(shù)的K好數(shù)    	}	for(int i=2;i<=l;i++){  		//從2位數(shù)到l位數(shù),動(dòng)態(tài)規(guī)劃 		for(int j=0;j<k;j++){		//第一位數(shù)為j 			for(int f=0;f<k;f++){	//第二位數(shù)為f 				if(f+1!=j && f-1!=j){ //不是相鄰的數(shù)					dp[i][j] += dp[i-1][f];					dp[i][j] %= mod; 				} 			} 		} 	}	for(int j=1;j<k;j++){			//	去掉第一位為0的k好數(shù) 		sum += dp[l][j] ;		sum %= mod;	} 	cout<<sum;	return 0;}


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 溆浦县| 叙永县| 田林县| 无锡市| 新营市| 柳河县| 东城区| 柳河县| 玉环县| 专栏| 万安县| 资源县| 临夏市| 太原市| 焦作市| 齐齐哈尔市| 万州区| 黔西县| 通海县| 奉节县| 新晃| 大荔县| 民权县| 唐山市| 海南省| 海安县| 郑州市| 江源县| 全椒县| 阆中市| 漠河县| 蕉岭县| 新竹县| 怀来县| 新营市| 大悟县| 扶余县| 连江县| 聂拉木县| 东平县| 蒲城县|