上一页 1 ··· 3 4 5 6 7 8 下一页

2016年6月4日

线段树(segment tree)

摘要: 线段树在一些acm题目中经常见到,这种数据结构主要应用在计算几何和地理信息系统中。下图就为一个线段树: (PS:可能你见过线段树的不同表示方式,但是都大同小异,根据自己的需要来建就行。) 1.线段树基本性质和操作 线段树是一棵二叉树,记为T(a, b),参数a,b表示区间[a,b],其中b-a称为区 阅读全文

posted @ 2016-06-04 10:27 比特飞流 阅读(222) 评论(0) 推荐(0)

2016年5月24日

矩阵链乘

摘要: 一个n*m的矩阵由n行m列共n*m排列而成。两个矩阵A和B可以相乘当且仅当A的列数等于B的行数。一个n*m的矩阵乘m*p的矩阵,运算量为n*m*p。 矩阵乘法不满足分配律,但满足结合律。因此A*B*C既可以按顺序(A*B)*C也可以按A*(B*C)来进行。假设A、B、C分别是2*3、3*4、4*5的 阅读全文

posted @ 2016-05-24 17:08 比特飞流 阅读(241) 评论(0) 推荐(0)

2016年5月19日

数位dp

摘要: 1、在所有的n为书中,有多少个数中有偶数个3?由于结果很大,你只需要输出这个答案对12345取余的值。 数据范围 1<=n<=1000 阅读全文

posted @ 2016-05-19 11:12 比特飞流 阅读(83) 评论(0) 推荐(0)

2016年5月18日

最大子矩阵 系列

摘要: 最大子矩阵 1 描述 有一块M*N大小的,由0、1组成的矩阵。现在让你计算出这个矩阵中一块最大的正方形子矩阵,使得该子矩阵全部由0组成。 第一行一个数P,为数据组数(P<=10)。 对于每一组数据,第一行两个数M,N(1<=M,N<=100)。 接下来M行,每行N个数字,该数字是0或者1。 对于每组 阅读全文

posted @ 2016-05-18 17:26 比特飞流 阅读(176) 评论(0) 推荐(0)

最大子段和问题,最大子矩阵和问题,最大m子段和问题

摘要: 1、最大子段和问题 问题定义:对于给定序列a1,a2,a3……an,寻找它的某个连续子段,使得其和最大。如( -2,11,-4,13,-5,-2 )最大子段是{ 11,-4,13 }其和为20。 (1)枚举法求解 枚举法思路如下: 以a[0]开始: {a[0]}, {a[0],a[1]},{a[0] 阅读全文

posted @ 2016-05-18 17:09 比特飞流 阅读(656) 评论(0) 推荐(0)

状态压缩dp 入门

摘要: 1、有一张n*m (n<=m)的棋盘,在上面放n个中国象棋里的车,使得任意两个车不能相互攻击,总共有多少种不同的方案。 2、有一张n*m (n<=m)的棋盘,其中有些格子里面不能放,在上面放n个中国象棋里的车,使得任意两个车不能相互攻击,总共有多少种不同的方案。 3、有一张n*m (n<=m)的棋盘 阅读全文

posted @ 2016-05-18 09:18 比特飞流 阅读(148) 评论(0) 推荐(0)

牧场安排(usaco NOV06.cowfood)

摘要: ohn新买了一块长方形的牧场,这块牧场被划分成M列N行(1<=M<=12; 1<=N<=12),每一格都是一块正方形的土地。FJ打算在牧场上的某几格土地里种上美味的草,供他的奶牛们享用。遗憾的是,有些土地相当的贫瘠,不能用来放牧。并且,奶牛们喜欢独占一块草地的感觉,于是FJ不会选择两块相邻的土地,也 阅读全文

posted @ 2016-05-18 08:25 比特飞流 阅读(293) 评论(0) 推荐(0)

2016年5月15日

区间dp

摘要: •该类问题的基本特征是能将问题分解成为两两合并的形式。解决方法是对整个问题设最优值,枚举合并点,将问题分解成为左右两个部分,最后将左右两个部分的最优值进行合并得到原问题的最优值。有点类似分治的解题思想。 •设前i到j的最优值,枚举剖分(合并)点,将(i,j)分成左右两区间,分别求左右两边最优值,如下 阅读全文

posted @ 2016-05-15 14:58 比特飞流 阅读(114) 评论(0) 推荐(0)

炮兵阵地

摘要: 题目描述】 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平原(用"P"表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所 阅读全文

posted @ 2016-05-15 14:57 比特飞流 阅读(268) 评论(0) 推荐(0)

合并石子

摘要: 石子合并问题是最经典的DP问题。首先它有如下3种题型: (1)有N堆石子,现要将石子有序的合并成一堆,规定如下:每次只能移动任意的2堆石子合并,合并花费为新合成的一堆石子的数量。求将这N堆石子合并成一堆的总花费最小(或最大)。 分析:当然这种情况是最简单的情况,合并的是任意两堆,直接贪心即可,每次选 阅读全文

posted @ 2016-05-15 11:32 比特飞流 阅读(227) 评论(0) 推荐(0)

上一页 1 ··· 3 4 5 6 7 8 下一页

导航