自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (2)
  • 收藏
  • 关注

原创 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 1500

原创 NKoj 2118 Handy Service(计算几何)

<br />题目链接:http://acm.nankai.edu.cn/p2118.html<br /> <br />题 意:给出一个多边形和多边形外两点A,B,求在不穿过多边形的条件下,两点A,B间的最短距离。<br /> <br />最短路问题,可以在能够直接相连的顶点间连边,然后求A点到B的最短路。<br />建图的关键在于判断两点的连线是否穿越了多边形。<br /> <br />有这样一个结论:如果线段穿越多边形,则1:线段与多边形中的边有内交关系 <br />或2: 在所有与顶点相交的点中的相邻交

2011-05-29 12:49:00 1015

原创 Poj1568 Find the Winning Move(极大极小搜索)

<br />题目链接:http://poj.org/problem?id=1568<br /> <br />题意:给出一个4x4 tic-tac-toe 的棋局的局面,问先手 "x" 是不是能找在接下来的一步中找到一个必胜局面,如果有,按给出的顺序输出第一个落子位置。<br /> <br />博弈题,极大极小搜索刚好可以用于此,注意的是要搜索至分出胜负或和局时返回。<br /> <br />#include<stdio.h>#include<string.h>#include<time.h>#d

2011-05-27 22:43:00 1360 1

原创 Poj3033 Traveling Salesman(搜索)

<br />题目链接:http://poj.org/problem?id=3033<br /> <br />题意:给出空间多变形的n个城市,求从某个城市出发到另一个城市所穿越的边的最小个数。<br /> <br />要点:广搜,快速建图。<br /> <br />#include<stdio.h>#include<string.h>#include<stdlib.h>#define LENTH 10271#define MAXN 6008typedef struct talP{ in

2011-05-27 01:18:00 812

原创 Poj3034 Whac-a-Mole

<br />题目链接:http://poj.org/problem?id=3034<br /> <br />题 意:打地鼠游戏中,你有一个锤子,每一秒钟你可以拿着锤子移动d个单位的距离,掠过的鼠洞中露出的地鼠都会被锤打至,而事先知道从开始时各时间段内出现在老鼠的数量和位置,问题是 从游戏开始至结束时,你最多能打到多少只地鼠,开始时锤子可以在任何位置。<br /> <br />动态规划问题,我们把每一秒看成一个状态,则当年时间下,锤子落在各位置上能打到的最多的地鼠为能在一秒内移动至该位置的各位置到达该位置时打

2011-05-25 21:16:00 1065

原创 总结

这个总结总是迟迟敲不出来,好像并没有什么技术性的发现,流水帐全让他们记下了,我就来说说这相当长一段日子里的感想吧。好在,OneCornerWentedAway,心中也莫名的落下了一块巨石,结果原来就是这么不可预知的,回想起这学期开学以来的点滴,原来我们都有一个目标,我们都曾为理想一直努力着。是的,果实是丰硕的,是大家的努力为这个结果填充了足够多的营养。之前我一直在困惑于这样一个问题:我是不是该停顿一下向前赶的脚步,在阳光下的操场上驻足。然而那时的我只是一味的路过,直到阳光由春天的和煦化作夏日的曝烈。直到现在

2011-05-23 22:02:00 830 6

原创 Poj2135 Farm Tour (最小费用流)

<br />题目链接:http://poj.org/problem?id=2135<br /> <br />题意:给出一个无向有权图,问从出发点到终点然后返回的每条边最多经过一次的最短路径.<br /> <br />此题可以转化为网络流来解,首先每条边只能经过一次,则给每条边设一个容量1,在扩增的时候,每条边的流量不会超过1,然后就是最小费用流的求解了,从原点出发至终点,然后从终点返回,由于是无向图,则可以看作从原点出发两次不经过相同的路径,分别到达终点的最小费用.<br /> <br />最小费用流的求法

2011-05-17 23:59:00 809

