737-石子合并(一) 内存限制:64MB 时间限制:1000ms 特判: No通过数:28 提交数:35 难度:3 题目描述: 有N堆石子排成一排,每堆石子有一定的数量。现要将N堆石子并成为一堆。合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价为这两堆石子的和,经过N-1次合并后成为 ...
分类:
其他好文 时间:
2018-10-05 21:33:09
阅读次数:
256
描述: 有一个牧场,牧场上有很多个供水装置,现在牧场的主人想要用篱笆把这些供水装置圈起来,以防止不是自己的牲畜来喝水,各个水池都标有各自的坐标,现在要你写一个程序利用最短的篱笆将这些供水装置圈起来!(篱笆足够多,并且长度可变) 输入: 第一行输入的是N,代表用N组测试数据(1<=N<=10)第二行输 ...
分类:
其他好文 时间:
2018-08-29 10:43:32
阅读次数:
143
描述: 直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是c,价值是w。求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大。本题要求是背包恰好装满背包时,求出最大价值总和是多少。如果不能恰好装满背包,输出NO。 输入: 第一行: ...
分类:
其他好文 时间:
2018-08-25 14:37:05
阅读次数:
396
"题目链接" 所有元素初始值为0才能这么做: ①l r全加1 a[l]++; a[r+1] ; 求一遍前缀和为元素本身。 求两遍前缀和为元素前缀和。 include include include include include include include include include inc ...
分类:
其他好文 时间:
2018-08-24 10:43:44
阅读次数:
170
题意 排成一排的石子,每次合并相邻两堆并由一定的代价,求合并成一堆的最小代价 解法 区间dp 枚举长度 dp[i,j]表示合并石子堆编号从i到j为一堆所需的最小代价(这个题目的代价是sum(i..j)) dp[i,j]=min(dp[i,k]+dp[k+1,j]+sum(i...j)) 代码 int ...
分类:
其他好文 时间:
2018-08-17 22:20:19
阅读次数:
105
# include # include # include # include # include # include #include using namespace std; #define MAX 2005 int first[MAX],next[MAX],u[MAX],v[MAX],used... ...
分类:
其他好文 时间:
2018-08-17 20:09:03
阅读次数:
166
# include # include # include # include # include # include #include using namespace std; char d[30][30]; int a[5],b[5]; struct Node { int x,y; int nu... ...
分类:
其他好文 时间:
2018-08-16 13:35:43
阅读次数:
113
#include #include #include #include #include using namespace std; struct node { int x,y; }; node vex[1000];//存入的所有的点 node stackk[1000];//凸包中所有的点 int x... ...
分类:
其他好文 时间:
2018-08-16 01:01:32
阅读次数:
152