
ACM~数据结构
文章平均质量分 81
dooder_daodao
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
原来我可以这么的暴力,,,树,并查集,深搜~
1、http://acm.hdu.edu.cn/showproblem.php?pid=1198解题思路:用深搜来标记从可行的一个位置出发所能达到的所有的点,组成一个连通的图块,求和~#include#include#define M 55int dir[][2]={{0,1},{1,0},{0,-1},{-1,0}};char judge[11][11][5]={ "0000","0010","0001","0011","0001","0010","0010","0001","00原创 2010-07-18 18:18:00 · 961 阅读 · 2 评论 -
Poj DancingLinks(3372 3074 3076)
好吧,趁热打铁,今天写了整天的Dancing Links,不过还老是出现种种错误~其中竟因为一个变量把整个十字链表给写成了一条长长的链了,竟然还能通过样例,TLE了好久才发现~ 三题中3372就是个模板题,不过是后来才发现有这么一个题的,先写的数独两个问题,原创 2011-08-03 20:11:15 · 958 阅读 · 2 评论 -
zju 3209 Dlx解精确覆盖
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3372 题意:给出一个矩形区域和一些固定位置的矩形,问从这些矩形中最少选取多少个可以完全覆盖整个区域,并且不出现重复覆盖。 把n*m的原创 2011-08-04 09:46:46 · 1125 阅读 · 1 评论 -
Hdu 2295 (二分+重复覆盖问题 Dancing Links)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2295 题意:给出一些城市及一些雷达的坐标,要求从这些雷达中选取最多k个能够覆盖所有的城市,问雷达的最小覆盖半径为多少。 二分半径,则可转化为一个判定问题,即给定雷达的原创 2011-08-04 13:10:08 · 1206 阅读 · 0 评论 -
Hdu 3529 Dancing Links
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3529 题意:炸弹人游戏中,问最少需要放多少颗炸弹,才能够将所有的墙壁炸掉,其中,炸弹在同一时间引爆。 以墙壁这列,以空地为行,可转化为重复覆盖问题。 Code原创 2011-08-05 12:56:01 · 1210 阅读 · 0 评论 -
HDU3911 线段树
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3911 题意:给出一段边续的01序列,有两种操作,1)更改a,b之间的元素状态;2)查询a,b之间最长的连续的1的长度 线段树题目,维护了六个域来记录该节点的状态,另外原创 2011-08-05 18:47:17 · 1138 阅读 · 0 评论 -
Hdu 3663 Dancing Links
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3663 题意:给你一个最多60个点150个边的无向图,每个点是一个村庄,每个村庄都有一个发电站,每个电站可以给它所在的村庄和它有边直接连接的所有村庄供电,现在让你选出一些电站,原创 2011-08-05 11:19:00 · 964 阅读 · 0 评论 -
Hdu3498 DancingLinks重复覆盖
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3498 很裸的重复覆盖题目,不过不知道别人为什么能够优化到500+ms. Code: #include#include#include原创 2011-08-05 20:20:32 · 990 阅读 · 0 评论 -
Poj 1703 / Poj 1182 并查集二题
题目链接:http://poj.org/problem?id=1703 http://poj.org/problem?id=1182 比较明显的并查集,也是并查集的深层应用,这两个题除了维护结点的集合外,另外维护结点到其父节点的向原创 2011-08-15 10:46:35 · 765 阅读 · 0 评论 -
Poj3974 最长回文子串
题目链接:http://poj.org/problem?id=3974 最长回文子串问题,有一个O(n)的算法叫Manacher, http://zhuhongcheng.wordpress.com/2009/08/02/a-simple-linear-time-原创 2011-08-16 18:58:07 · 1623 阅读 · 0 评论 -
Poj1699 扩展kmp与tsp
题目链接:http://poj.org/problem?id=1699 题意:给出一系列的DNA序列,按照一定排列,使相邻的序列之间重复的进行合并,问得到最短的序列的长度。 每个串只使用一次,两串之间有一定的距离,使这个距离最长的环游序列可得最长路的TSP问题,结原创 2011-08-20 19:49:24 · 1618 阅读 · 0 评论 -
Poj1699 遗传算法TSP
题目链接:http://poj.org/problem?id=1699 扩展kmp求距离,随机算法求TSP问题。、 不过强度不给力啊,Age 取1024时跑了250ms,还多以WA结束,下面的跑了刚好1000ms >.Code: #include#in原创 2011-08-20 21:07:11 · 2070 阅读 · 0 评论 -
Poj 3376 回文串,扩展kmp
题目链接:http://poj.org/status?problem_id=3376 题意给出一连串多组字符串,问这些字符串两两相连能形成多少个回文串。 参考别人的思路,看了下扩展kmp,才明白怎么解决这一题~ 如果两个字符串的公共前缀为其中某一个的整,并原创 2011-08-19 16:42:02 · 2219 阅读 · 2 评论 -
Poj 1204 简单AC自动机
题目链接:http://poj.org/problem?id=1204 题意:给出一个字符方阵和一系列字符串,试从方阵中找出字符串出现的位置,方阵中字符串按八个方向查询。 将待查询字符串插入字典树,构造AC自动机,然后对方阵的四条边,每条边对应的三个方向进行查询。原创 2011-08-22 08:57:50 · 1347 阅读 · 3 评论 -
hust 1017 Exact cover (DLX)
题目链接:http://acm.hust.edu.cn/JudgeOnline/problem.php?id=1017 题意:给定一个01矩阵,要求选择一些行,使每一列有且仅有一个1. Dancing Links论文中讲到的一题,并以此为基础使另外一些类型的题目转原创 2011-08-02 19:53:46 · 1371 阅读 · 0 评论 -
Poj KMP 总结
题目列表:Poj1226 http://poj.org/problem?id=1226Poj1961 http://poj.org/problem?id=1961Poj2185 http://poj.org/problem?id=2185Poj2406 http:原创 2011-08-01 18:28:10 · 2952 阅读 · 0 评论 -
Poj1177(求矩形并的轮廓周长)
题目链接:http://poj.org/problem?id=1177 题意:给出多个矩形,求这些矩形所覆盖图形的周长。 可用线段树来做,两种方法:1、分别对x和y方向离散化后做线段树,求出各方向上的轮廓长;2、对一个方向上的坐标进行离散化,用另一维进行扫原创 2011-07-30 11:42:41 · 1533 阅读 · 1 评论 -
hduoj 1558 并查集、计算几何(判断两线断是否相交)
http://acm.hdu.edu.cn/showproblem.php?pid=1558关于计算几何:判断两线断是否相交* 返回(P1-P0)*(P2-P0)的叉积。 * * 若结果为正,则 在 的顺时针方向; * * 若为0则 共线; * * 若为负则 在 的在逆时针方向; * * 可以根据这个函数确定两条线段在交点处的转向, * * 比如确定p0p1和p1p2在p1处是左转还是右转,只要 * * 求(p2-p0)*(p1-p0),若 0则右转,=0则原创 2010-07-19 14:27:00 · 766 阅读 · 0 评论 -
字典树,ZOJ 1109 不得不说~
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=109Language of FatMouseTime Limit: 10 Seconds Memory Limit: 32768 KB We all know that FatMouse doesn't speak English. But now he has to be prepared since our nation will join WTO soon. Thank原创 2010-07-21 11:14:00 · 1125 阅读 · 1 评论 -
第一次用拓扑,记念一下~hdu 1811
<br />http://acm.hdu.edu.cn/showproblem.php?pid=1811<br /> <br /> Rank of Tetris<br />Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)<br />Total Submission(s): 1153 Accepted Submission(s): 292<br />Problem Description原创 2010-08-02 21:33:00 · 770 阅读 · 0 评论 -
Poj3667 ( 线段树题目,不过用Splay做的 )
<br />题目链接:http://poj.org/problem?id=3667<br /> <br />题意:抽象出来就是给出一长段连续的资源,对些资源有两种操作:<br /> <br />1、申请连续的a 个资源,从前身后第一个满足的区间被分配,已被分配的资源不能重新分配,除非经操作2释放;<br /> 2、从某个位置开始,释放其后的连续a个资源,被释放的也可以是未使用的资源.<br /> <br />此题看上去有些像是计算机中内存的分配与回收算法,数据结构上有提到,可以用链表来模拟实现,可是题目给出原创 2011-05-12 19:13:00 · 1014 阅读 · 1 评论 -
Poj2662 Wild Words (字典树)
<br />题目链接:http://poj.org/problem?id=1816<br /> <br />题意:给出两类字符串,一类为模式串,可包含小写字母、"*"、"?",另一类为匹配串,只包含小写字母;模式串中的"*"可以匹配零或多个匹配串的字母,"?"可以匹配一个任意字母,问题是给出的匹配串,都有哪些模式串可与之匹配.<br /> <br />可以用字典树来解决此题,用模式串建树,增加另外两个域表示"*"、"?"的情况,然后查找时可以根据情况进行搜索,要注意的是模式串可能有很多相同的,用并查集来记录原创 2011-05-14 10:36:00 · 692 阅读 · 0 评论 -
Poj2528 Mayor's posters (线段树)
<br />题目链接:http://poj.org/problem?id=2528<br /> <br />题意:一段区间,前后用线段覆盖,问最后能在区间上看到的不同的线段数目.<br /> <br />区间染色问题,以不同的颜色向区间染色,问最后区间上的颜色总数.<br /> <br />区间操作,用线段树解决,注意lazy:<br /> <br />#include<stdio.h>#include<string.h>#include<stdlib.h>#define M 40008#d原创 2011-05-13 16:56:00 · 633 阅读 · 0 评论 -
Poj2269 Friends (表达式求值)
<br />题目链接:http://poj.org/problem?id=2269<br /> <br />题意:给出集合的表达式,在已经知道几种运算规则的情况下求表达式值。<br /> <br />栈的运用:<br />#include<stdio.h>#include<string.h>#include<stdlib.h>#include<ctype.h>#define M 256class CSet{ bool set[26];public: CSet(){memset原创 2011-05-30 00:39:00 · 1545 阅读 · 0 评论 -
Poj1151/HDU1542(求并矩形覆盖的面积)分别用离散化处理,矩形切割,线段树三种方法实现.
<br />题目链接:http://poj.org/problem?id=1151<br /> http://acm.hdu.edu.cn/showproblem.php?pid=1542<br /> <br />题意:给出任意n多矩形,求其总覆盖的面积.<br /> <br />可分别用离散化处理,矩形切割,线段树三种方法实现,以下分别为三种方法的代码:<br /> <br /> <br />离散化坐标:<br /> <br />#include<stdio.h>#includ原创 2011-04-19 17:59:00 · 2732 阅读 · 6 评论 -
HDU1305(二叉树)
<br />题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1305<br />题意:给出一些二进制编码,问是不是会有一个串是另一个串的前缀.<br /> <br />今天水了一道题,它叫二叉树,还以为要用到霍夫曼编码呢```<br /> <br />38287432011-04-16 19:40:58Accepted13050MS220K666 BC++ㄉ ㄉ<br /> <br />#include<stdio.h>#include<string.h>原创 2011-04-16 19:52:00 · 1324 阅读 · 0 评论 -
HDU3333(线段树/数状数组 + hash)
<br />题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3333<br /> <br />题意:数轴上的区间和问题,有一些变化就是要求的是不同元素的和,线段树or数状数组可以解决.<br /> <br /> <br />刚开始时竟然给线段树的每人结点维护了一个set 来标记是否有重复,那个复杂度弄的比暴力都高了吧,汗一个~<br /> <br />后来看了下别人的思路,采用离线操作,对Q所要求的区间以右端点递增排序,从左至右插入新的元素,如果该元素已经插入了原创 2011-05-01 21:00:00 · 1277 阅读 · 0 评论 -
树状数组求区间最值(转载)
树状数组(Binary Index Tree)利用二进制的一些性质巧妙的划分区间,是一种编程,时间和空间上都十分理想的求区间和的算法,同样我们可以利用树状数组优美的区间划分方法来求一个序列的最值约定以 num[] 表示原数组, 以 idx[] 表示索引数组, Lowbit(x)转载 2011-07-25 19:24:05 · 2201 阅读 · 0 评论 -
Poj 2823 (单调队列)
题目链接:http://poj.org/problem?id=2823题意:给出一个数列,长度为n,然后有一个宽度为k的窗口自数列最左端开始滑动至其右边到达数列的最右端,要求出整个过程中,滑动窗口在每个位置内的最大值和最小值。 题目链接:http://poj.org/proble原创 2011-07-25 20:56:40 · 969 阅读 · 2 评论 -
Poj2266/Poj2270(四元树)
题目链接:http://poj.org/problem?id=2266 http://poj.org/problem?id=2270 题意:题目中讲到一种图XBM 的编码方案,从整体到局部的划分图的区域,相同顔色的区域同一块区域可用四元树原创 2011-07-17 15:56:45 · 927 阅读 · 0 评论 -
Poj 2778 /1625 / 3691 AC自动机上的DP
题目链接:http://poj.org/problem?id=2778 http://poj.org/problem?id=1625 http://poj.org/problem?id=3691原创 2011-08-23 11:39:26 · 2068 阅读 · 0 评论