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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/531642.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle表空间 设置,Oracle表空间怎么设置和管理

前言表空间是 Oracle 特有的一种逻辑结构&#xff0c;是管理和组织 Oracle 数据文件一种方式&#xff0c;一个Oracle 数据库能够有一个或多个表空间&#xff0c;而一个表空间则对应一个或多个物理的数据库文件。Oracle 的表空间分为永久空间和临时表空间&#xff0c;同时又分为…

2014 网选 5024 Wang Xifeng's Little Plot

题意&#xff1a;从任意一个任意一个可走的点开始找一个最长的路&#xff0c;这条路如果有转弯的话&#xff0c; 那么必须是 90度&#xff0c;或者没有转弯&#xff01; 思路&#xff1a; 首先用dfs将所有可走点开始的 8 个方向上的线段的最长长度求出来 &#xff01; step[i][…

aix升级新安装oracle,AIX 5L上安装和升级Oracle

1、检查环境检查硬件与OS位数&#xff0c;一定确保64bit#bootinfo -y64#bootinfo -K64检查内存大小&#xff0c;至少需要512M以上#/usr/sbin/lsattr -E -l sys0 -a realmemrealmem 12582912 Amount of usable physical memory in Kbytes False 临时目录的大小&#xff0c;至少5…

Adobe InDesign各版本安装指南

下载链接 https://pan.baidu.com/s/11sTpMUbQEXhyjpkBlixcLg?pwd0531 #2024版 1.鼠标右击【Ai2024(64bit)】压缩包&#xff08;win11及以上系统需先点击“显示更多选项”&#xff09;【解压到 Ai2024(64bit)】。 2.打开解压后的文件夹&#xff0c;鼠标右击【Setup】选择【以…

java中如何将JScrollPane的垂直滚动条自动移动到最下端

JPanel QQP new JPanel();              JScrollPane jsp new JScrollPane(QQP);              JScrollBar jsb jsp.getVerticalScrollBar();QQP.updateUI();//利用当前外观的值重置 UI 属性。 也可以保证滚动条随时的更新//终于搞好了&#xf…

codeforces MUH and Important Things

/*   题意&#xff1a;给一个序列&#xff0c;表示每一项任务的难度&#xff0c;要求完成每一项任务的循序是按照难度由小到大的&#xff01;输出三种符合要求的工作顺序的序列&#xff01;   思路&#xff1a;直接看代码.... */ 1 #include<iostream>2 #include<…

oracle11g ogg报价,Oracle11g GoldenGate配置错误OGG-00868 Attaching to ASM server

GGSCI (CBDBS01) 9> start eiexaa错误&#xff1a;2011-02-24 10:32:45 ERROR OGG-00868 Oracle GoldenGate Capture for Oracle, eiexaa.prm: Attaching to ASM server CBOMS:1568/ASM1: (12154) ORA-12154: TNS:could not resolve the connect identifier specified.…

Linux启动更新命令,Linux更新和查询命令chkconfig详细介绍

chkconfig在Linux下是管理服务/启动项在各个系统运行级别中的设置&#xff0c;在Linux中系统有7个运行级别&#xff0c;分别是&#xff1a;1.运行级别0&#xff1a;表示关机2.运行级别1&#xff1a;表示单用户模式3.运行级别2&#xff1a;无网络连接的多用户命令行模式4.运行级…

怎样永久更改嵌入式linux系统ip,如何修改嵌入式系统IP

如何修改嵌入式系统IP(2012-06-05 01:36:56)标签&#xff1a;嵌入式如何杂谈如何修改嵌入式系统IP我的嵌入式设备的根文件系统是用busybox作的&#xff0c;现在我想在程序里面更改它的IP地址等网络信息&#xff0c;但是没有找到方法&#xff0c;希望有知道的给我帮助&#xff0…

codeforces MUH and Cube Walls

题意&#xff1a;给定两个序列a ,b, 如果在a中存在一段连续的序列使得 a[i]-b[0]k, a[i1]-b[1]k.... a[in-1]-b[n-1]k 就说b串在a串中出现过&#xff01;最后输出b串在a串中出现几次&#xff01; 思路&#xff1a; KMP变形&#xff01;如何转换成KMP求解呢&#xff1f; 举一个例…

