上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 25 下一页
摘要: 题目大意N个节点构成一棵树,每个节点上有一个权重val[i], 从根节点root出发在树上行走,行走的时候只能沿着树枝行进。最多在树上走k步,每第一次到达某个节点j,可以获得val[j]的收益,求从root出发,最多走k步,可以得到的最大收益。题目分析树形结构+ 最优化问题,考虑使用动态规划来解决,... 阅读全文
posted @ 2015-10-06 16:29 农民伯伯-Coding 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 题目大意N个节点构成一棵树形结构,在其中若干个节点上放置士兵,与被放置士兵的节点相连的边会被士兵看守。问需要至少在多少个节点上放置士兵,才能使得N-1条边都被看守。题目分析题目描述的结构为树形,且最优化问题,可以考虑使用树形动态规划来解决。将结构按照树根在上,树叶在下的结构进行排列,为了保证无后效性... 阅读全文
posted @ 2015-10-06 12:05 农民伯伯-Coding 阅读(355) 评论(0) 推荐(0) 编辑
摘要: c++11中增加了线程以及线程相关的类,很方便的支持了并发编程。1. 线程线程创建使用std::thread创建线程,提供线程函数或者函数对象即可,并且可以指定线程函数的参数。#includevoid func(int a){ cout void func(){ //do some wo... 阅读全文
posted @ 2015-10-06 09:22 农民伯伯-Coding 阅读(2976) 评论(0) 推荐(1) 编辑
摘要: 智能指针是存储指向动态分配(堆)对象指针的类,用于生存期控制、能够确保在离开指针所在作用域时,自动正确的销毁动态分配的对象,防止内存泄露。c++11提供了3种智能指针:std::shared_ptr, std::unique_ptr, std::weak_ptr,使用时需要引用头文件。1. shar... 阅读全文
posted @ 2015-10-01 23:16 农民伯伯-Coding 阅读(2552) 评论(0) 推荐(0) 编辑
摘要: 问题给定两个序列A和B,序列的子序列是指按照索引逐渐增加的顺序,从原序列中取出若干个数形成的一个子集,若子序列的数值大小是逐渐递增的则为上升子序列,若A和B取出的两个子序列A1和B1是相同的,则A1/B1为A和B的公共子序列。求出A和B的最长公共上升子序列。分析结合最长公共子序列和最长上升子序列来解... 阅读全文
posted @ 2015-09-30 14:02 农民伯伯-Coding 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 编辑距离是指两个字串之间,从一个转成另一个所需要的最少编辑操作次数,许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。问题给定两个字符串S1和S2,求S2和S1的编辑距离,即至少需要经过多少步编辑操作才可以将S1变成S2。分析定义“状态” edit[i][j],表示将S1的长... 阅读全文
posted @ 2015-09-30 13:00 农民伯伯-Coding 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 最长公共子序列(LCS)是一类典型的动归问题。 问题 给定两个序列(整数序列或者字符串)A和B,序列的子序列定义为从序列中按照索引单调增加的顺序取出若干个元素得到的新的序列,比如从序列A中取出 A[i1], A[i2], ...A[ik],其中0=< i1 <= i2 <= ... ik <= n- 阅读全文
posted @ 2015-09-30 11:37 农民伯伯-Coding 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 题目大意给定一列数,从中选择两个不相交的连续子段,求这两个连续子段和的最大值。题目分析典型的M子段和的问题,使用动态规划的方法来解决。f[i][j] 表示将A[1...i] 划分为j个不相交连续子串,且A[j]属于第i个子串,所能达到的最大子串和g[i][j] 表示将A[1...j]划分为i个不相交... 阅读全文
posted @ 2015-09-30 10:15 农民伯伯-Coding 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 题目大意 一条单向的高速公路上有N辆车,在0时刻,每辆车分别在起点A[0],A[1]....处开始从北向南出发,每辆车有个终点B[0],B[1]....且每辆车有个限制速度 V[0],V[1]... 路上不能超车,即车X可能因为速度较慢,会挡住后面的车Y,但车X到达它的终点之后就消失了,不会再阻挡后 阅读全文
posted @ 2015-09-29 14:24 农民伯伯-Coding 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 一、最大子段和问题给定N个数A1, A2, ... An,从中选出k(k不固定)个连续的数字 Ai, Ai+1, ... Ai+k-1,使得∑i+k−1iAt达到最大,求该最大值。分析求最大子段和可以用多种算法来解决.(1)直接枚举max = 0;for i in [1...n] for j ... 阅读全文
posted @ 2015-09-27 15:35 农民伯伯-Coding 阅读(3439) 评论(0) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 25 下一页