- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 POJ2449 Remmarguts' Date 第K短路
K短路求法:SPFA+A*。简单讲讲这个A*算法。它有一个估价函数 f(x) , 定义f(x) = g(x) + h(x). 其中g(x)为从起点到当前点的代价, h(x)为从当前点到终点的代价。怎么把它用来求K短路呢?定义结构体Node,其中有成员(to, f, g),to为当前顶点,f , g和上面定义相同。在求K短路中g(x)就是重源点到当前点的路径长度,h(x)的就是当前点
2015-10-28 20:58:28 432
原创 hdu 4462 Scaring the Birds 回溯法
题意:给定一个土地被分成了N*N块,其中有一些空地(最多K块),每块空地都可以选择是否放稻草人,每个稻草人的管辖范围是一个曼哈顿(manhattan)距离,问最少放多少个稻草人能让除空地以外的所有土地都被管辖。学算法分析与设计的时候老师讲过这类问题,但是昨天做模拟赛的时候我把两个语句的位置放反了,不应该= =。这道题的解空间是一棵子集树,而且K最大是10.非常符合用回溯法来解决。
2015-10-26 13:50:39 429
原创 poj3764 The xor-longest Path 字典树与异或
这道题的主要突破点就是从1->n上边权异或上1->m上边权的异或等于m->n上边权的异或。剩下的就是一个经典的字典树求异或最大值了。按道理我该睡了,但是这道题的一个bug被解决了,一定要记录一下。#include#include#includeusing namespace std;const int N = 100000+50;int n, cnt, sz;int
2015-10-25 23:14:41 425
原创 poj3259 Wormholes BellmanFord或SPFA
今天学了一下BellmanFord算法(它也是一个求单元最短路的算法),它和不使用优先队列的Dijkstra算法复杂度差不多,但是它可以处理带有负边权的图。算法实现很简单:给定图G=(V, E), |V| = N。 (1)我们对所有边进行N-1次松弛操作可以得到源点到所有点的最短距离。(2)再对所有边进行一次松弛操作,判断是否存在负环,如果存在负环,则从S到所有点的最短距离不存在,否则求解完毕
2015-10-25 22:11:21 410
原创 hdu4825 Xor Sum 字典树与异或(经典)
求某个数与一些数异或的最大值是字典树应用的一个经典问题。主要思想是贪心,把数字都转化成二进制,把这些数按存到字典树中。从高位开始遍历,如果有不同的边(可以使得异或值为1)肯定走不同的边,如果没有则走与自己值相同的边(一定存在)。边走边统计,最后输出。这道题题意是:输入一个数组,再给一些数字进行查询,问这些数字与数组中的哪个元素异或值最大。思路:把输入的数组元素全部插入字典树,然
2015-10-22 22:47:05 1955
原创 win7+Ubuntu15.04 双系统安装以及一些事项
本人是用的win7引导ubuntu15.04 64位的安装。一、安装win7+ubuntu1.准备工具:ubuntu-15.04-desktop-amd64.iso(官网可以下载), EasyBCD(网上下载), 7ZIP压缩工具。2.准备空间:win7下大家通常会有4个盘(我的是C,D,E,F),选一个剩余空间大一点的盘(我的是E盘,其他盘操作一样,不要C盘,我挑了100G的,
2015-10-10 21:41:44 1731
原创 hdu 2896 病毒侵袭 AC自动机
AC自动机模板。学习的是学长的写法,感觉很好。#include#include#include#includeusing namespace std;const int N = 502;const int MAX = 130;char virus[205];char web[10005];int flag[1005][5];struct Trie{
2015-10-07 13:22:32 352
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人