Helvetic Coding Contest 2018 online mirror (teams allowed, unrated) C2.Encryption (medium)

9人阅读 评论(0) 收藏 举报
分类:

传送门:Encryption(medium)


题意:N个数,分成k个连续的序列,把每个序列的数累加取模p,求k个取模结果累加的最大值。

分析:DP, 复杂度O(Nkp)

设dp[i][j]为取模结果i,分为j个区间的最大值,具体见代码~


#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

const int INF = 1e9;
const int maxn = 20000+5;
const int maxp = 100+5;
const int maxk = 55;
int dp[maxp][maxk];
int a[maxn];
int n,k,p;

int main(){
    scanf("%d%d%d",&n,&k,&p);
    for (int i=0; i<=p; i++)
        for (int j=0; j<=k; j++) dp[i][j] = -INF;
    dp[0][0] = 0;
    for (int i=1; i<=n; i++) scanf("%d",&a[i]), a[i] %= p;

    int sum = 0;
    for (int i=1; i<=n; i++) {
        sum = (sum+a[i])%p;
        for (int j=1; j<=k; j++) {
            for (int f=0; f<p; f++)
                dp[sum][j] = max(dp[sum][j],dp[f][j-1] + (sum-f+p)%p );
        }
    }
    printf("%d\n",dp[sum][k]);
    return 0;
}

查看评论

codeforce690A2 Collective Mindsets (medium) (from :Helvetic Coding Contest 2016 online mirror )

“海盗分金”问题,n个人分m个金币(金币是最小单位,不可再分割),首先第一个人提出分配方案,当半数,或半数以上的人同意时,分配完成,不然,杀死第一个人,让第二个人进行提出分配方案,直到人全死光(当然根...
  • dpppBR
  • dpppBR
  • 2016-07-12 23:45:31
  • 777

[最大似然估计 MLE] Codeforces 802DEF Helvetic Coding Contest 2017 D. E. F. Marmots

MLE最大似然估计可以通过观察数据来估计出随机的模型和参数 最大似然估计(Maximum likelihood estimation) Maximum likelihood estimation大...
  • u014609452
  • u014609452
  • 2017-06-17 18:00:06
  • 496

[Codeforces][后缀自动机]Helvetic Coding Contest 2017 . I Fake News (hard)

一看是字符串题,就想一想怎么在后缀自动机上搞有一个跟BZOJ3238 差异差不多的思路,建出原串反串的后缀自动机,那么每个子串的lcp就是对应节点的lca,那么lcp出现次数就是这个节点的right集...
  • Coldef
  • Coldef
  • 2017-05-30 21:21:56
  • 284

Helvetic Coding Contest 2018 online mirror (teams allowed, unrated) easy难度

点击打开链接A1:思维题#include &amp;lt;bits/stdc++.h&amp;gt; using namespace std; char s[15][15],s1[15][15]; i...
  • m0_37428263
  • m0_37428263
  • 2018-04-17 19:37:17
  • 2

2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Prefer

先给一下结果: 单刷被虐成狗,ACM打到怀疑人生,I题的二分答案太丢人了,干脆退竞赛吧!! 233,脸上笑嘻嘻,心里。。。。,这个名次也是够讽刺。 上午校内ACM全场划水,草草地a了三道后,...
  • lemonoil
  • lemonoil
  • 2017-10-22 15:27:49
  • 715

2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Prefer

2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Prefer...
  • Spylft
  • Spylft
  • 2016-10-25 12:41:34
  • 789

UVALive 7061 Dire Wolf (dp)(The 2014 ACM-ICPC Asia Beijing Regional Contest D)

该题就是求最小花费,但不是网络流,是区间DP,算起来因该是区间DP中比较简单的那种了。 我们用dp[i][j]表示在区间[i,j]的最小花费,则它的转移状态为: for(int k=i;k...
  • moon_NO2015
  • moon_NO2015
  • 2015-08-25 11:06:05
  • 533

codeforces883I 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rule

这题还是不错的,题目条件很容易想到是二分答案去做,大于k的集合的划分为了满足一个最小化最大值,这是一个二分的条件。问题是怎么check,在下只想出了笨办法,n的遍历再更新线段树,所以总共nlogn91...
  • Electrodeless_key
  • Electrodeless_key
  • 2017-11-01 19:37:12
  • 194

hdu 5988 Coding Contest (费用流)

思路:求网线被破坏的最小概率可以转化为不被破坏的最大概率来求,这个概率显然就是你要经过哪些点的(1-p)的乘积嘛,那么取个log就变成加法的了,令源点连向人数多余的点,汇点连向食物多余的点,跑一次最小...
  • qq_21057881
  • qq_21057881
  • 2016-11-22 09:08:15
  • 1167

Helvetic Coding Contest 2016 C2. Brain Network (medium)

C2. Brain Network (medium) time limit per test 2 seconds memory limit per test 256 megab...
  • Night_13
  • Night_13
  • 2016-07-11 01:00:47
  • 383
    个人资料
    持之以恒
    等级:
    访问量: 2万+
    积分: 2603
    排名: 1万+
    最新评论