- 博客(232)
- 资源 (8)
- 收藏
- 关注
原创 pku 2488 A Knight's Journey (搜索 DFS)
类似经典搜索应该看一下leetcode N皇后问题A Knight's JourneyTime Limit:1000MS Memory Limit:65536K Total Submissions:28697 Accepted:9822 DescriptionBackgroundThe knight is getting ...
2014-05-20 09:49:32 1470
原创 HDU 2553 N皇后问题 (搜索DFS)
N皇后问题Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7743 Accepted Submission(s): 3481Problem Description在N*N的方格棋盘放置了N个皇后,使得它
2014-05-18 22:24:32 1313
原创 java调用本地应用学习
Java调用批处理或可执行文件用Java编写应用时,有时需要在程序中调用另一个现成的可执行程序或系统命令,这时可以通过组合使用Java提供的Runtime类和Process类的方法实现。下面是一种比较典型的程序模式: ... Process process = Runtime.getRuntime().exec(".\\p.exe"); process.waitfo
2014-05-18 19:27:32 1060
原创 HDU 1484 Basic wall maze (dfs + 记忆化)
题意:给定一张地图,并且给定起点和终点,求起点到终点的最短距离,地图上有墙,与以往的题目不同的是,以往的题目障碍物都是在格子上,但是本题的障碍物墙是在格子与格子的边界线上,所以在输入的时候就要进行预处理下,将墙的位置转化为相邻格子的东西南北方向墙的状态,所以使用了一个3为数组来记录地图的信息map[x][y][0]-map[x][y][3] 分别表示坐标为x,y的格子的四个方向墙的情况,0为没墙,1为有墙,然后一个dfs找到最短路,以及每个点的前驱节点,最后打印路径。代码中的注释很详细。题目本身很简单,就是
2014-05-08 18:07:52 1735
原创 HDU 1564 Play a game(巴什博弈)
题意:给定一个n*n的表格,在一个角上放入一块石头,然后两个人轮流移动石头,只能水平和竖直移动石子,而且不能移到已经访问的格子,最后没法移动的玩家为输者。现在输入任意的n输出谁输谁胜。这个随便画两个就能很容易的推算出胜负。太简单的水题。
2014-05-08 14:36:47 2564
原创 HDU 2516 取石子游戏(巴什博弈)
1堆石子有n个,两人轮流取.先取者第1次可以取任意多个,但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍。取完者胜.先取者负输出"Second win".先取者胜输出"First win".
2014-05-08 13:58:32 3404
原创 HDU 2897 邂逅明下(巴什博弈)
当日遇到月,于是有了明。当我遇到了你,便成了侣。那天,日月相会,我见到了你。而且,大地失去了光辉,你我是否成侣?这注定是个凄美的故事。(以上是废话)小t和所有世俗的人们一样,期待那百年难遇的日食。驻足街头看天,看日月渐渐走近,小t的脖子那个酸呀(他坚持这个姿势已经有半个多小时啦)。他低下仰起的头,环顾四周。忽然发现身边竟站着位漂亮的mm。天渐渐暗下,这mm在这街头竟然如此耀眼,她是天使吗?站着小t身边的天使。小t对mm惊呼:“缘分呐~~”。mm却毫不含糊:“是啊,500年一遇哦!”(此后省略5000字
2014-05-08 13:47:38 2355
原创 HDU 1847 Good Luck in CET-4 Everybody!(巴什博弈)
作为计算机学院的学生,Kiki和Cici打牌的时候可没忘记专业,她们打牌的规则是这样的:1、 总共n张牌;2、 双方轮流抓牌;3、 每人每次抓牌的个数只能是2的幂次(即:1,2,4,8,16…)4、 抓完牌,胜负结果也出来了:最后抓完牌的人为胜者;假设Kiki和Cici都是足够聪明(其实不用假设,哪有不聪明的学生~),并且每次都是Kiki先抓牌,请问谁能赢呢?
2014-04-30 11:18:38 3347
原创 HDU 2147 kiki's game (巴什博弈)
kiki's gameTime Limit: 5000/1000 MS (Java/Others) Memory Limit: 40000/1000 K (Java/Others)Total Submission(s): 5982 Accepted Submission(s): 3552Problem DescriptionRecently kiki h
2014-04-29 20:56:23 4786
原创 acm博弈论的简单学习(不断更新)
(一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走
2014-04-29 20:46:49 1627
原创 HDU 1846 Brave Game (巴什博弈)
各位勇敢者要玩的第一个游戏是什么呢?很简单,它是这样定义的:1、 本游戏是一个二人游戏;2、 有一堆石子一共有n个;3、 两人轮流进行;4、 每走一步可以取走1…m个石子;5、 最先取光石子的一方为胜;如果游戏的双方使用的都是最优策略,请输出哪个人能赢。
2014-04-29 20:42:32 2124
原创 HDU 1398 Square Coins (母函数-整数拆分变形)
Square CoinsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7612 Accepted Submission(s): 5156Problem DescriptionPeople in Sil
2014-04-28 17:20:44 3175
原创 HDU 1171 Big Event in HDU (母函数)
题意:有n样物品,每样物品价值是v,件数是m。尽量把这些物品分成两堆使得两边总价值最接近。输出分得的两堆各自的价值。利用母函数法来解决,因为分成两堆,而两堆中较小的一堆最大为所有物品总价值量的一半,所以母函数的组合数上下就可以设置成总价值量的一半。求出所有的组合后,可以利用贪心的思想来得到答案,因为要求两堆之差尽可能小,所以就可以从总价值量的一半开始向小的方向找,找到最大的价值量,则另一堆的价值量就是总价值量-此堆的价值量。因为组合数可能较大,这里不记录组合种数,而是用一个标记来表示该数能否组合出即可。
2014-04-28 16:42:39 3613
原创 HDU 1085 Ignatius and the Princess III (母函数-整数拆分)
Ignatius and the Princess IIITime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 11780 Accepted Submission(s): 8340Problem Descriptio
2014-04-25 14:00:07 1795
原创 HDU 1085 Holding Bin-Laden Captive! (母函数)
题意:给定三中硬币,面值分别为1,2,5,并且给定三种硬币的数量分别为num_1,num_2,num_5,然后让求解这些硬币所不能组成的最小的面额是多少,例如给定的例子,面值为1的硬币为1枚,面值为2的硬币为1枚,面值为5的硬币为3枚,则可以组成的面值有1,2,3,5......所以,不能组成的最小面额为4。这就是一道母函数的问题,但是这里并不是求组合数,所以,不需要int行的数组来记录组合数,只需要true和false来标示是否能表示该面值就可以了。当然用int记录组合数也可以,但要注意,因为组合量非常大
2014-04-24 23:24:14 3296
原创 QMainWindow 和 QWidget 设置layout
给QWidget或者QDialog设置布局的时候方式很简单。创建好一个布局:mainLayout,然后不停地把各个控件往mainLayout里面放,最后调用setLayout(mainLayout)就行了。错误提示:…Which already has a layout可是今天在QMainWindow中使用这个方法的时候却不管用。当时我也创建了一个mainLayout,再创建了
2014-04-24 17:47:39 15233 3
原创 Qt——QDir类来实现目录的遍历
The QDir class provides access to directory structures and their contents.
2014-04-24 16:16:04 30338 3
原创 HDU 2110 Crisis of HDU (母函数问题)
题目是中文的,意思很好理解,刚开始一看题目,估算了下数据量感觉搜索可以过的,就写了个dfs,但是无论怎么剪枝都超时,后来在网上看别人的解题报告,知道解此类组合类问题可以用母函数法,在网上搜索了母函数的相关知识学习了一下,此题A掉了。明天再做几个母函数的问题,关于母函数知识点的学习,过几天我会专门写一篇学习总结,供自己记录学习之用。
2014-04-22 21:47:44 2522
原创 HDU 1829 A Bug's Life (分组并查集)
题目意思:给定一系列数对,例如a和b,表示a和b不是同一种性别,然后不断的给出这样的数对,问有没有性别不对的情况。例如给定: 1 2 3 4 1 3那这里就是说1和2不是同种性别,3和4也不是同种性别,1和3不是同种性别,那这样就说明1和3是同一种性别,2和4是同一种性别,所以没有任何歧义,这时候输出No suspicious bugs found!。但是例如,(本文作者:CSDN:凌风) 1 2 2 3 1 31和2不同性别,2和3不同性别,那么
2014-04-22 13:33:56 6452 6
原创 HDU 1198 Farm Irrigation (并查集 和 dfs两种实现)
题意:有如上图11种土地块,块中的绿色线条为土地块中修好的水渠,现在一片土地由上述的各种土地块组成,需要浇水,问需要打多少口井。例如下面这个土地块ADCFJKIHEthen the water pipes are distributed like 如图对于能相连的地只需要打一口井,所以以上需要打三口井就能浇所有的块。稍加分析就可得出本质上就是集合的合并,最后求有几个集合的问题,很容易想到并查集。只需要对每个地块与右方和下方的地块进行合并即可。合并之前先判断是否能连通,若能连通则合并,不
2014-04-20 12:50:43 4643 1
原创 HDU 1856 More is better (裸的并查集,记录下秩就可以了)
题意:朋友圈问题,A和B是朋友,B和C是朋友则A和C也是朋友,依次类推,题目的意思就是求最大的朋友圈,即求最大集合中元素的个数。裸的并查集加个秩数组就行了。注意当朋友对为0时要特判一下,这里wa了一次,有点不应该,因为题目中写的很清楚0<=n<=1000000。
2014-04-19 21:34:25 3390
原创 HDU 3371 Connect the Cities (最小生成树 并查集+克鲁斯卡尔)
题意:某地发洪水,导致某些城市被淹而消失,现在想把剩下的零散的城市通过修路连接起来,已知现在有部分城市是连通的。可选择修的路有m条,城市总共有n个,给出了m条路的起点终点和修路花费,问最少可花多少钱能保证所有的城市连通。明显的克鲁斯卡尔。把边权排序然后并查集添加边即可。
2014-04-19 17:00:53 3489 5
原创 HDU 1175 连连看 (搜索 DFS)
题意很简单,就是我们平时玩的连连看的游戏规则,刚开始用的广搜,刚开始的剪枝不高效导致爆掉队列,使得内存超限,后来发现,bfs先遍历的点不一定是弯数少的点,这样的话如果不专门来更新的话,就会出现运行结果跟搜索顺序有关,是左上右下还是左下右上等等序列。因为至多两个弯,而数据量是1000*1000的,用dfs搜索的时候,只要找到合法解就行,不需要找弯数最少等最优情况,所以只要找到合法解就进行全局标记,这样其他就不需要搜索了,综合的效率其实非常高,大约在o(kn)级别,而且k不很大,具体也不好推算。后来又加了一个剪
2014-04-18 15:51:34 5870
原创 HDU 2717 Catch That Cow (搜索 - BFS)
题意:给定任意的两个坐标n,k,农夫现在在坐标n处,农夫可以选择走到坐标n+1,n-1 或者2*n处,问至少经过多少步可以从n走到k处。刚开始用的DFS,没看清数据量,超时是必须的。 后改成BFS进行搜索。能搜到的所有坐标只能是0-k+1.
2014-04-15 22:44:09 1071
原创 HDU 1372 Knight Moves (搜索 使用 dfs bfs两种实现)
题目意思:在一张8*8的象棋盘上,马走日的方式移动,问任意给定的两点pa,pb,问从pa到pb至少需要移动几步。 bfs是最好的解决方法,简单而且高效,在这里我同时用了dfs来实现,在时间上稍差了一些,但仍然能过。。。。
2014-04-15 11:38:41 3959 1
原创 HDU 1035 Robot Motion (搜索-DFS)
题意很明了,不说了,水的没法再水,直接裸dfs就可以了,没剪枝也根本无须剪枝。只是很纳闷为什么数据量要给这么小,其实最大的复杂度也就r*c,所以感觉数据量完全可以给到1000*1000甚至更大点,没试,只是理论上分析一下而已。
2014-04-14 14:53:31 1558
原创 HDU 1060 Leftmost Digit
Leftmost DigitTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 12337 Accepted Submission(s): 4707Problem DescriptionGiven a po
2014-04-14 13:55:38 1014
原创 HDU 1142 A Walk Through the Forest (搜索-DFS)
题目意思:寻找一共有多少条符合题意的路。能够从点A走到点B的要求是:点A到终点的最短路 > 点B到终点的最短路。先一遍迪杰斯特拉,然后一边记忆化dfs搜索就可以了。
2014-04-14 11:27:50 1177
原创 HDU 1548 A strange lift (搜索-深搜、广搜)
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.The lift have just two buttons: up and down.When you at floor i,if you press the button "UP" , you will go up Ki floor,i.e,you w
2014-04-13 18:02:50 3227 3
原创 HDU 2066 一个人的旅行(最短路)
题意:s个起点,d个终点,在所有起点到终点的路径中找一条最短路径。一遍迪杰斯特拉能找到一个起点到各个终点的最近的距离,所以进行s遍迪杰斯特拉算法就能找到最短的那条路径。这里的终点最好用哈希的方式存储,这样便于找最短距离。
2014-04-11 15:50:16 1107
原创 HDU 2544 最短路 (简单的最短路)
最短路Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 27297 Accepted Submission(s): 11797Problem Description在每年的校赛里,所有进入决赛的同学都会获
2014-04-11 15:09:31 1047
原创 HDU 1240 Asteroids! (搜索)
题意:三维空间,中o表示可以走,x表示不能走,给出行走的起始点和目的点的坐标,问最少多少步可以从起点到达目的点。本题用的深搜,为了剪枝使用记忆最小距离(记忆化搜索)。
2014-04-09 16:25:56 2823
原创 HDU 1072 Nightmare(搜索-DFS)
题意:在n×m的地图上,0表示墙,1表示空地,2表示人,3表示目的地,4表示有定时炸弹重启器。定时炸弹的时间是6,人走一步所需要的时间是1。每次可以上、下、左、右移动一格。当人走到4时如果炸弹的时间不是0,可以重新设定炸弹的时间为6。如果人走到3而炸弹的时间不为0时,成功走出。求人从2走到3的最短时间。这个题中每个结点都是可以重复访问的,但其实,炸弹重置点不要重复走,因为,走到炸弹重置点时时间就会被设置为最大时间,当重新返回时时间又设成最大,但此时已走的步数肯定增加了,所以如果存在较优解的话那么肯定在第一次
2014-04-08 18:03:23 4839 2
原创 HDU 1242 Rescue (搜索 DFS)
题意:天使被困在监狱,他的朋友们想见他,监狱的地形复杂,包括路(用点标示),墙(用#标示),天使的位置(用a标示),他的朋友(用r标示),监狱里还有守卫(用x标示),他的朋友只能向左右上下四个方向走,走以不花一单位时间,若碰上守卫,消灭守卫需要额外花费一单位时间。问最少多长时间天使能见到他的朋友。
2014-04-07 14:14:57 4225 2
原创 HDU 1018 Big Number
Big NumberTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 24016 Accepted Submission(s): 10884Problem DescriptionIn many appli
2014-04-06 18:45:16 1005
原创 HDU 2660 Accepted Necklace (DFS)
题意:给出宝石的数目n,制成项链所需的宝石个数k,然后再给出每个宝石的价值与重量,还有母亲会接受的最大重量,求出在小于等于最大重量范围内,项链的价值尽可能大。
2014-04-06 18:16:35 1758
三维CAD建模——基于半边数据结构的基本欧拉操作建模
2014-11-17
dom4j解析xml使用的jar包
2014-05-21
QT多文档编辑器
2012-02-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人