题:https://codeforces.com/contest/1256/problem/E

题意:给一些值,代表队员的能力值,每组要分3个或3个以上的人,然后有个评价值x=(队里最大值-最小值),问最小的∑x是多少,以及输出方案

学习粗:https://www.cnblogs.com/Lubixiaosi-Zhaocao/p/11797744.html

dp路径转移

#include<bits/stdc++.h>
using namespace std;
const int M=2e5+;
struct node{
int val,id;
}a[M];
int dp[M];
int ans[M],pre[M];
bool cmp(node p,node q){
return p.val<q.val;
}
int main(){
int n;
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d",&a[i].val),a[i].id=i;
sort(a+,a++n,cmp);
memset(dp,0x3f,sizeof(dp));
dp[]=;
pre[]=-;
for(int i=;i<=n;i++){
for(int j=;j<=;j++){
if(i-j>=&&dp[i-j]+a[i].val-a[i-j+].val<dp[i]){
pre[i]=i-j;
dp[i]=dp[i-j]+a[i].val-a[i-j+].val;
}
}
}
int tot=;
for(int i=n;i>=;i=pre[i]){
tot++;
for(int j=i;j>pre[i];j--)
ans[a[j].id]=tot;
}
printf("%d %d\n",dp[n],tot);
for(int i=;i<=n;i++)
printf("%d ",ans[i]);
return ;
}

最新文章

  1. Leetcode jump Game II
  2. 一个div相对于外层的div水平和垂直居中
  3. android_demo之生成颜色布局
  4. 微信公众号里打开链接下载APP
  5. UI组件之Group
  6. 源码安装extundelete以及对遇到问题的解决
  7. [Android] Android开发优化之——使用软引用和弱引用
  8. Hibernate:1对1关系总结。
  9. nginx 目录密码保护的设置方法
  10. SQL serve创建与调用存储过程
  11. HTML5的优缺点是什么?
  12. 【工具】-RAP接口管理工具
  13. IM开发基础知识补课(五):通俗易懂,正确理解并用好MQ消息队列
  14. SkylineGlobe TerraExplorer Pro 7.0 Web 控件版 第一行示例代码
  15. 在Adobe Html5 Extension的使用Nodejs的问题
  16. javascript 原型世界浅析
  17. c++练习-快速排序
  18. 从Exchager数据交换到基于trade-off的系统设计
  19. leetcode485
  20. Effective C++(4) 确定对象被使用前已先被初始化

热门文章

  1. React之生命周期函数(16.3以后新版本)
  2. Java8集合框架——基本知识点
  3. 沙龙报名 | 京东云DevOps——自动化运维技术实践
  4. IO读写
  5. Linux--CentOS7启用网卡
  6. 图解:平衡二叉树,AVL树
  7. 记录一次URL中有特殊字符怎么处理?
  8. jquery判断字符串中是否包含特定字符的方法总结
  9. 实现Action
  10. 微服务项目开发学成在线_day01_CMS服务端开发