Codeforces Contest766C
来源:互联网 发布:淘宝卖家积分规则 编辑:程序博客网 时间:2024/06/04 00:21
照抄别人的解法来的,以下是原作地址
http://blog.csdn.net/jeremy1149/article/details/54922312
还是有不理解的地方,写到自己的博客里以后方便查找
#include <iostream>#include <algorithm>#include <string>#include <cstring>#include <cmath>#define LL long long#define INF 0x7fffffff#define MOD 1000000007using namespace std;LL dp[1005];//存储长度为i时最大方案数int MinSubNum[1005];//存储长度为i时最少分割的段数int Letter[26];char Str[1005];bool Check( int Start, int End ){ int Length = End-Start+1; for( int i = Start; i <= End; i++ ) { if( Letter[Str[i]-'a'] < Length ) return false; } return true;}int main(){ int n; ios::sync_with_stdio(false); while( cin >> n ) { int mmax = -1; cin >> Str+1; for( int i = 0; i < 26; i++ ) cin >> Letter[i]; memset( dp, 0, sizeof(dp) ); dp[0] = 1; MinSubNum[0] = 0; for( int i = 1; i <= n; i++ ) { MinSubNum[i] = INF; for( int j = 1; j <= i; j++ ) { if( Check(i-j+1, i) ) { dp[i] = (dp[i]+dp[i-j]) % MOD; MinSubNum[i] = min( MinSubNum[i], MinSubNum[i-j]+1 ); mmax = max(mmax, j); } else break; } } cout << dp[n] << endl; cout << mmax << endl; cout << MinSubNum[n] << endl; } return 0;}
0 0
- Codeforces Contest766C
- codeforces~~~
- Codeforces
- codeforces
- Codeforces
- codeforces
- codeforces
- Codeforces
- Codeforces
- CodeForces
- CodeForces
- CodeForces
- CodeForces
- CodeForces
- Codeforces
- Codeforces
- Codeforces
- Codeforces
- Linux
- C++之Deque容器初学(二)
- html5自定义字体
- select count(*)、count(1)、count(主键列)和count(包含空值的列)有何区别?
- linux 命令行远程登录 后台运行命令的方法
- Codeforces Contest766C
- Mysql 服务无法启动 服务没有报告任何错误
- Spring profile 多环境配置 简记
- CSS3知识点整理(二)----CSS3选择器
- semantic-ui的权威官网
- 获取时间函数的统计
- JavaScript入门语法
- EasyUI Datagrid 鼠标悬停显示单元格内容
- scala类型系统:协变与逆变