##题面 Problem Description 在计算机中,对于定点数有三种不同的表示方法。在本题中,假定码的长度固定为8位,从左往右依次编号为第1到8位,第1位为最高位。 x的原码:最高位为符号位,正数符号位为0,负数符号位为1,第2到7位为x的二进制表示。正负0的原码不同。 x的反码:原码符号 ...
分类:
其他好文 时间:
2020-06-20 22:18:58
阅读次数:
63
题目链接:http://poj.org/problem?id=3322 这题并不难,理解了状态空间的纬度就很容易实现,其中状态是坐标、躺着的起始位置,躺着的形式。 搜索题目比较考验写代码的能力。 代码: #include<iostream> #include<cstdio> #include<que ...
分类:
编程语言 时间:
2020-06-20 10:36:25
阅读次数:
50
##题面 Problem Description 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。 你的任务是,对于给定的N,求出有多少种合法的放置方法。 Input 共有若干行,每行一个正整数N≤10,表示棋盘和 ...
分类:
其他好文 时间:
2020-06-19 23:18:56
阅读次数:
45
题目链接:http://poj.org/problem?id=1190 剪枝的常用思考策略:优化搜索顺序(从决策数量越少的位置开始决策)、排除冗余的等效的操作、可行性剪枝、最优性剪枝、上下界剪枝,其中在可行性剪枝方面可以利用“未来期望进行剪枝” 要充分利用不等式关系进行放缩,将不可能的状态进行剪枝, ...
分类:
编程语言 时间:
2020-06-19 16:36:53
阅读次数:
62
地址 http://poj.org/problem?id=1258 Sample Input 4 0 4 9 21 4 0 8 17 9 8 0 16 21 17 16 0 Sample Output 28 解答 根据题目的输入格式 还是使用prim比较好 #include <iostream> # ...
分类:
其他好文 时间:
2020-06-19 13:48:51
阅读次数:
41
#题面 Problem Description There is a strange lift.The lift can stop can at every floor as you want, and there is a number Ki(0 ? Ki ? N) on every floor. ...
分类:
其他好文 时间:
2020-06-18 19:21:32
阅读次数:
90
题目链接:http://poj.org/problem?id=2442 给定一个M*N的矩阵,要求从每一行中都取出一个数然后累加,问最小的N个累积和为多少。使用堆可以在O(MNlogN)时间复杂度内求出。 M行的最大取法一定是通过前M-1行的最大取法+第M行取数然后求前N大获取的,所以有归纳法可以考 ...
分类:
编程语言 时间:
2020-06-18 13:19:12
阅读次数:
67
题目: 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜 ...
分类:
其他好文 时间:
2020-06-18 13:05:17
阅读次数:
45
题目链接:http://poj.org/problem?id=3764 我们可以在O(32*n)时间内求出一个长度为n的序列中取两个数的最大异或,而树中的异或有如下公式:path[x]=path(root,x) xor path(root,y),所以处理出path(root,i)之后就简化成了 简单 ...
分类:
编程语言 时间:
2020-06-18 10:41:11
阅读次数:
56
题目链接:http://poj.org/problem?id=1961 通过next数组求字符串截止到i位置的最小循环节以及循环次数,可以在O(N)时间内得出,通过这个方法可以求得字符串的任意长度的循环节。 代码如下: #include<iostream> #include<cstdio> usin ...
分类:
编程语言 时间:
2020-06-17 18:07:49
阅读次数:
51