原创 Poj1094 Sorting It All Out (拓扑排序)

<br />题目链接:http://poj.org/problem?id=1094<br /> <br />题意:给出n个元素,然后是边续的m个排列,其形式为A<B,表示元素A小于元素B,问多少个排列之后第一次出现下列某种情况,1得到全序,2得到矛盾;如果所有序列之后还不出现上述两种情况,则不能得到全序.<br /> <br />用拓扑排序解决,全序的话,如果求拓扑序列的过程中,整个栈中元素个数不超过1并且遍历了全体元素则得到全序.如果不能遍历所有元素,则出现环.<br /> <br />代码:<br />

2011-05-15 17:46:00 550

原创 Poj2618 Cube in Labyrinth (广搜 状态扩展)

<br />题目链接:http://poj.org/problem?id=2618<br /> <br />题意:矩形平面可以分成n*m个单位小正方形,在这个平面上的某位置处放置一棱长等于小正方形的立方体,它可以沿与平面接触的棱在平面上上下左右翻转进入一下相邻方格,某些方格之间有墙,不能在它们之间翻转,求立方体从某一位置进行翻转移动,到另外一个位置并且向上的平面不变的情况下的最小步数.<br /> <br />挺的意思的一道题,可以用广搜来解决,首先,必需明确的是状态转移之间除了位置的不同外,还有立文体放置

2011-05-15 16:13:00 1078

原创 Poj3662 Telephone Lines (限制最短路)

题目链接:http://poj.org/problem?id=3662题目抽象:给出一个无向图,一个起点1和终点N,求满足1到N的路径上第k-1大的边最小的一条路径,并输出这条边的长度.此题有两种做法:第一种是二分结果,把求解问题变为判定问题,如果当前结果满足条件,就把结果下移,一直找到最优为止;判定的时候可以把大于预设花费的边设为1,小于的边设为0,这样的话就转化成了另一个图,在这个图上求最短路,则可知路径上长度大于预设花费的边的个数,如果长度不大于K,则满足条件,即可以使最终花费控制在预设花费之下;第二

2011-05-14 20:49:00 889

原创 Poj2662 Wild Words (字典树)

<br />题目链接:http://poj.org/problem?id=1816<br /> <br />题意:给出两类字符串,一类为模式串,可包含小写字母、"*"、"?",另一类为匹配串,只包含小写字母;模式串中的"*"可以匹配零或多个匹配串的字母,"?"可以匹配一个任意字母,问题是给出的匹配串,都有哪些模式串可与之匹配.<br /> <br />可以用字典树来解决此题,用模式串建树,增加另外两个域表示"*"、"?"的情况,然后查找时可以根据情况进行搜索,要注意的是模式串可能有很多相同的,用并查集来记录

2011-05-14 10:36:00 651

原创 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 602

原创 Poj3259 Wormholes (找负环)

<br />题目链接:http://poj.org/problem?id=3259<br /> <br />题意:某农场主有多个农场,这些农场间的路径上有一些神奇的虫洞,能让农场主从一个农场到另一个农场并且时间会回溯一段,另外有一些正常的路径,需要花费农场主一定的时间从一个农场到另一个农场,注意虫洞是单向的.问是否有路径能使农场主从一点出发,并且回到该点的时间在他出发之前.<br /> <br />很有意思的一道题,不过做起来并不难,就是找出图中有无负环,用Bellman-Ford可以解决,这里采用的是SP

2011-05-13 09:09:00 958

原创 虚拟城市之旅(强连通+搜索)Tarjan

<br />题目描述:<br /> 展馆是未来城市的缩影,个人体验和互动是不变的主题。在A国展馆通过多维模式和高科技手段,引领参观者在展示空间踏上一段虚拟的城市之旅。梦幻国有N个城市和M条道路,每条道路连接某两个城市。任意两个城市之间最多只有一条道路直接相连。这M条道路中有一部分为单向通行的道路,一部分为双向通行的道路。梦幻国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价格不一定相同。但是,同一种商品在同一个城市的买入价和卖出价始终是相同的。现在你已踏上一段虚拟的城市之旅。为了给你

