- 博客(13)
- 收藏
- 关注
原创 博弈论专题1 HDOJ 1846 Brave Game
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1846 分析:做博弈论类的题目,我觉得最关键的是分析极限条件。特别是这类游戏题目,我们假设最后时的情况,当还剩下m+1个石子时,轮到A拿石子,由于A至少要拿1个石子,所以不管A拿走多少个,剩下的可以由B全部拿走。此种情况下,A必败。此时我们扩展这种极限情况,当剩下k(m+1)个石子时,K为
2012-07-23 15:36:05 369
原创 CodeForce 118C Fancy Number
传送门:http://codeforces.com/problemset/problem/118/C 题意: 对一个m位数做修改,使其有n位相同的数位,对相应的数位中的数字改变为另一数字时,付出的代价为这两个数字之差的绝对值,求出满足要求的最小代价解,在代价相同时,按照字典升序最优先的为最优解。比如10 6 0001112223 在代价同样为3的情况下,0000002223
2012-07-22 16:04:15 531
原创 DP专题6 POJ 1185 炮兵阵地
传送门:http://poj.org/problem?id=1185 非常经典的DP问题,考虑了状态压缩,位运算,有的大牛还用了滚动数组。 这次不罗嗦,直接分析思路: 首先看复杂度,对于每一行,朴素的想法是放的可能性是2^n,n代表列数,但是题目要求在范围2以内不准再部署炮兵。所以,我们search每一行可能的情况,利用位运算。然后DP,对于每一行,具有无后效性:即这
2012-07-20 17:25:25 535
原创 DP专题5 POJ 2353 Ministry
传送门:http://poj.org/problem?id=2353翻译: Mr. F. 想让部长批阅签署一份文件。但只有当部长的下属部门核准后,部长才签署一份文件。部门是一座M层的建筑物,从地面开始数起为1到M层。1100.每一层有N个房间(1也是从1到N编号。每一个房间里有且只有一个官员。一份文件要被部门签署,必须有至少一位(M层建筑物里的)官员签署;一个官员必须至少满足以下一
2012-07-20 16:18:44 491
原创 DP专题4 UVAOJ 108 Maximum Sum
传送门:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&page=show_problem&problem=44 Maximum SumTime Limit:1000MS
2012-07-20 15:56:28 476
原创 DP专题3 POJ 2593 Max Sequence
传送门:http://poj.org/problem?id=2593 Max SequenceTime Limit: 3000MS Memory Limit: 65536KTotal Submiss
2012-07-20 15:40:15 535
原创 DP专题2 HDOJ 1003 Max Sum
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1003 Max SumTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissio
2012-07-20 15:23:49 544
原创 DP专题1 POJ 1163 The Triangle
传送门:http://poj.org/problem?id=1163 The Triangle
2012-07-20 15:08:31 280
原创 POJ 2488 A Knight's Journey
传送门:http://poj.org/problem?id=2488 题目大意:在一个M X N的矩阵中,骑士需要从其中任意点出发,遍历所有点。 骑士的走路规则:沿某一个方向A走两步,再沿这个方向的垂直方向B走一步。(A方向的两步不算,即一次到达最后点) 图示:假设骑士在中间位置,则带有白色圆圈的8个点表示可以一次到达的位置。 此题似乎只要找到一个
2012-07-18 20:55:43 716
原创 POJ 1321 棋盘问题
传送门:http://poj.org/problem?id=1321 分析: 此题与8皇后问题类似,关键如下: 第一、并不是每一个格子都可以放棋子 第二、并不是对应n行n列的棋盘一定要放n个棋子 第三、约束条件较八皇后问题少了必须不能再同一斜线上 综上,此题在八皇后问题的基础上需要修改的重要点有: 第一、在backtrace函数中
2012-07-18 17:17:51 345
原创 八皇后及N皇后的解法
首先看看八皇后问题: 在8X8的国际象棋棋盘上放置8个皇后,使这8个皇后中任意两个不在同一行、同一列、同一斜线上。试求出可能的解法以及总的解法个数。 分析: (1)此问题的解必然是一个长度为8的向量,即在64个格子中选取8个,即C 8(上)64(下) = 4.426*10^9种方案,但此思路消耗太大 (2)如果我们这样想,设定一个数列loca[8],其中lo
2012-07-18 16:05:27 1438
原创 大数加法
所谓大数问题,既是高精度数问题。在C语言中,小数点后的位数是有限的,对于整数部分也有int和long long 的限制,这就导致当我们在求几十位甚至上百位的数字数,无法直接得到程序设计要求的精度。 对此现象,一个比较合理的解决办法既是建立数组对数据求解。 代码如下:#include #include #define SIZE 105int main()
2012-07-18 08:48:49 286
原创 回溯法基本知识
一、回溯法的描述 从问题的某一种初始状态出发,依次搜寻每一种可能到达的情况,当走到这条路的“尽头”时,回过头到上一个情况,看这个情况是否还有没有走过的路,依次进行下去,直到遍历完所有的情况。 回溯法实际上是一种深度优先搜索的方式。 二、算法框架 对于回溯法解决的问题,通常将其解空间组织成图或者树的形式。 例如,对于0-1背包问题。(通常的背包问题有两
2012-07-17 23:20:23 738
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人