linux release 版本的区别,编译debug版本和编译release版本的区别

大项目的版本编译会区别debug和release&#xff0c;那debug和release会有什么区别呢&#xff1f;通过对比这两者的编译选项可以找到答案。1.对比编译过程debug:-DOS_LINUX -DDEBUG_VERSION -fno-builtin -pipe -Wall -fsigned-char -g-mlongcall -DCPUPPC85XX -mcpu8548 -m…

java模仿qq好友面板的布局(BoxLayout问题)

..............JLabel ll new JLabel(dlg.getNameText() ":" dlg.getIPText(), ii[index], JLabel.LEFT);tmp new JPanel();//将标签添加到这个面板中tmp.setLayout(new FlowLayout(FlowLayout.CENTER));tmp.setBackground(new Color(255, 0, 255));/** BoxLayo…

linux apple开发环境,Objective-C开发环境设置

如果要安装自己的Objective-C编程语言编程环境&#xff0c;则需要在计算机上安装文本编辑器和GCC编译器。1. 文本编辑器文本编辑器用于编写程序代码。一些常见的编辑器如&#xff1a;Windows Notepad&#xff0c;OS Edit命令&#xff0c;Brief&#xff0c;Epsilon&#xff0c;E…

codeforces C. Design Tutorial: Make It Nondeterministic

题意&#xff1a;每一个人 都有frist name 和 last name&#xff01; 从每一个人的名字中任意选择 first name 或者 last name 作为这个人的编号&#xff01;通过对编号的排序&#xff0c;得到每一个人 最终顺序&#xff01;比较中的序列能否得到给定输出的序列一致&#xff01…

Linux系统扩硬盘,Linux系统硬盘扩容

1、查看硬盘已经用了99%$ df -h #查看硬盘已经使用了99%文件系统 容量 已用 可用 已用% 挂载点devtmpfs 2.0G 0 2.0G 0% /devtmpfs 2.0G 12K 2.0G 1% /dev/shmtmpfs 2.0G 11M 2.0G 1% /runtmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup/dev/mapper/centos-root 47G 47G 687M 99% / ####…

codeforce A. Design Tutorial: Learn from Math

题意&#xff1a;将一个数拆成两个合数的和&#xff0c; 输出这两个数&#xff01;&#xff08;这道题做的真是TMD水啊&#xff09;开始的时候不知道composite numbers是啥意思&#xff0c;看了3遍才看懂.... 看懂之后又想用素数筛选法来做&#xff0c;后来决定单个判断一个数是…

设置密码命名是什么linux,orapwd 工具建立密码文件遵守的命名方法

orapwd 工具建立建立的密码文件 一定要orapw实例名吗我在11g和10g 测试是必须要 orapw实例名 才能登录成功以下是验证过程[oracleasm dbs]$ rm orapwasm[oracleasm dbs]$ orapwd fileorapwdasm passwordabcdefg entries10[oracleasm dbs]$ sqlplus /nologSQL*Plus: Release 10.…

codeforces B. Design Tutorial: Learn from Life

题意&#xff1a;有一个电梯&#xff0c;每一个人都想乘电梯到达自己想要到达的楼层&#xff01;从a层到b层的时间是|a-b|&#xff0c; 乘客上下电梯的时间忽略不计&#xff01;问最少需要多少的时间.... 这是一道神题啊&#xff0c;自己的思路不知不觉的就按照注解的思路走…

arm linux 中断优先级,ARM中断处理过程

以s3c2440 ARM9核为例&#xff1a;一:s3c2440 ARM处理器特性&#xff1a;1、S3C2440支持60个中断源&#xff0c;含子中断源&#xff1b;2、ARM9采用五级流水线方式&#xff1b;3、支持外部中断和内部中断&#xff1b;二、s3c2440 支持的寄存器&#xff1a;2.1 外部中断寄存器24…

codeforces D. Design Tutorial: Inverse the Problem

题意&#xff1a;给定一个矩阵&#xff0c;表示每两个节点之间的权值距离&#xff0c;问是否可以对应生成一棵树&#xff0c; 使得这棵树中的任意两点之间的距离和矩阵中的对应两点的距离相等&#xff01; 思路&#xff1a;我们将给定的矩阵看成是一个图&#xff0c;a 到 b会有…