试题 算法提高 宰羊

资源限制

时间限制:1.0s 内存限制:256.0MB

问题描述

  炫炫回了内蒙,肯定要吃羊肉啦,所有他家要宰羊吃。

  炫炫家有N只羊,羊圈排成一排,标号1~N。炫炫每天吃掉一只羊(这食量!其实是放生啦),吃掉的羊的邻居会以为它被放生了,然后又会告诉他们的邻居,这样一直传播下去,除非某个邻居已经被“放生”了。每一天,所有知道某羊被“放生”了这个消息的羊都会很不满,如果不给他们巧克力的话,他们就会很造反,炫炫已经知道他要吃掉哪些羊,他可以任意安排吃的顺序,然后使巧克力的用量最小,请求出这个最小值。

输入格式

  本题有多组数据,第一行为数据组数T。

  对于每组数据

  第一行:两个用空格隔开的整数:N和M,表示羊的数量和需要吃掉的数量

  第二行:有M个数,表示要吃那些羊。

输出格式

  T行,为每组数据的答案。

样例输入

2

8 1

3

20 3

3 6 14

样例输出

7

35

数据规模和约定

  T=10

  N<=10000

  M<=100

待杀的羊:…a1…a2…a3…a4…an…待杀的羊:…a1…a2…a3…a4…an…

如果选择了ak这个羊先杀,区间将被分为两段[a1,ak],[ak,an],所以可以使用区间DP来分段处理

PS:

这么写可以少写一层循环,提高效率
就因为多输出了一行空格,导致问题死活出不来
***你个*****
 

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner; public class 宰羊 {
public static void main(String[] args) {
int t,n,m;
int [] num=new int [100+2];
int [] [] dp=new int [100+2][100+2];
ArrayList<Integer> list = new ArrayList<>();
Scanner sc = new Scanner(System.in);
t = sc.nextInt();
while ( t-->0){
n=sc.nextInt();
m=sc.nextInt(); for (int i =1;i<=m;i++){
num[i]=sc.nextInt();
} num[0] = 0;
num[m + 1] = n + 1; for(int len=1;len<=m;len++)
for(int l=1;l + len - 1<=m;l++)
{
int r = len + l - 1;
if(len == 1)
{
dp[l][r] = num[r + 1] - num[l - 1] - 2;
}
else
{
dp[l][r] = 10000000;
for(int i=l;i<=r;i++)
dp[l][r] = Math.min(dp[l][r],num[r + 1] - num[l - 1] - 2 + dp[l][i - 1] + dp[i + 1][r]);
}
} list.add(dp[1][m]); }
sc.close();
for (int i:list){
System.out.println(i);
}
}
}

最新文章

  1. 微软KinectV2深度传感器在Ubuntu上的配置和使用
  2. Scala初探:新潮的函数式面向对象语言
  3. DOS命令中的For
  4. Sublime Python 插件配置合集
  5. vs2015中ctrl+shift+F进行“在文件中查找”,有时候无效?
  6. 1:环境安装与介绍:canopy
  7. BrainFuck语言生成器
  8. UVA 712 S-Trees
  9. cocos2d的-X- luaproject的LUA脚本加密
  10. hdu 1531 King
  11. android 去掉listview之间的黑线
  12. EEPlat PaaS 整体方案及技术原理
  13. iOS的GIF动画效果实现
  14. 测试系统工程师TSE需要具备的四项能力
  15. pythone函数基础(13)发送网络请求
  16. for循环中按条件删除数据元素
  17. 基于jQuery扁平多颜色选项卡切换代码
  18. 解说css中的margin属性缩写方式
  19. js常用的工具函数
  20. select 练习语句

热门文章

  1. Jetson AGX Xavier/Ubuntu安装SSD
  2. 微信小程序开发实战(1):使用滚动视图
  3. jquery遍历数组、对象
  4. 应用视觉设计——CSS实现线性渐变效果
  5. DIV+CSS布局的优势和弊端
  6. kibana 通过nginx+ldap实现登录认证
  7. Angular中的数据绑定
  8. xampp-apache配置
  9. 【一致性检验指标】Kappa(cappa)系数
  10. Hyperledger Fabric——balance transfer(六)查询