自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(33)
  • 资源 (3)
  • 收藏
  • 关注

原创 黑白棋游戏

黑白棋游戏Time Limit:10000MS  Memory Limit:65536KTotal Submit:9 Accepted:5 Case Time Limit:1000MSDescription【问题描述】 黑白棋游戏的棋盘由4×4方格阵列构成。棋盘的每一方格中放有1枚棋子,共有8枚白棋子和8枚黑棋子。这16枚棋子的每一种放置方案都构成一个游戏状态。在棋盘上拥有

2012-08-31 15:55:10 3253

原创 hdu 2259

题目:http://acm.hdu.edu.cn/showproblem.php?pid=2259题意是找一种策略,可以使这个策略得到值比continuous same game(1) 的策略好1.5倍就可以了。也其实就是不用找最优的策略。。只要稍微比(1)的策略好就行。。。。我一开始往找最优策略方向了。所以一直超时。。最后被我水过了。下面是AC代码:#includ

2012-08-30 17:34:31 842

原创 poj 3468

题目:http://poj.org/problem?id=3468成段更新线段树。用mark延迟标记,在更新的时候不用每次把叶子节点全部更新,只需要把需要更新的一段所需要更新的权值标记一下,然后在下次查询的时候。如果需要更新这个被标记的子节点。那么把这个子节点的儿子节点的延迟mark加上父亲节点的mark。下面是AC代码:#includeusing namespace std

2012-08-29 16:24:30 4689

原创 HDU 1698

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1698 线段树中的成段更新。 初始权值1-n为1.每次更新的时候判断一下是否找到当前要找的区间。如果找到直接返回。。没有找到就把当前这个大区间的权值改为0,表示子节点是由不同权值构成的!下面是AC代码:#includeusing namespace std;#define maxn

2012-08-28 11:24:22 714

原创 poj 2828

题目:http://poj.org/problem?id=2828题意是n个人按照给定的位置(pos),将这些人插入到这个位置。按它正常的顺序去模拟的话肯定会超时(n^2).所以这题用的是逆着来统计。。用线段树统计T[1-n]的空位置数量。由于逆着进行统计。只需要找到把当前这个人的实际位置找出来,而这个实际的位置与给定的这个人的pos有关。如果pos是空的。那么这个人的实际位置就是放在pos这

2012-08-28 10:42:44 544

原创 HDU 2795

题目:http://acm.hdu.edu.cn/showproblem.php?pid=2795单点类更新的线段树,按高度h查询即可。直接标记每段的最大可添加宽度。下面是AC代码:#include#includeusing namespace std;#define MAX 200010struct node{ int id,l,r; int m

2012-08-28 09:10:59 526

原创 poj 2491

题目:http://poj.org/problem?id=2491map暴搞。。找到pre[]为空的即为头结点。 map不清除会超时。。map.clear();下面是AC代码:#include#include#includeusing namespace std;int main(){ int t,n,ca=1; cin>>t; while(

2012-08-27 09:45:10 916

原创 poj 2245

题目:http://poj.org/problem?id=2245简单的DFS。。下面是AC代码:#includeusing namespace std;int k;int a[100];bool vis[100];void dfs(int cur,int cnt){ if(cnt==6){ int i; for( i=0;i<k;

2012-08-27 08:46:05 948

原创 HDU 4127

题目:http://acm.hdu.edu.cn/showproblem.php?pid=4127IDA*的好题啊。。状态数太多了。用BFS肯定会爆掉内存。而且状态也不好保存。。我一开始想的是用IDA*直接暴搞。。H()评估函数,统计剩余未被改变的颜色数目。但是代码写得太乱了。。最后删了。后面参考别人的思路,用vis[][] 记录被改变的状态。 1表示已经被改变了。2表示下次可以改变的

2012-08-24 16:19:47 1146 1

原创 HDU 3582

题目:http://acm.hdu.edu.cn/showproblem.php?pid=3582直接BFS。。但是在标记的不能只标记钥匙和人物坐标,还要标记门的状态。。一开始我把钥匙个数放在最前面,提交的时候一直返回访问越界。。后来把标记写成人物坐标,然后才是钥匙个数和门的状态。。这才AC。。不知道是不是数据有问题。。为什么那样标记就不可以了?坑爹= =!.下面是

2012-08-24 11:02:44 833

原创 HDU 3095

