原题链接:Problem - 1253C - Codeforces

题目大意: 糖果每天最多吃m个,一共n个糖果。糖果第d天吃的花费是a[i] * d 问你吃k块糖果的最小花费是多少。

思路:先把每颗糖果的a[i]排序,例如1 2 3 4 5..比如m为3,一天最多吃三颗糖。那么如果要吃1颗糖,当然选择最少的,而且在第一天吃,花费就是1;如果2颗,2 <= 3,都在第一天吃,所以1 + 2 = 3..如果4颗,肯定让4 3 2在第一天吃,1 在第二天吃,那么答案就是4 +3 + 2 + 1 * 2..

前缀和:每颗糖果都加一遍的结果。

状态转移方程:

if(i <= m) dp[i] = s[i];else dp[i] = s[i] + dp[i - m];

其实也是一个递归的思想,每m个糖果一周期,看代码:

AC代码:

#include<bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
#define ios ios::sync_with_stdio(false);cin.tie(0); cout.tie(0);
typedef pair<int, int> PII;
const double pi = acos(-1.0);
#define rep(i, n) for (int i = 1; i <= (n); ++i)
#define rrep(i, n) for (int i = n; i >= (1); --i)
typedef long long ll;
#define sqar(x) ((x)*(x))const int N = 2e5 + 10;
ll s[N];
ll dp[N];int main(){int n, m;cin >> n >> m;rep(i, n) cin >> s[i];sort(s + 1, s + 1 + n);rep(i, n) s[i] += s[i - 1];rep(i, n){if(i <= m) dp[i] = s[i];else dp[i] = s[i] + dp[i - m];cout << dp[i] << " ";}return 0;
}

C. Sweets Eating(cf)dp相关推荐

  1. B. Catching Cheaters(cf)dp

    原题链接:Problem - 1446B - Codeforces 题目大意:给你两个字符串A,B,让你分别从A,B中截取子串(连续)C,D,然后这两个串的最长公共子序列长度是LCS(C,D),让你找 ...

  2. B. Orac and Models(cf)dp

    原题链接:Problem - 1350B - Codeforces 题意: 求一个下标单调递增且互为倍数,即满足j > i且j为i的倍数,并且s[i] < s[j]的最长子序列. 其实和最 ...

  3. 子矩阵(暴搜(全排列)+DP)

    子矩阵(暴搜(全排列)+DP) 一.题目 子矩阵 时间限制: 1 Sec  内存限制: 128 MB 提交: 1  解决: 1 [提交][状态][讨论版] 题目描述 给出如下定义: 1. 子矩阵:从一 ...

  4. DisplayPort1.4协议学习(一)DP协议概览

    DisplayPort1.4协议学习(一)DP协议概览 Note:本文为DP1.4协议学习系列的第一篇,本篇首先从DP整体结构上简要说明DP协议的传输方式 有关传输速率对比的问题,请STFW(Sear ...

  5. SIMATIC S7-300 Profibus通讯——(3)DP/DP Coupler使用

    SIMATIC S7-300 Profibus通讯 --(3)DP/DP Coupler使用-- 1 DP/DP Coupler模块概述 DP/DP Coupler用于连接两个Profibus-DP主 ...

  6. (转)dp动态规划分类详解

    dp动态规划分类详解 转自:http://blog.csdn.NET/cc_again/article/details/25866971 动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间 ...

  7. B. Frog Traveler(cf)bfs

    原题链接:Problem - 1601B - Codeforces 题目大意:一个青蛙它从井底跳出去.从x点可以网上蹦[0, ax]的距离到y点,到了y点之后又会掉下来by步.问你它最少走多少步出去. ...

  8. B. Integers Have Friends(cf)二分 + st表

    原题链接:Problem - 1548B - Codeforces 解决RMQ(区间最值)问题的算法. 总结的来说求rmq问题有多种方法:线段树,ST表等 线段树预处理O(nlogn),查询O(log ...

  9. 穿越火线(CF)策划文章(部分)

    1.马哲:我不做大哥好多年 2.最强王者之师-SV战队--老马做到了 3.河南百城省赛圆满落幕,十年百城魅力不减 4.CFPL新赛季观赛福利来袭,锁定斗鱼直播体验百分百中奖 5.阿飞寄语十周年火线盛典 ...

最新文章

  1. python while循环语句-python循环语句讲解(一):while循环
  2. JavaScript中split() 使用方法
  3. AttributeError: 'NoneType' object has no attribute 'grid'报错解决方案
  4. 节前福利 | 三位大佬带你从客户成功、销售、市场端打造 To B 运作体系 !
  5. UnicodeDecodeError: 'ascii' codec can't decode byte 0x82 in position 4..... 针对调用文件出现该错误时的解决办法
  6. 牛客 - 小朋友你是否有很多问号(容斥+组合数学)
  7. 多位院士、院士候选人入选,132人拟获表彰!
  8. 信息学奥赛一本通(1110:查找特定的值)
  9. leetcode50:Pow(x, n)详解——pygo
  10. Windows 电源管理
  11. RESTful API 设计思考
  12. 创建自己的oracle解释计划
  13. 这样的代码才是好代码
  14. android 模拟点击屏幕,按键精灵后台简明教程(后台找色,后台鼠标点击等)
  15. 1097 特殊的整数数列求和
  16. MT-考试座位-颜色排序
  17. AlphAction编译不通过问题:error: command ‘:/home/yst/cudas/cuda-10.0/bin/nvcc‘ failed with exit status 1
  18. 直接从Google Play下载apk(附源码)
  19. 算法学习----红黑树
  20. 线上拼团活动方案怎么制作设计?

热门文章

  1. activemq mysql 配置详解_ActiveMQ配置详解
  2. 面对裁员,该如何应对
  3. ubuntu 中文输入法
  4. 无法创建目录或文件问题的解决办法
  5. java下载word文档到本地
  6. 计算机和回收站桌面快捷方式,电脑桌面的回收站快捷方式被我删掉了,要如何恢复?...
  7. 电商-齐论教育-5+5+5新手第一课-新手小白应该做什么
  8. mysql数据库双网卡配置_双网卡的绑定的实现与测试
  9. 【转】缺陷与出路—一个游戏开发者的反思 二、项目开发中的混沌和秩序
  10. Android Tip : Android GestureDetector 手势识别 抬起 操作