http://acm.hdu.edu.cn/showproblem.php?pid=4462一道题意不清的水题题意:给一个n*n的格子,在上面放草人,每个草人有恐惧范围,问最少选择几个草人可以覆盖所有格子解法:草人个数只有10,暴力即可,dfs或者状压枚举。距离指的是曼哈顿距离,已经有草人的格子,不...
分类:
其他好文 时间:
2014-09-05 00:50:20
阅读次数:
224
UVA 1045 - The Great Wall Game
题目链接
题意:给定一个n*n的棋盘,有n个棋子在上面,现在要移动棋子,每一步代价是1,现在要把棋子移动到一行,一列,或者在主副对角线上,问最小代价
思路:二分图完美匹配,枚举每种情况,建边,边权为曼哈顿距离,然后km算法做完美匹配算出值即可,由于要求最小值所以边权传负数,这样做出来的值的负就是答案
代码:
...
分类:
其他好文 时间:
2014-09-04 20:57:30
阅读次数:
340
UVA 1201 - Taxi Cab Scheme
题目链接
题意:给定一些乘客,每个乘客需要一个出租车,有一个起始时刻,起点,终点,行走路程为曼哈顿距离,每辆出租车必须在乘客一分钟之前到达,问最少需要几辆出租车
思路:如果一辆车载完一个乘客a,能去载乘客b,就连一条有向边,这样做完整个图形成一个DAG,然后要求的最少数量就是最小路径覆盖,利用二分图最大匹配去做,把每个点拆成两...
分类:
其他好文 时间:
2014-09-04 00:12:37
阅读次数:
210
POJ 2195 Going Home(网络流-费用流)
题目大意:
m表示人,H表示房子,它们之间的距离是曼哈顿距离,问你所有人一人个房子的总花费是多少?
解题思路:
用最小费用流即可。构图略。...
分类:
其他好文 时间:
2014-08-06 19:19:32
阅读次数:
275
UVA 1511 Soju
题目链接
题意:给定两个点集,要求两个点集各取一点曼哈顿距离最小值,保证点集1的x都小于0,点集2的x都大于0.
思路:由于x2 > x1所以只要考虑y值,如果一个y比另一个y大,那么就是y1 - y2,否则为y2 - y1,这样一来只要对这两种情况,分别进行两次排序贪心计算即可
代码:
#include
#include
#inclu...
分类:
其他好文 时间:
2014-07-28 00:14:09
阅读次数:
176
题目来源:POJ 1984 Navigation Nightmare
题意:给你一颗树 k次询问 求2点之间的曼哈顿距离 并且要在只有开始k条边的情况下
思路:按照方向 我是以左上角为根 左上角为原点 dx[i]为i点距离根的x坐标 dy[]是y坐标 这两个可以通过路径压缩求出 只不过是二维而已
#include
#include
#include
using namespace st...
分类:
Web程序 时间:
2014-07-26 17:19:52
阅读次数:
358
输入一个n×m网格图,每个结点的值为0~9,可以从任意点出发不超过k次,走完每个点且仅访问每个结点一次,问最终的能量最大值。不可全部走完的情况输出-1.初始能量为0。 而结点(x,y)可以跳跃到结点(x,y+dy)或(x+dx,y)。消耗能量为跳跃前后结点的曼哈顿距离 - 1 。若跳跃前后的结点的值...
分类:
其他好文 时间:
2014-07-23 22:12:27
阅读次数:
261
题意:
n*m的格子 每个格子有个数字 你可以任选起点 每一步向下或者向右 每一步的花费是曼哈顿距离-1 如果一步的两端的格子数字一样那么你会得到这个数字的花费 问 最多选k次起点 在遍历完所有格子前提下最多剩下多少花费
思路:
题目可以表示为用最多k条路径去覆盖n*m 思路就转向了二分图
X集合表示每个点的出 Y集合表示入 如果f格子能走到g格子 那么建边...
分类:
其他好文 时间:
2014-07-23 13:07:06
阅读次数:
277
八数码0.0,我又来水博客了。
IDA*算法,A*为曼哈顿距离,判重用康拓展开。
#include
#include
#include
#include
#include
using namespace std;
int a[4][4];
int dx[]={0,0,-1,1};
int dy[]={-1,1,0,0};
char s[]="123804765";
int end[4]...
分类:
其他好文 时间:
2014-05-11 06:20:57
阅读次数:
334
如果两点的曼哈顿距离在一定范围内时我们直接暴力搜索就可以得到答案,那么开始贪心的跳,判断两点横纵坐标的差值,差值大的方向条2,小的条1,不断做,直到曼哈顿距离较小时可以暴力求解。
备注:开始想的是确定一点周围跳到这个点的答案,然后再枚举周围的点,判断这个点和另一个点的曼哈顿距离,如果能被3整除...
分类:
其他好文 时间:
2014-05-08 22:49:53
阅读次数:
391