其实是很水的一道bfs,用字符串表示每个状态,map判重就ok了。
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5012
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define N 7
using namespace std...
分类:
其他好文 时间:
2014-09-17 23:21:32
阅读次数:
206
http://acm.hdu.edu.cn/showproblem.php?pid=1258
题意:给定一个目标数t,和n个数,并且按非升序排列,问n个数里面有多少种情况之和等于t,并且按非升序输出。
思路:dfs三个参数,k,sum,num,k表示当前到这个数,sum表示当前数的和,num表示当前数的个数。麻烦一点的是判重,比如第一个样例3 1,只能输出一次。具体见代码。
#include...
分类:
其他好文 时间:
2014-09-17 10:23:32
阅读次数:
170
八数码问题。
BFS+康托展开。康托用来判重。直接搜的的话会超时。需要预处理。
我就用结构体存了一个状态。
struct lx
{
int can;//当前状态的康托展开
int pcan;//上一状态的康托展开
int k;//移动方向
};
把所有的 181442 种状态存下来。排序,然后二分搜索。迭代寻找上一状态,直到初始的 0 。
...
分类:
其他好文 时间:
2014-09-16 17:21:40
阅读次数:
181
题意:给你一个骰子的初始状态和可以进行的四种操作,求从初始状态到目标状态的最少操作次数题目本身很简单,bfs即可。但是因为骰子有六个面,搜索判重和记录状态比较麻烦。这时候就需要神器STL了。 1 #include 2 #include 3 #include 4 #include 5...
分类:
其他好文 时间:
2014-09-16 00:14:59
阅读次数:
448
感觉可以用bfs暴力,一开始写了一个很暴力的bfs,hash判重,本地跑了几组数据发现至少要2s才能过,交上去估计要TLE,试探性的交了一发1A了,原来时限是10s,我看成1s了,真是逗逼。。。还一直不敢写#include #include #include #include #include #i...
分类:
其他好文 时间:
2014-09-01 22:36:53
阅读次数:
334
1 /* 2 树形dp! 3 判重思路: 4 当dp[v][0]==dp[v][1]时,很自然,flag[u][0]必然是有两种方案的。flag[u][1]则不然, 5 因为它只和dp[v][0]有关系。而若flag[v][0]不唯一时,则必然flag[u][1]也不唯一 ...
分类:
其他好文 时间:
2014-08-29 14:24:18
阅读次数:
154
刚开始想 stl水过去 ,一直超时。坑的是 这题贪吃蛇,头不能向尾部移动,后来手跑了样例才发现。。二进制位压判重,然后就普通的bfs 搞。对于那些30ms 过的很ym。。#include #include #include #include #include #include #include .....
分类:
其他好文 时间:
2014-08-28 21:08:56
阅读次数:
250
http://www.lydsy.com/JudgeOnline/problem.php?id=1054一开始我还以为要双向广搜。。。。但是很水的数据,不需要了。直接bfs+hash判重即可。#include #include #include #include #include #include ...
分类:
移动开发 时间:
2014-08-27 12:51:28
阅读次数:
258
对于石头的处理就按照每个位置的时间取k的余数判一下重复就好,其他随意写#include #include #include #include #include #include #include #include #include #include #include #include #includ...
分类:
其他好文 时间:
2014-08-23 20:16:21
阅读次数:
212
题目链接:
传送门
思路:
这道题是一个简单的hash的应用,如果直接暴力的话肯定承受不了5重for循环,所以比赛的时候我先到分成两组,但是后来用到了许多数组,然后想到数字太大,还先到stl判重,
后来搞出来还是在本地跑的很慢,就放弃了。。后来看到题解,不得不说太牛了,我的思路是对的,首先把方程分成左右两边,然后分别暴力,因为计算结果的上限可能达到
50*50*50*50*2=125...
分类:
其他好文 时间:
2014-08-20 10:33:06
阅读次数:
173