日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

zoj 3725 Painting Storages dp

發(fā)布時(shí)間:2023/12/15 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 zoj 3725 Painting Storages dp 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近做題沒(méi)狀態(tài),其實(shí)我覺(jué)得最大的問(wèn)題就是沒(méi)自信,不敢寫(xiě),還是沒(méi)有勇氣,我發(fā)現(xiàn)這都是自己的性格,生活中的我也是這個(gè)樣子,應(yīng)該在不斷成長(zhǎng)!

題目大意:連續(xù)的n個(gè)點(diǎn),每個(gè)點(diǎn)可以染紅色或者藍(lán)色,求連續(xù)染m個(gè)紅色的點(diǎn)的所有方案數(shù)。

思路:1、對(duì)于連續(xù)的第i個(gè)點(diǎn),如果前面已經(jīng)出現(xiàn)了m個(gè)染紅色的點(diǎn),那么對(duì)于i+1的話就為ans【i]*2;

? ? ? ? ? ? ?2、對(duì)于前面沒(méi)有出現(xiàn)的點(diǎn),那么對(duì)于第i+1個(gè)點(diǎn),那最后m個(gè)就必須出現(xiàn)的,即為a[i-m-1]個(gè),然后減去已經(jīng)出現(xiàn)的ans【i-m-1】,即為結(jié)果!

/ // File Name: 3725.cpp // Author: wang // mail: // Created Time: 2013/9/19 9:04:35 / #include <cstdio> #include <cstdlib> #include <climits> #include <cstring> #include <cmath>#include <algorithm> #include<iostream> #include<queue> #include <map> using namespace std; typedef long long ll; #define INF (INT_MAX/10) #define SQR(x) ((x)*(x)) #define rep(i, n) for (int i=0; i<(n); ++i) #define repf(i, a, b) for (int i=(a); i<=(b); ++i) #define repd(i, a, b) for (int i=(a); i>=(b); --i) #define clr(ar,val) memset(ar, val, sizeof(ar)) #define N 100005 #define mod 1000000007 ll a[N]; ll p[N]; ll ans[N]; int n,m; int main() {a[0]=1;repf(i,1,100000)a[i]=a[i-1]*2%mod;while(scanf("%d%d",&n,&m)!=EOF){if(m>n){printf("0\n");continue;}memset(ans,0,sizeof(ans));ans[m]=1;repf(i,m+1,n){ans[i]=((ans[i-1]*2+a[i-m-1]-ans[i-m-1])%mod+mod)%mod;}// repf(i,1,n) cout<<ans[i]<<" "; cout<<endl;cout<<ans[n]<<endl;}return 0; }

總結(jié)

以上是生活随笔為你收集整理的zoj 3725 Painting Storages dp的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。