codeforces George and Job
1 /* 2 题意:给一个长度为n的序列, 从中选择长度为m的k个区间(任意两个区间不会有公共部分) 3 使得所选择的区间的和最大! 4 思路:这是一种很常见的dp 5 6 dp[i][j] 表示的是前 i 个数选择 j 个 长度为m区间的最大和! 7 s[i]记录的是前 i 个数字的和! 8 dp[i][j] = max( dp[i - 1][j], dp[i - m][j - 1] + s[i] - s[i-m] ); 9 */ 10 #include<iostream> 11 #include<cstdio> 12 #include<cstring> 13 #include<algorithm> 14 #define N 5005 15 using namespace std; 16 typedef long long ll; 17 18 ll dp[N][N]; 19 ll s[N]; 20 21 int main(){ 22 int n, m, k; 23 scanf("%d%d%d", &n, &m, &k); 24 for(int i = 1; i <= n; ++i){ 25 scanf("%lld", &s[i]); 26 s[i] += s[i-1]; 27 } 28 29 for(int j = 1; j <= k; ++j) 30 for(int i = j*m; i <= n; ++i) 31 dp[i][j] = max( dp[i - 1][j], dp[i - m][j - 1] + s[i] - s[i-m] ); 32 33 printf("%lld\n", dp[n][k]); 34 35 return 0; 36 }
附一个经典的dp! 题意: 给定2个字符串a, b,求b的子序列在a中出现的次数。要求可以是不连续的,但是b在a中的顺序必须和b以前的一致。 思路: dp[i][j]表示:b的前j个字符在a的前i个字符中出现的次数。 似乎这种表示方法司空见惯,但是一开始我还真没能搞懂如何去递推。事情的真相是: 如果a[i] == b[j]则 dp[i][j] = dp[i-1][j] + dp[i-1][j-1]; 如果a[i] != b[j]则 dp[i][j] = dp[i-1][j];
转载于:https://www.cnblogs.com/hujunzheng/p/3991460.html
codeforces George and Job相关推荐
- 【CodeForces - 467C】George and Job(dp,思维)
题干: The new ITone 6 has been released recently and George got really keen to buy it. Unfortunately, ...
- Codeforces Round #267 Div2 C George and Job --DP
题意:把长度为n的序列分成k个m长的连续小序列,这些连续小序列的和最大是多少. 解法:显然DP. 定义: dp[i][j] 为前 i 个元素分成j个m端,且 i 是第j个的末尾的最大和. 那么有: d ...
- CodeForces - 467C George and Job(二维dp)
题目链接:点击查看 题目大意:给出n个数,现在要从中选取k段长度为m的不相交的子数列,问如何选择能使得覆盖的数之和最大 题目分析:读完题之和就感觉是个dp题,但不会呀,去看了题解才会的.. 因为要选取 ...
- CodeForces - 387D George and Interesting Graph(二分图最大匹配+暴力)
题目链接:点击查看 题目大意:给出n个点和m条边组成的有向图,现在我们需要找出一个点作为中心点,然后增加或减少边的条数以达到下面的目标: 除了中心点外,其他的每个点的入度为2且出度为2 中心点和每个点 ...
- Codeforces Gym 100187D D. Holidays 排列组合
D. Holidays Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100187/problem/D ...
- Codeforces上通过数超过5W人的题
Codeforces上通过数超过5W人的题 共32题:1000分4题,800分28题. 编号 题号 题名 分数 通过数 1 4A Watermelon 800 x193501 2 71A Way To ...
- CodeForces - Feng Shui(半平面交)
题目链接:http://codeforces.com/gym/101650/attachments Time Limit: 2000MS Memory Limit: 65536K Descriptio ...
- 【Codeforces】A2组刷题记录(50 / 50)完结
目录 A1. Counterexample A2. Good Number A3. Dice Tower ★A4. Alyona and Numbers A5. Mountain Scenery rz ...
- CodeForces 375D Tree and Queries
传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...
最新文章
- 回归算法 - 线性回归求解 θ(最大似然估计求解)
- 复旦 哈工大计算机学院,国内高校中哈工大和上交复旦在一个档次吗?从这些方面看你就知道...
- 【完整代码】使用Semaphore实现限流代码示例
- 免费好用的web应用托管平台
- vscode 设置断点知乎_vscode 代码自动换行设置
- 前端学习(2545):找不到模块
- matlab怎么打出角频率,[Matlab]频率f,角频率Ω和数字频率w的物理含义
- JDBC的API与德鲁伊Druid连接池配置
- memcached群集
- 通过修改控制文件scn推进数据库scn
- 濛濛有感——懂与不懂(一)
- 522. 最长特殊序列 II
- 百家号在线视频编辑器的技术演进
- Matlab符号计算与数值计算对比
- 计算机强制关机后重启报错,电脑开起来就自动关机
- python str转为list,dict,tuple等 eval,exec,
- linksys 路由器刷机备忘
- vscode安装open in browser报错
- 项目 --- 《水晶报表》
- Linux:安装和配置tomcat详细教程
热门文章
- html提现页面模板,提现记录.html
- Centos/Red Hat6.8 安装、配置、启动Gitlab (内网环境)心得分享
- RuoYi-Cloud 部署篇_02(linux环境 Oracle +nginx版本)
- linux查看openssh和openssl版本命令
- SFTP多用户权限 linux环境 一站式解决方案
- Spring Boot 配置SSL 实现HTTPS
- 实战_02_Spring SpringMVC 整合Mybaits
- 系统架构设计师 - 软件架构设计 - 基于架构开发方法 ABSD (Architecture-Based Soft Design)
- 使用hbuilder的maps模块调起百度地图导航
- 可能这些是你想要的H5软键盘兼容方案