UVA 10271 Chopsticks
UVA_10271
总的来讲,我们应该从大到小去安排筷子,因为如果从小到大去安排的话,最后剩下的不一定可以作为最长的那根。
我首先将筷子反过来存在了数组a[]里面,这样用f[i][j]表示一共有到第i根这么多的筷子安排给j个人的最小的badness,那么如果3*j==i+1,f[i][j]=f[i-2][j-1]+(a[i–1]–a[i])*(a[i-1]-a[i]),否则f[i][j]=min{f[i][j-1],f[i-2][j-1]+ (a[i–1]–a[i])*(a[i-1]-a[i])},当然3*j<=i+1且j<=K+8。
#include<stdio.h>#include<string.h>#define MAXD 5010#define MAXK 1010#define INF 1000000000int K, N, a[MAXD], f[MAXD][MAXK];void init(){int i, j; scanf("%d%d", &K, &N);for(i = N - 1; i >= 0; i --) scanf("%d", &a[i]);}void solve(){int i, j, k, temp;for(i = 0; i < N; i ++)for(j = 0; j <= K + 8; j ++) {if(j) f[i][j] = INF;else f[i][j] = 0; }for(i = 0; i < N; i ++)for(j = 1; 3 * j <= i + 1 && j <= K + 8; j ++) { f[i][j] = f[i - 2][j - 1] + (a[i - 1] - a[i]) * (a[i - 1] - a[i]);if(3 * j < i + 1) {if(f[i - 1][j] < f[i][j]) f[i][j] = f[i - 1][j]; } } printf("%d\n", f[N - 1][K + 8]);}int main(){int t; scanf("%d", &t);while(t --) { init(); solve(); }return 0;}
UVA 10271 Chopsticks相关推荐
- ZOJ 1234 UVA 10271 Chopsticks
这个题目,筷子应该最好是非降序排列的(只要输入的时候处理一下即可),这样处理起来就比较方便,因为这样就可以保证在后来的计算中,每取两个筷子都有比他们两根长的筷子,就可以符合题意了. 下面贴代码: Vi ...
- uva 10271——Chopsticks
题意:有n只筷子,然后选出来k+8套(一套有三只,分别ABC),一套筷子质量为最小的两只的平方,选出的使得总的质量和最小. 思路:01背包.dp[i][j]表示j套利选出来i套的最优解,每个都有选当前 ...
- UVa在线比赛单题汇总-----DP专题
动态规划基础 例题 LA 3882 UVa 3882 - And Then There Was One 递推------------无力orz UVa 10635 10635 - Prince and ...
- 紫书《算法竞赛入门经典》
紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...
- UVa Online Judge 工具網站
UVa Online Judge 工具網站 转自http://www.csie.ntnu.edu.tw/~u91029/uva.html Lucky貓的ACM園地,Lucky貓的 ACM 中譯題目 M ...
- (Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO
下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发. 一.UVaOJ http://uva.onlinej ...
- 算法竞赛入门经典+挑战编程+USACO
下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发. 一.UVaOJ http://uva.onlinej ...
- 提取了下刘汝佳推荐的题号...
今天闲来没事上uva oj提取了下刘汝佳推荐的acm题号,原始数据如下: Volume 0. Getting Started 10055 - Hashmat the Brave Warrior ...
- ACMer Training 学习指导
本文原地址 一.UVaOJ http://uva.onlinejudge.org 西班牙Valladolid大学的程序在线评测系统,是历史最悠久.最著名的OJ. 二.<算法竞赛入门经典> ...
最新文章
- 哪些是我们必须要会深度学习知识
- 深入理解Android Paging分页加载库
- 微信小程序开发遇到的那些“坑”(1.2.0-1.4.0)
- 计算机网络实用期末试题和答案,计算机网络期末考试试题及答案(1)
- 二级c语言程序设计bug,《C语言及程序设计》实践项目——发现Bug
- 查看进程占用,并kill掉
- 原理图符号(原理图库)创建流程及注意事项
- 中芯国际三季度营业收入创新高;德州仪器与德赛西威签署合作备忘录 | 全球TMT...
- 英语用法整理_英式\美式英语区分
- dos(cmd)命令
- 开发操作系统(2)键盘驱动
- 前端学习笔记 - px,em,rem,%,vw,vh,vm
- 16_ZYNQ7020开发板gpio输入实验
- OLTP、OLAP与HTAP
- mysql报警代码183_mysql误删操作回复
- iOS 抖音插件 抖音直播红包插件 抖音直播红包采集 抖音直播红包自动领取 抖音hook Tweak 源码
- Java项目:SSM驾校预约管理系统
- CSS伪类(Pseudo-classes)、伪元素、伪类选择器
- SPSS正交设计的操作
- 【python 图片识别】python识别图片是不是包含二维码
热门文章
- 通过ping命令测试主机与虚拟机之间是否连通
- android 网络时区 错误,React native 安卓机器上调试代码报错:网络请求出错TypeError: Network request failed...
- SVN主干与分支的合并
- c++二进制文件java读取int_吃透Java基础十二:IO
- php中静态方法的调用,php中静态方法和非静态方法如何相互调用?
- 第四范式送上2022虎年祝福
- erlang精要(30)-卫语句
- rust(52)-二叉最大堆BinaryHeap
- 【Python基础】太香了!推荐6个Python数据分析神器!!
- 中文分词的古今中外,你想知道的都在这里