C2 - Encryption (medium)

思路:

传统的dp:

dp[i][j] 表示到第i个位置为止,分成j段的最大值

dp[i][j] = max(dp[l][j-1] + (sum[i] - sum[l]) % p) 0<= l < i

优化的dp:

我们发现n很大,但是p很小

于是

dp[i][j] 表示sum取模p后为i,分成j段的最大值

dp[i][j] = max(dp[l][j-1] + (sum[i] - l) % p) 0<= l < p

代码:

#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define pb push_back
#define mem(a, b) memset(a, b, sizeof(a)) const int N = 2e4 + ;
const int INF = 0x3f3f3f3f;
int dp[][], a[N];
int main() {
int n, p, k;
scanf("%d%d%d", &n, &k, &p);
for (int i = ; i <= n; i++) {
scanf("%d", &a[i]);
a[i] += a[i-];
a[i] %= p;
}
for (int i = ; i < p; i++) {
for (int j = ; j <= k; j++)
dp[i][j] = -INF;
}
dp[][] = ;
for (int i = ; i <= n; i++) {
for (int j = k; j >= ; j--) {
for(int l = ; l < p; l ++)
dp[a[i]][j] = max(dp[a[i]][j], dp[l][j-] + ((a[i]-l)%p+p)%p);
}
}
printf("%d\n",dp[a[n]][k]);
return ;
}

Codefroces 958C2 - Encryption (medium)的更多相关文章

  1. Codefroces 958C2 - Encryption (medium) 区间dp

    转自:https://www.cnblogs.com/widsom/p/8857777.html     略有修改 题目大意: n个数,划分为k段,每一段的和mod p,求出每一段的并相加,求最大是多 ...

  2. [Codeforces958C2]Encryption (medium)(区间DP)

    Description 题目链接 Solution 显然的区间DP,正常想法f[i][j]表示前i个数分成j块,每次在i前找一个k使得balala,然而常规打法会超时 我们发现,对于i前面的所有点,他 ...

  3. 20190708三人开黑CF模拟赛

    7月8号晚上8点和两位巨佬开了一场虚拟cf: [Helvetic Coding Contest 2018 online mirror (teams allowed, unrated)] 我这么蔡,只A ...

  4. Dynamics CRM 2015-Data Encryption激活报错

    在CRM的日常开发中,Data Encryption经常是不得不开启的一个功能.但是有时,我们可能遇到一种情况,Organization导入之后,查看Data Encryption是已激活的状态,但是 ...

  5. backup, file manipulation operations (such as ALTER DATABASE ADD FILE) and encryption changes on a database must be serialized.

    昨天在检查YourSQLDba备份时,发现有台数据库做备份时出现了下面错误信息,如下所示: <Exec>   <ctx>yMaint.ShrinkLog</ctx> ...

  6. SQL Server 2014 Backup Encryption

    转载自: Microsoft MVP Award Program Blog 来源:Microsoft MVP Award Program Blog 的博客:https://blogs.msdn.mic ...

  7. XShell 无法匹配的outgoing encryption算法 ,No matching outgoing encryption algorithm found

    在链接的属性(SSH -> 安全性) 的加密算法列表中选择 aes256-ctr, mac加密列表中选择hmac-sha2-256,保存即可 To enable hmac-sha2-256 an ...

  8. SQL Server安全(9/11):透明数据加密(Transparent Data Encryption)

    在保密你的服务器和数据,防备当前复杂的攻击,SQL Server有你需要的一切.但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念.这篇文章提供了基础,因此你可以对SQL Se ...

  9. SQL Server安全(8/11):数据加密(Data Encryption)

    在保密你的服务器和数据,防备当前复杂的攻击,SQL Server有你需要的一切.但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念.这篇文章提供了基础,因此你可以对SQL Se ...

随机推荐

  1. Zookeeper本地模式安装

    本地模式安装部署 1.安装前准备 (1)安装Jdk (2)拷贝Zookeeper安装包到Linux系统下 (3)解压到指定目录 tar -zxvf zookeeper-3.4.10.tar.gz -C ...

  2. P3366 【模板】最小生成树(boruvka/sollin)

    P3366 [模板]最小生成树 boruvka/sollin 复杂度$O(mlogn)$ 简要说明一下过程 引入一个数组$link[i]$表示连通块$i$下一步可更新的最短的边的编号 1.每次枚举所有 ...

  3. JS使用onscroll、scrollTop实现图片懒加载

    今天做到项目中的图片展示,由于每一页的图片数量都很多,因此需要为图片的展示设计一种懒加载的功能. 第一要做的当然就是给程序添加滚动监听事件. //触发拉取图片开关,保证正在拉取时不能再次触发 var ...

  4. linux下配置nginx使用ftp目录作为静态资源文件的目标目录

    1.安装ftp服务,可以直接yum install vsftpd. 2.设置随机启动,chkconfig vsftpd on. 3.启动ftp服务,service vsftpd start. 4.配置 ...

  5. windows下常用linux对应工具

    tail 可从http://files.cnblogs.com/hantianwei/tail.zip下载,解压后exe,如下: e:\>tail -fn 300 tool-slow.logus ...

  6. Android开发发布真机调试

    使用真机测试原因: 1. 模拟器启动慢,真机测试速度较快 2. 有些程序在真机测试才有效,模拟器存在bug,结果要以真机为标准 连接方法: 1.设置手机为开发者模式(设置->关于手机->连 ...

  7. tcp客户端封装

    1.头文件 #ifndef TCPCLIENT_H #define TCPCLIENT_H #include <QTcpSocket> class TcpClient : public Q ...

  8. Logger级别和输出的地方

    转载自http://blog.csdn.net/u014756827/article/details/52475990 log4j日志配置 关键字: apache log4j 1.配置根Logger: ...

  9. topcoder srm 540 div1

    problem1 link 设第一个数字为$x$,那么第2到第$n$个数字都可以表示成$a+bx$的形式,其中$b=1$或者$b=-1$.然后可以求出关于$x$的一些范围,求交集即可. problem ...

  10. django过滤器,日期格式化

    过滤器相关: 一.形式:小写{{ name | lower }} 二.串联:先转义文本到HTML,再转换每行到 标签{{ my_text|escape|linebreaks }} 三.过滤器的参数显示 ...