tyvj1125 JR's chop

描述

JR有很多双筷子。确切的说应该是很多根,因为筷子的长度不一,很难判断出哪两根是一双的。JR家里来了K个客人,JR留下他们吃晚饭。加上JR,JR的girl friend和JR的朋友内涵,共K+3个人。每人需要用一双筷子。JR只好清理了一下筷子,共N根,长度为T1,T2,T3,……,TN.现在他想用这些筷子组合成K+3双,使每双的筷子长度差的平方和最小。

输入格式

输入文件共有两行,第一行为两个用空格隔开的整数,表示N,K(1≤N≤100, 0<K<50),第二行共有N个用空格隔开的整数,为Ti.每个整数为1~50之间的数。

输出格式

输出文件仅一行。如果凑不齐K+3双,输出-1,否则输出长度差平方和的最小值。

测试样例1

输入

10 1 
1 1 2 3 3 3 4 6 10 20

输出

5

备注

第一双 1 1
第二双 2 3
第三双 3 3
第四双 4 6
(1-1)^2+(2-3)^2+(3-3)^2+(4-6)^2=5

//chopsticks弱化版

#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
int m,n,a[5005];
long long dp[1005][5005];
int main(){
    cin>>n>>m;
    for(int i = n;i >= 1;i--){
        scanf("%d",&a[i]);
    }
    sort(a+1,a+1+n);
    m += 3;
    for(int i = 1;i <= m;i++){
        for(int j = 1;j <= n;j++){
            if(j < i * 2) dp[i][j] = 9876543212345L;
            else dp[i][j] = min(dp[i][j-1],dp[i-1][j-2] + (a[j] - a[j-1]) * (a[j] - a[j-1]));
        }
    }
    cout<<(dp[m][n] == 9876543212345L ? -1 : dp[m][n]);
    return 0;
}

tyvj1125 JR's chop

时间: 2024-08-25 23:56:06

tyvj1125 JR's chop的相关文章

20141022

TYVJ1125  JR's chop http://www.tyvj.cn/Problem_Show.aspx?id=1125 先将每根筷子按长度排序 设dp[i][j][0]为前i个筷子取j对且不取第i个的最小解 dp[i][j][1]为前i个筷子取j对且取第i个的最小解 dp[i][j][0] = min(dp[]i-1[j][0],dp[i-1][j][1]) dp[i][j][1] = min(dp[k][j-1][0],dp[k][j-1][1])+b[i][k+1] | (j-1)

Ruby中的chop和chomp用法辨析

      还没开始系统性的学习Ruby,最近在看metasploit框架的exploit会涉及到Ruby脚本,也就硬着头皮一遍查阅资料一遍做些笔记吧.       Ruby字符串中存在chop和chomp的内置函数.我在http://www.w3cschool.cc/ruby/ruby-string.html中得到的关于Ruby字符串chop和chomp的用法介绍如下: str.chomp 从字符串末尾移除记录分隔符($/),通常是 \n.如果没有记录分隔符,则不进行任何操作. str.cho

最小生成树Kruskal算法的提出者Joseph Bernard Kruskal,Jr.

熟悉算法中的最小生成树的朋友都晓得有一个Kruskal算法,这个算法就是由题目中那个名字很长的人提出的.因为他功绩卓越,尊称他为Kruskal. Kruskal生于1928年1月29日,卒于2010年9月19日,美国人,维基里的词条中包含的头衔是:数学家.统计学家.计算机科学家.心理测量学专家. kruskal分别就读过芝加哥大学和普林斯顿大学,1954年获得博士学位. 下面链接中是一篇几年他的文章,从中可以了解他的更多成就.顺便说一句,他的父母和兄弟也都很牛. http://pan.baidu

ruby学习笔记(2)-chomp,chop的区别

还没开始系统性的学习Ruby,最近在看metasploit框架的exploit会涉及到Ruby脚本,也就硬着头皮一遍查阅资料一遍做些笔记吧. Ruby字符串中存在chop和chomp的内置函数.我在http://www.w3cschool.cc/ruby/ruby-string.html中得到的关于Ruby字符串chop和chomp的用法介绍如下: 单从这几句话,还是有些不明白(貌似借鉴于perl语言中的chop和chomp函数的用法),然后百度了一下,我在http://blog.chinaun

chop函数

chop() 函数从字符串的末端开始删除空白字符或其他预定义字符. chop(string,charlist) 参数 描述 string 必需.规定要转换的字符串. charlist 可选.规定从字符串中删除哪些字符. 如果未设置该参数,则全部删除以下字符: "\0" - ASCII 0, NULL "\t" - ASCII 9, 制表符 "\n" - ASCII 10, 新行 "\x0B" - ASCII 11, 垂直制表符

chop|divorce|harsh|mutual|compel|

这个英音很special VERB 砍;剁;劈;切If you chop something, you cut it into pieces with strong downward movements of a knife or an axe. Chop the butter into small pieces... 把黄油切成小片. 离婚A divorce is the formal ending of a marriage by law. Numerous marriages now en

duo酌2锥uスa∴jr

 http://club.jd.com/CommunityGroupDetail/20525880_1.html http://club.jd.com/CommunityGroupDetail/20525846_1.html http://club.jd.com/CommunityGroupDetail/20525734_1.html http://club.jd.com/CommunityGroupDetail/20526161_1.html http://club.jd.com/Comm

省级常委落马,今年收官一虎?jr

"如果签证没有过期,我们会建议他们去找一些基金会,在那里获得帮助,或者帮他们找一份工作.无论如何,乞讨都是不允许的."而安静的脸.然而当这位晓龙基金会董事长.美国百人会理事开口讲话时,清亮的台湾普通话和不时蹦出的英文单词,传递出的却是非凡的创业见解.2017-01-04 09:28:00环球网 分享 4参与 澳大利亚华人学者.盘古智库学术委员雪珥22日接受<环球时报>记者采访时表示,极右翼的"一族党"20多年前曾在澳大利亚政坛活跃过,鼓吹排亚,遭到主流社

David McCullough, Jr.为韦斯利高中毕业生演讲〈你并不特别〉

Dr. Wong, Dr. Keough, Mrs.Novogroski, Ms. Curran, members of the board of education, familyand friends of the graduates, ladies and gentlemen of the WellesleyHigh School class of 2012, for the privilege of speaking to youthis afternoon, I am honored