题目:http://acm.hdu.edu.cn/showproblem.php?pid=3095很好的题。。用BFS一直爆内存,想了各种优化都没能AC掉。。后面改为双向BFS。。才成功AC!最近一直在练习搜索题目,发现打搜索很能提高驾驭代码的能力。如果搜索都能很快打对。那么打其他的应该也不难。搜索打多了,很多2B的逻辑错误就不容易犯了。。代码依旧写得很烂。那是因为总是对这个代

2012-08-23 16:38:43 765

原创 HDU 2258

题目: http://acm.hdu.edu.cn/showproblem.php?pid=2258跟HDU 3295 是一样的消去方法。。感觉这题比 3295还容易点,可能是因为先打3295,总体思路差不多所以感觉容易点了。=  =!。。直接按题意模拟即可。。没什么细节问题。下面是AC代码:#include#include#include#inclu

2012-08-22 23:24:24 722

原创 HDU 2181

题目:http://acm.hdu.edu.cn/showproblem.php?pid=2181简单的DFS。。直接标记+递归求解即可下面是AC代码:#include#include#include#includeusing namespace std;vector map[25];bool vis[25];int pre[25];int m,num;

2012-08-22 21:16:16 1135

原创 zoj 1249 | poj 1475 Pushing Boxes

题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=249又是推箱子。。题目求的是推箱子所要的最少次数。  那么以箱子为开始点 进行BFS。每次判断人(BFS)能不能到达箱子所需推到的反方向。如果能救如队列。有几个细节需要注意。1,箱子移动时,箱子可以移动到人当前所在的位置。2,人移动时,人不能移动到箱子未改变状态

2012-08-22 16:44:52 957

原创 HDU 3295

题目:http://acm.hdu.edu.cn/showproblem.php?pid=3295BFS+DFS,先任意选择一个颜色的点消去,然后查找这个点附近相邻的点一起消去。。这题查错。。被纠结死了。犯了很多错误。。DFS的时候把边界的判断放在了最后导致越界。。还有进入DFS时,没标记当前这个访问点。。导致内存爆掉。。= =!。。。代码打得太挫了。。下面是AC代码:

2012-08-22 14:47:47 883 2

原创 HDU 3309

题目:http://acm.hdu.edu.cn/showproblem.php?pid=3309模型很容易发现是BFS。。但是模拟过程还是蛮蛋疼的。我是分成两种方式BFS的。一种是 两个球一起走,另一种是 一个球单独跑(另外一个球已经进坑)。最好开两个4维的标记数组。一个四维的标记两个球一起跑时的。另一个4维的前面两个标记金坑的坐标(一开始没这么搞,开的二维的。。一直错。找不

2012-08-21 21:47:49 802

原创 HDU 2821

题目:http://acm.hdu.edu.cn/showproblem.php?pid=2821 按题意DFS就可以了。。。但是我在处理最后结果的时候出现了重大错误,在深搜已经找到结果的时候。。要return!!!!因为这题搜索时,有4个方向。。如何你找到正确结果不返回,它仍然会继续搜索,在搜索剩下方向时很有可能改变正确的路径答案。。下面是AC代码:#include

2012-08-21 14:38:56 848 1

原创 HDU 1394

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1394可以暴力。。也可以用线段树优化。。用线段树就是查找比当前这个数大的已存入线段树中的个数。比如求a[i],那么就查找当前线段树(a[i]+1,n)中的个数。。然后把a[i]更新到线段树中。。下面是AC代码:#include#includeusing names

2012-08-20 16:53:09 1394

原创 HDU 1667

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1667        据说是IDA*搜索入门题,以前老是不敢看IDA*,认为很复杂。其实也没想象中的那么难。看IDA*先对 迭代搜索有了解。然后看IDA*就简单多了。IDA*就是在迭代加深上添加了评估函数。。评估函数一般其实就是,当前状态预估到结束状态的最小步数。下面是AC代码:#inclu

2012-08-17 09:40:56 719

原创 HDU 1059

题目 :http://acm.hdu.edu.cn/showproblem.php?pid=1059 背包类DP。其实可以水过的。正解是需要二进制优化,二进制优化的原理简单来说就是  一个数可以由一系列,全是2的倍数或者 2的倍数加上一个非2的倍数组成。。下面是刘大神的代码:#include#include#includeusing namespace std;

2012-08-16 16:12:57 1378

原创 HDU 1559

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1559 DP。。可以直接水过的。。先左右求和,然后从上向下扫一遍。。下面是AC代码:#include#includeusing namespace std;const int MAX = 1010;int a[MAX][MAX];long long sum[MAX][MA

