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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数目nullRQNOJ-302-统计单词个数--区域dp

發布時間:2023/12/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数目nullRQNOJ-302-统计单词个数--区域dp 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

改章節是一篇關于數目null的帖子

????思路:

????s[i][j]: 在i到j的區間內,有以i掃尾的字典則為1,否則,為0

????sum[i][j]: 在i到j的區間內所包容的字典的數目

????if(s[i][j]==1)sum[i][j]=sum[i+1][j]+1;

????else sun[i][j]=sum[i+1][j];

????dp[i][j]: 表示在0~j的區間內,分紅i份,所包含的字典的總和。

????dp[i][j]=dp[i-1][k]+sum[k+1][j](i-2<=k<j)

????dp[1][j]=sum[1][j];

每日一道理
信念是巍巍大廈的棟梁,沒有它,就只是一堆散亂的磚瓦;信念是滔滔大江的河床,沒有它,就只有一片泛濫的波浪;信念是熊熊烈火的引星,沒有它,就只有一把冰冷的柴把;信念是遠洋巨輪的主機,沒有它,就只剩下癱瘓的巨架。
#include<stdio.h> #include<iostream> #include<string.h> #include<algorithm> #include<queue> #include<stack> #include<map> #include<string> #include<stdlib.h> #define INF_MAX 0x7fffffff #define INF 999999 #define max3(a,b,c) (max(a,b)>c?max(a,b):c) #define min3(a,b,c) (min(a,b)<c?min(a,b):c) #define mem(a,b) memset(a,b,sizeof(a)) using namespace std; struct node {int u;int v;int w;bool friend operator < (node a, node b){return a.w < b.w;} }edge[1001]; int gcd(int n,int m){if(n<m) swap(n,m);return n%m==0?m:gcd(m,n%m);} int lcm(int n,int m){if(n<m) swap(n,m);return n/gcd(n,m)*m;} char dic[10][201]; char str[201]; char st[21]; int sum[201][201]; int s[201][201]; int p,k,ss; int main() {int i,j,n;scanf("%d%d%*c",&p,&k);for(i=0;i<p;i++){gets(st);for(j=i*20;j<i*20+20;j++){str[j]=st[j-i*20];}}n=p*20;scanf("%d%*c",&ss);for(i=0;i<ss;i++){gets(dic[i]);}int mi,is,ks;for(i=0;i<n;i++){mi=n;for(j=0;j<ss;j++){if(str[i]==dic[j][0]){for(ks=0;ks<strlen(dic[j])&&(i+ks)<n;ks++){if(str[ks+i]!=dic[j][ks])break;}if(ks==strlen(dic[j]))mi=min(mi,i+ks-1);}}for(is=mi;is<n;is++){s[i][is]=1;}}for(i=0;i<n;i++)sum[n-1][i]=s[n-1][i];for(i=n-2;i>=0;i--){for(j=i;j<n;j++){if(s[i][j]==1)sum[i][j]=sum[i+1][j]+1;else sum[i][j]=sum[i+1][j];}}int dp[10][201];/* for(i=0;i<n;i++){for(j=0;j<n;j++){printf("%2d ",sum[i][j]);}puts("");}*/for(i=0;i<n;i++){dp[1][i]=sum[0][i];}for(i=2;i<=k;i++){for(j=0;j<n;j++){dp[i][j]=0;for(ks=i-2;ks<j;ks++){dp[i][j]=max(dp[i][j],dp[i-1][ks]+sum[ks+1][j]);}}}cout<<dp[k][n-1]<<endl;return 0; }

文章結束給大家分享下程序員的一些笑話語錄: 一個合格的程序員是不會寫出 諸如 “摧毀地球” 這樣的程序的,他們會寫一個函數叫 “摧毀行星”而把地球當一個參數傳進去。

總結

以上是生活随笔為你收集整理的数目nullRQNOJ-302-统计单词个数--区域dp的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。