题目

就是一个英雄瞎搞之类为世界作出贡献,蓝后某zz公司免费给他糖,然后由于某些原因他只能拿能整除k数量糖果,然后每个盒子里有一定数量的糖果,拿了盒子就必须拿完里面所有的糖果,求他怎么拿的最多。


输入

5 7
1
2
3
4
5

输出

14

样例解释

Dzx的选择是2+3+4+5=14,这样糖果总数是7的倍数,并且是总数最多的选择。


解题思路

emmmmmmmmmmmmmmmmmmmmmmm?其实我开始是用背包做的,但是数据忒大了QAQ。所以……
好吧,讲正事
我们用f[i][j]表示前i个糖果数量%k余j时的最大值。蓝后我们就可以酱紫做。一个是选择这个糖,一个是不选这个(就是我不要这个了 ╯^╰ )。
动态转移方程:
f[i][(f[i-1][j]+a[i])%k]=max(f[i][(f[i-1][j]+a[i])%k],f[i-1][j]+a[i])


代码

#include<cstdio>
#include<iostream>
using namespace std;
int n,k,a[10001],m;
int f[1001][1001];
int main()
{scanf("%d%d",&n,&k);for (int i=1;i<=n;i++) {scanf("%d",&a[i]);}//以上↑为输入for (int i=1;i<=n;i++){for (int j=0;j<k;j++) f[i][j]=f[i-1][j];//全部初始化为这次不选糖for (int j=0;j<k;j++)f[i][(f[i-1][j]+a[i])%k]=max(f[i][(f[i-1][j]+a[i])%k],f[i-1][j]+a[i]);//选择这个糖时求最优解。}printf("%d",f[n][0]);//输出
}

OJ4008-糖果【各种dp之3】相关推荐

  1. LeetCode 135. 分发糖果(DP)

    1. 题目 老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分. 你需要按照以下要求,帮助老师给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果. 相邻的 ...

  2. nssl1447-小智的糖果【dp】

    正题 题目大意 长度为nnn的序列,mmm个位置要求两边都比他大,kkk个位置要求两边都比他小.求序列个数. 解题思路 若第xxx个位置为山峰,那么ax−1<ax>ax+1a_{x-1}& ...

  3. 牛客 KY48 吃糖果

    牛客 KY48 题目描述 名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 N 块巧克力,20 > N >0). 妈妈告诉名名每天可以吃一块或者两块巧克力. 假设名名每 ...

  4. 【蓝桥杯专题】 DP(C++ | 洛谷 | acwing | 蓝桥)

    菜狗现在才开始备战蓝桥杯QAQ 文章目录 编程实现动态规划的状态转移方程时, 务必分清楚阶段. 状态与决策, 三者应该按照由外向内的顺序依次循环!! ----蓝书 背包问题 01背包 AcWing 3 ...

  5. ACM: 百练NOI——基本算法之动态规划

    文章目录 Maximum sum(求两个不重叠子区间最大和) Post Office(感觉题解有问题) 最长上升子序列 最大子矩阵 采药(0-1背包) 最长公共子序列 吃糖果 登山 最长公共上升子序列 ...

  6. html5新增 媒体,HTML5中支持新的媒体元素有这些

    grails 优缺点分析 Grails是一套用于快速Web应用开发的开源框架,它基于Groovy编程语言,并构建于Spring.Hibernate等开源框架之上,是一个高生产力一站式框架. 易于使用的 ...

  7. [蓝桥杯][2019年第十届真题]糖果(状压dp)

    题目描述 糖果店的老板一共有 M 种口味的糖果出售.为了方便描述,我们将 M 种 口味编号 1 ∼ M. 小明希望能品尝到所有口味的糖果.遗憾的是老板并不单独出售糖果,而 是 K 颗一包整包出售. 幸 ...

  8. 糖果(2019第十届蓝桥杯省赛C++A组I题) 解题报告(状压dp) Apare_xzc

    糖果(2019第十届蓝桥杯省赛C++A组I题) 解题报告(状压dp) xzc 2019/4/5 试题 I: 糖果 时间限制: 1.0s 内存限制: 256.0MB 本题总分:25分 [问题描述]    ...

  9. NKOJ 3793 礼物和糖果(背包dp)

    P3793礼物和糖果 问题描述 何老板要给大家买节日礼物,他有M元钱,学校小卖部有N种礼品,因为店长和何老板是熟人,所以若第i种礼品买x(x>0)件的话,店长会给何老板Ai*x+Bi颗糖果. 因 ...

  10. [2020-11-24 contest]糖果机器(二维偏序),手套(状压dp),甲虫(区间dp),选举(线段树 最大子段和)

    文章目录 T1:糖果机器 solution code T2:手套 solution code T3:甲虫 solution code T4:选举 solution code T1:糖果机器 solut ...

最新文章

  1. NodeJs教程(介绍总结!)终于在网上找到一个靠谱点的了T_T
  2. Hadoop供应商MapR:先上市, “不久之后”就会盈利
  3. 获取一段html的内容简介
  4. 推土机:将JAXB对象映射到业务/域对象
  5. csp-s模拟测试42「世界线·时间机器·密码」
  6. @Transactional事务生效条件与样例
  7. 顺风车订单已结束仍在录音 嘀嗒出行回应录音机制
  8. 微课|《Python编程基础与案例集锦(中学版)》第2章(1)
  9. 苹果6发布时间_iPhone12promax11月6日几点预售 11.6苹果12mini预售时间
  10. 3. LAMP 安装与配置
  11. 使用Tftpd64收集交换机日志
  12. 魔兽怀旧服最新服务器人口,魔兽世界怀旧服服务器人口查询 魔兽世界怀旧服人口比例普查...
  13. Pygame教程系列二:MoviePy视频播放篇
  14. 计算机cpu天体图,认识一下电脑的CPU,附2019最新CPU天梯图
  15. 零基础开发NBIOT
  16. 9个妙招教你玩转微信
  17. Linux笔记1(安装,目录结构,远程登录,vi和vim,用户管理,实用指令。定时调度,挂载。)
  18. java-Scaner和Console类对象
  19. 跳跳涂鸦——向上跳动游戏(学习笔记)
  20. chromedriver中的浏览器选项

热门文章

  1. 用html制作篮球网页,篮球网站的设计与实现).doc
  2. python中的while语句怎么居中_python基础之while语句操作
  3. 转 android anr 分析示例,[摘]Android ANR日志分析指南之实例解析
  4. [Nginx]nginx 配置实例-动静分离
  5. 高等数学上-赵立军-北京大学出版社-题解-练习4.5
  6. php+换行+php+eol,PHP PHP_EOL 换行符
  7. python编程加油_编程学习资料,中途加油站,c++/java/python/小程序/人工智能......等等等等...
  8. mysql字符集变为gbk_MYSQL数据库默认latin1字符集转换为GBK或UTF8
  9. E. Mocha and Stars(莫比乌斯反演、简单dp)
  10. [2020多校A层12.3]虚构推理(语言/二分/数据结构)