bzoj 4953: [Wf2017]Posterize(DP)
4953: [Wf2017]Posterize
Time Limit: 4 Sec Memory Limit: 1024 MB
Submit: 102 Solved: 46
[Submit][Status][Discuss]
Description
Input
Output
Sample Input
Sample Output
dp[x][y]表示前x个红光强度选了y个整数且第y个整数为x的最优解,有
其中si表示红光强度为i的像素点有si个,pi表示红光强度,后面两个求和公式把平方和拆开就可以求前缀和了
初始化dp[i][1] (1<=i<=256)
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define LL long long
LL a[257], sa[257], sq[257][257], sb[257][257], dp[257][257];
int main(void)
{LL n, m, i, j, k, x, y, ans;scanf("%lld%lld", &n, &m);for(i=1;i<=n;i++){scanf("%lld%lld", &x, &y);a[x+1] += y;}for(i=1;i<=256;i++)sa[i] = sa[i-1]+i*i*a[i];for(i=1;i<=256;i++){for(j=1;j<=256;j++){sb[i][j] = sb[i][j-1]+i*i*a[j];sq[i][j] = sq[i][j-1]+2*i*j*a[j];}}memset(dp, 62, sizeof(dp));for(i=1;i<=256;i++)dp[i][1] = sa[256]+sb[i][256]-sq[i][256];for(k=1;k<=m;k++){for(i=k;i<=256;i++){for(j=k-1;j<=i-1;j++){x = (i+j)/2;dp[i][k] = min(dp[i][k], dp[j][k-1]+sa[256]+sb[i][256]-sq[i][256]-sa[x]-sb[i][x]+sq[i][x]-(sa[256]+sb[j][256]-sq[j][256]-sa[x]-sb[j][x]+sq[j][x]));}}}ans = -1;for(i=m;i<=256;i++){if(ans==-1)ans = dp[i][m];elseans = min(ans, dp[i][m]);}printf("%lld\n", ans);return 0;
}
bzoj 4953: [Wf2017]Posterize(DP)相关推荐
- bzoj 1237: [SCOI2008]配对(DP)
1237: [SCOI2008]配对 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1602 Solved: 627 [Submit][Statu ...
- bzoj 1133: [POI2009]Kon(DP)
1133: [POI2009]Kon Time Limit: 10 Sec Memory Limit: 162 MB Submit: 457 Solved: 166 [Submit][Status ...
- bzoj 4247: 挂饰(DP)
4247: 挂饰 Time Limit: 10 Sec Memory Limit: 256 MB Submit: 1230 Solved: 497 [Submit][Status][Discuss ...
- 求三角形最大面积(DP)
求三角形最大面积(DP) 在OJ上奇迹般WA了:WA:70. Why? #include <iostream> #include <string.h> using namesp ...
- LeetCode 编辑距离 II(DP)
1. 题目 给你两个单词 s 和 t,请你计算出将 s 转换成 t 所使用的最少操作数. 你可以对一个单词进行如下两种操作: 删除一个字符 替换一个字符 注意: 不允许插入操作 题目保证有解 示例: ...
- LeetCode 1220. 统计元音字母序列的数目(DP)
文章目录 1. 题目 2. 解题 1. 题目 给你一个整数 n,请你帮忙统计一下我们可以按下述规则形成多少个长度为 n 的字符串: - 字符串中的每个字符都应当是小写元音字母('a', 'e', 'i ...
- LeetCode 265. 粉刷房子 II(DP)
文章目录 1. 题目 2. 解题 1. 题目 假如有一排房子,共 n 个,每个房子可以被粉刷成 k 种颜色中的一种,你需要粉刷所有的房子并且使其相邻的两个房子颜色不能相同. 当然,因为市场上不同颜色油 ...
- LeetCode 256. 粉刷房子(DP)
文章目录 1. 题目 2. 解题 1. 题目 假如有一排房子,共 n 个,每个房子可以被粉刷成红色.蓝色或者绿色这三种颜色中的一种,你需要粉刷所有的房子并且使其与相邻的两个房子颜色不能相同. 当然,因 ...
- LeetCode 1223. 掷骰子模拟(DP)
1. 题目 有一个骰子模拟器会每次投掷的时候生成一个 1 到 6 的随机数. 不过我们在使用它时有个约束,就是使得投掷骰子时,连续 掷出数字 i 的次数不能超过 rollMax[i](i 从 1 开始 ...
最新文章
- 自动化 专业 与行业
- R语言If、Else条件语句实战
- Web布局连载——两栏固定布局(五)
- 【Linux】一步一步学Linux——mtools命令(244)
- 70.Climbing Stairs
- 淮安掼蛋网页版-源码头文件总结
- python中pip不可用_python – pip无法确认SSL证书:SSL模块不可用
- 3.14 以子类取代类型码
- windows2000/xp运行命令全集
- JPA的主键生成策略
- 工作中 linux 常用命令:vi、cp、mv、rm、kill、curl、tail
- oracle no expand,NO_EXPAND Hint性能优化一例
- L1-017 到底有多二 (15 分) — 团体程序设计天梯赛
- 大快DKM大数据基础管理平台的监控功能剖析
- 阿里巴巴对外开源液冷数据中心技术
- dota2服务器切换账号,畅爽竞技必看 DOTA2服务器选择指南
- 如何解决遇到的The server time zone value ‘?й???????‘ is unrecognized or represents more than one time zone
- arcgis标注牵引线_ArcEngine设置有牵引线的标注
- springboot配置mysql数据源_SpringBoot+mysql配置两个数据源
- dataframe横向和纵向拼接
热门文章
- MediaMuxer的使用
- 文档权限服务器上,服务器上的权限
- QQ资料清空php源码,[php源码][QQ玫瑰小镇]一键收铲种,php网页版
- 新手小白python数据清洗代码_5天10分钟,学会数据清洗!(Python)
- 输入三角形的三c语言程序,输入三角形的三边 a,b,c,计算三角形的面积的公式是 C++...
- android toast 自定义时间,android自定义Toast设定显示时间
- matlab教程曲线拟合,matlab 曲线拟合
- 服务器设置站点网站为本地IP
- linux 镜像 多 网络,Linux内核实现多路镜像流量聚合和复制的方法
- Java调用db2cmd命令导出数据