2012-08-15 23:12:07 776

原创 HDU 1158

题目 :http://acm.hdu.edu.cn/showproblem.php?pid=1158简单 DP。。。为什么用注释的那句话,而不用最下面的那个求ans。就会wrong answer???神奇。。下面是AC代码:#include#includeusing namespace std;int dp[20][10010];int need[20];

2012-08-15 09:02:33 835

原创 HDU 1518

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1518超时了N遍。。。那个关键的神奇剪枝。。对于当前树枝要么现在用,如果现在不用。。以后也不要用了。下面是AC代码:#include#include#include#includeusing namespace std;int a[30];bool vis[30];

2012-08-14 07:53:11 1893 3

原创 hdu 2612

题目:http://acm.hdu.edu.cn/showproblem.php?pid=2612直接以两个人为起点进行BFS..然后标记,最短到当前这点的最短时间。最后求到 某个KFC最短的时间。下面是 AC代码:#include#include#includeusing namespace std;const int MAX = 210;char map[

2012-08-13 10:11:19 774

原创 HDU 1728

题目 :http://acm.hdu.edu.cn/showproblem.php?pid=1728       BFS+标记最小转弯次数。。下面是 AC代码:#include#include#includeusing namespace std;const int MAX = 110;char map[MAX][MAX];int vis[MAX][MA

2012-08-13 09:11:40 1952

原创 hdu 1401

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1401BFS,双向BFS的效率将会高些。我写的是单向的,单向BFS想要不超时关键是,在内部循环,进行操作如果遇到结束就返回。用二维数组标记结束棋子的位置。方便检查是否结束。下面是 AC代码:#include#include#include#include#in

2012-08-13 08:13:23 681

原创 hdu 1254 推箱子

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1254首先按箱子进行BFS.  然后判断箱子所走方向的反面,人是否能到达,即对人进行DFS。。下面是 AC代码:#include#include#includeusing namespace std;const int MAX = 10;int map[MAX

2012-08-11 16:31:23 939

原创 hdu 1238

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1238暴力搜索。以任意一个字符串,枚举这个字符串的字串。然后进行深搜。#include#includeusing namespace std;int n,ans;string str[110];void dfs(string temp,string retemp,int c

2012-08-10 09:38:24 1260

原创 HDU 1043

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1043经典搜索题。。。我用map+BFS胡搞出来的。因为测试数据比较多,所以从预处理了下。从结果开始暴搜。所以搜索方向反向。#include #include#include#includeusing namespace std;struct node{ s

2012-08-09 21:53:43 1552 2

原创 HDU 1026

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1026BFS+递归..状态构造不难。 用一个结构体,记录能到当前点的最短步数,方向。。等等。下面是AC代码:#include#includeusing namespace std;int n,m,flag;char map[110][110];bool visi

2012-08-07 21:20:50 1645

原创 HDU 1226

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1226直接BFS就可以了。每次保留余数,并且判重。当n==0的时候太坑爹了。。错了N次。下面是AC代码:#include#include#includeusing namespace std;int n,c,m;int a[20];int flag;bool visited

2012-08-07 21:15:36 1377 1

原创 HDU 1175

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1175简单DFS....直接计算能到当前这个点的最小转折次数就可以了、下面是AC代码:#include#includeusing namespace std;int map[1010][1010];int cnt_map[1010][1010];int dir[4][2

2012-08-07 21:08:30 948

原创 HDU 1074

题目 :http://acm.hdu.edu.cn/showproblem.php?pid=1074DP类的状态压缩。这题其实就是求所有家庭作业的全排列,也就是最多有15!种放法,而 15!=1 307 674 368 00 所以暴力肯定会超时的。这题的模型就是类似于数塔一样的。同时由于状态太多。所以利用二进制状态压缩。 下面是AC代码 :#include#inc

2012-08-04 15:15:00 1518

android studio 中文包

找到你的Android studio安装位置,打开lib文件夹,把resources_en这个文件复制到 (例如:F:\Android studio\lib\resources_cn)

2016-11-25

基于cocos2d-x 的微信打飞机

基于cocos2d-x 的微信打飞机.cocos2d-x的版本为2.1.5

2013-12-09

湖南省第六届大学生计算机程序设计竞赛试题及标程

湖南省第六届大学生计算机程序设计竞赛试题及标程

2012-10-08

空空如也

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

TA关注的人

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