2011-05-12 22:55:00 857

原创 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 988 1

原创 HDU1691(模拟题) 象棋

<br />题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1691<br /> <br />题意:根据象棋的规则,给出一个棋局和接下来走的步数及每一步走法,问是否有不符合规则的走法,如果有,第一次是在第几步出现的.<br /> <br />好吧,这一题写好了,你的无AI的象棋也就差不多了~而且还不带有BUG的 :) ,想找一题过渡一下,然后就看到了模拟题中的这一道,其实思路也很容易啦,就是多写了一点儿代码,结果一直WA到不行了,重新看题,重新考虑情况,一直到两

2011-05-06 18:17:00 856

原创 Poj1077/HDU1043(A*搜索)八数码问题

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1043             http://poj.org/problem?id=1077题意:经典的八数码问题,问给出的一个状态能否通过移动达到一个目标状态,如果能就输出一个可行的移动方式.看过好几本书上面都有八数码问题的介绍,采用A*搜索,可一开始写的用不在目标位置上的方块个数作为h(n),可一直超时~然后改成各个方块到目标状态的曼哈顿距离,在北大OJ上AC了,尴尬的是HDU上给了整整五倍的时间,还是超时了

2011-05-02 18:34:00 2046 3

原创 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 1242

原创 大整数运算(加法,减法,除法,求余,求最大公约数)

<br />Another lottery<br />Description<br />Even in times of an economic crisis, people in Byteland still like to participate in lotteries. With a bit of luck, they might get rid of all their sorrows and become rich. <br />The most popular lottery in Bytel

2011-05-01 13:15:00 1272

原创 HDU1254(广搜+深搜)

<br />题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1254<br /> <br />题 意:简化了的推箱子游戏,只有一个箱子和一个目标位置,问至少多少步推的动作可以把箱子推到目标位置。<br /> <br />此题由于要考虑箱子在每个位置上时,推箱工能不能从该位置的一个方向上把箱子推到另外一个方向,所以要记录箱子所达位置的所用的四个方向的哪些,由此推得推箱工的位置,看其是否能把箱子从当前所在位置推向另一位置。用第三维来记录四个方向的状态。<br /> 

2011-05-01 00:40:00 1017

原创 HDU1429(广搜+状态压缩)

<br />题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1429<br /> <br />题 意:还是迷宫,不过这个迷宫有上了锁的门,只有拿到对应的钥匙才能走得通。<br /> <br />初看起来感觉相当麻烦,因为有去拿不拿某一个钥匙的选择问题,可后来仔细分析了一下,可以根据主角手中那到的不同的钥匙及其所在位置来区分不同的状态,就像推箱子中,用所达某一位置的方向来标记某一个状态,考虑到只有十个钥匙,所以可以用状态数组第三维来表示这些钥匙分别有或无状态,可以

2011-05-01 00:22:00 1320

排序演示系统(Java)

Java实现的排序演示系统,包括选择排序、冒泡排序、插入排序、希尔排序、快速排序、归并排序、堆排序、计数排序八种排序算法的实现与动画演示。

2011-09-15

井字棋(三连棋)的AI实现,C/C++

井字棋的AI实现(完整包)无界面 创建TicTacToe类,使你可以编写一个完整的三连棋游戏程序。这个类包含一个作为private数据的3*3的二维整数数组。构造函数应将空棋盘初始化为0。允许两个人玩游戏。无论第一个人移动到哪里,都在指定的棋格中放置1,无论第二个人移动到哪里,都在指定的棋格中放置2。每次移动都必须到达一个空格。在每次移动后,确定是否已分胜负,还是出现了平局。此外,必须让玩家决定谁先走说后走。开发一个人机大战游戏。

2010-10-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除