随笔分类 -  ACM_动态规划

摘要:题目描述 某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少)。老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关掉这些路灯。 为了给村里节省电费,老张记录下了每盏路灯的位置和功率,他每次关灯时也都是尽快地去关,但是老张不知道怎样去关灯 阅读全文
posted @ 2017-08-22 13:47 淡蓝色光 阅读(112) 评论(0) 推荐(0) 编辑
摘要:题目描述 给出一个长度不超过200的由小写英文字母组成的字母串(约定;该字串以每行20个字母的方式输入,且保证每行一定为20个)。要求将此字母串分成k份(1<k<=40),且每份中包含的单词个数加起来总数最大(每份中包含的单词可以部分重叠。当选用一个单词之后,其第一个字母不能再用。例如字符串this 阅读全文
posted @ 2017-08-20 16:20 淡蓝色光 阅读(256) 评论(0) 推荐(0) 编辑
摘要:描述 After winning the annual town competition for best lawn a year ago, Farmer John has grown lazy; he has not mowed the lawn since then and thus his l 阅读全文
posted @ 2017-08-19 16:52 淡蓝色光 阅读(289) 评论(0) 推荐(0) 编辑
摘要:题目背景 由于你的帮助,火星只遭受了最小的损失。但gw懒得重建家园了,就造了一艘飞船飞向遥远的earth星。不过飞船飞到一半,gw发现了一个很严重的问题:肚子饿了~ gw还是会做饭的,于是拿出了储藏的食物准备填饱肚子。gw希望能在T时间内做出最美味的食物,但是这些食物美味程度的计算方式比较奇葩,于是 阅读全文
posted @ 2017-08-17 17:02 淡蓝色光 阅读(342) 评论(0) 推荐(0) 编辑
摘要:题目描述 房间里放着n块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在(0,0)点处。 输入输出格式 输入格式: 第一行一个数n (n<=15) 接下来每行2个实数,表示第i块奶酪的坐标。 两点之间的距离公式=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2) 阅读全文
posted @ 2017-08-13 10:49 淡蓝色光 阅读(440) 评论(0) 推荐(0) 编辑
摘要:描述 You're given a tree with weights of each node, you need to find the maximum subtree of specified size of this tree. Tree Definition A tree is a con 阅读全文
posted @ 2017-08-11 10:48 淡蓝色光 阅读(192) 评论(0) 推荐(0) 编辑
摘要:描述 Charlie is a driver of Advanced Cargo Movement, Ltd. Charlie drives a lot and so he often buys coffee at coffee vending machines at motorests. Char 阅读全文
posted @ 2017-08-10 11:45 淡蓝色光 阅读(197) 评论(0) 推荐(0) 编辑
摘要:描述 A tug of war is to be arranged at the local office picnic. For the tug of war, the picnickers must be divided into two teams. Each person must be o 阅读全文
posted @ 2017-08-09 13:36 淡蓝色光 阅读(205) 评论(0) 推荐(0) 编辑
摘要:Description 内蒙古科技大学校长准备开一次年会。学校的员工和学生具有等级结构,即师生关系构成一棵树,以校长为树根,员工号是1到N之间的整数。人事部门把所有员工按活跃度排序,为了让年会使所有参加者都玩的高兴,校长不想让任何一个员工和他/她的直接导师同时被邀请。 你的任务是列一张客人名单,以使 阅读全文
posted @ 2017-08-08 19:16 淡蓝色光 阅读(199) 评论(0) 推荐(0) 编辑
摘要:描述 有n堆石子排成一条直线,每堆石子有一定的重量。现在要合并这些石子成为一堆石子,但是每次只能合并相邻的两堆。每次合并需要消耗一定的体力,该体力为所合并的两堆石子的重量之和。问最少需要多少体力才能将n堆石子合并成一堆石子? 有n堆石子排成一条直线,每堆石子有一定的重量。现在要合并这些石子成为一堆石 阅读全文
posted @ 2017-08-07 14:29 淡蓝色光 阅读(398) 评论(0) 推荐(0) 编辑
摘要:度度熊与邪恶大魔王 Accepts: 3027 Submissions: 18837 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) 度度熊与邪恶大魔王 Accepts: 3027 Su 阅读全文
posted @ 2017-08-06 16:50 淡蓝色光 阅读(180) 评论(0) 推荐(0) 编辑
摘要:题目意思:给一个字符串和每个字母删除、插入的代价,求把它变成回文串的最小代价 dp[i][j] 表示 区间 i~j 的子串变成回文串需要的最小代价。 设字符串 ab....cd 如果 a == d,则将其变成回文串的最小代价就是将 b....c 变成回文串 如果 a != d,考虑如下四种情况 在左 阅读全文
posted @ 2017-08-05 17:59 淡蓝色光 阅读(199) 评论(0) 推荐(0) 编辑
摘要:题目意思是,有 n 个栅栏,每个栅栏的长度给出了,要求用这 n 个栅栏构成三角形,求面积最大的 开先没看懂题目意思,不知道 n 个栅栏全部要用上。思路就是把两条边枚举出来,第三条边就知道了,然后把能构成三角形的面积都算出来,取最大值。 代码: 阅读全文
posted @ 2017-07-31 20:37 淡蓝色光 阅读(137) 评论(0) 推荐(0) 编辑
摘要:又是一道树状dp题目,感觉好难,看的网上的解析才做出来,不过比第一次遇到这种题目时要好多了,加油,多遇到几次就会了。 代码: 阅读全文
posted @ 2017-07-29 17:11 淡蓝色光 阅读(134) 评论(0) 推荐(0) 编辑
摘要:m 的时间,一共 n 门课程,每门课程花不同时间得到的值不同,求能获得的最大值。 用分组背包,n 门课看成 n 组物品,每个物品所花费的时间为背包容量。 分组背包: for(int i=1; i<=n; i++) // i 组物品 for(int j=V; j>=0; j--) // 容量为 j 时 阅读全文
posted @ 2017-07-28 17:19 淡蓝色光 阅读(124) 评论(0) 推荐(0) 编辑
摘要:给出 n 头牛,每头牛有两个属性 smartness 和 funness ,求从所有的牛里选一些牛,使这些牛的 smartness + funness 的和最大,且 smartness 的和、funness的和都要大于零。 定义 dp[i][j] 表示前 i 头牛在 smartness 为 j 时 阅读全文
posted @ 2017-07-27 14:54 淡蓝色光 阅读(95) 评论(0) 推荐(0) 编辑
摘要:题目的大概意思就是,有 6 种石头,价值分别是 1,2,3,4,5,6,给出他们的数量,求是否能将他们平分成两组价值相同的石头。 设石头的总价值为sum。把石头的价值看成重量,则问题转换成是否能恰好装下指定重量的石头,及背包容量为 sum/2 时,是否存在恰好装下一些石头的情况。 代码: 阅读全文
posted @ 2017-07-25 19:51 淡蓝色光 阅读(242) 评论(0) 推荐(0) 编辑
摘要:描述 一组研究人员正在设计一个测试猴子智商的实验。他们会在建筑物的屋顶上挂一根香蕉,同时给猴子一些块。如果猴子够聪明,就可以通过在顶部放一个块来建立一个塔,爬上去获得最喜欢的食物,到达香蕉。研究人员有n种类型的块,并且每种类型的块都是无限制的。每个i型块是具有线性尺寸(xi,yi,zi)的矩形固体。 阅读全文
posted @ 2017-07-25 14:06 淡蓝色光 阅读(288) 评论(0) 推荐(0) 编辑
摘要:题意:给一棵树,要求去掉最少的边得到一颗孤立的正好 P 个结点的树 第一次接触树状DP,瞎搞好久,看别人的代码看懂的,涨姿势了。 代码: 阅读全文
posted @ 2017-07-24 16:14 淡蓝色光 阅读(209) 评论(0) 推荐(0) 编辑
摘要:描述 农夫约翰命令他的母牛搜索不同数量的数字,总和到一个给定的数字。母牛只使用整数幂为2的数字。这是可能的数字组合,总和为7:1)1 + 1 + 1 + 1 + 1 + 1 + 1 2)1 + 1 + 1 + 1 + 1 + 2 3)1 + 1 + 1 + 2 + 2 4)1 + 1 + 1 + 4 阅读全文
posted @ 2017-07-23 21:37 淡蓝色光 阅读(218) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示