hdu日常小练
黑色的夢
I'm Acmer.
展开
-
hdu3567 Eight II 康拓展开+打表+路径回溯+映射
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3567 题意:给你一个八数码的起始和终止状态,让你打印路径,要求字典序最小,长度最短,保证输入数据必有解。思路:2000ms 200组数据,平均10ms一组数据。用A*的话,可能会tle,而且还不能保证字典序最小。所以直接打表,考虑到起点,终点不定,所以需要映射,比如我把起点564178X23映射成1原创 2017-01-15 15:23:30 · 1212 阅读 · 0 评论 -
hdu1667The Rotation Game 迭代深搜IDA*
题目链接:http://acm.hdu.edu.cn/data/images/1667-1.jpg 题目是这个棋盘里面摆放着8个1,8个2和8个3,每一步你可以沿着A、B、 C、D、E、F、G、H任意一个方向移动该字母所指的长块。移出边界的小块会从 另一端移进来。如最左边的棋盘经过操作A,就会变成中间的棋盘布局, 再进行操作C,就会变成右边的棋盘布局。 要使的最中间的8个格子的数字原创 2017-01-14 17:43:54 · 658 阅读 · 0 评论 -
hdu1043 Eight 康拓展开+bfs打表
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1043 经典的八数码,一般做法直接bfs,肯定tle。应该用A*剪枝或者打表,我用的是打表,打表更快点。 我的思路是以最终状态为起点进行bfs,同时开个结构体数组来记忆bfs过程中的状态(方向,这个八数码状态的上个状态的结构体数组下标),最终可以回溯打印路径。 同时给定一种状态要能找到他对应的结构体原创 2017-01-14 17:14:44 · 778 阅读 · 0 评论 -
hdu 1428 漫步校园 记忆化搜索
无语了,,对这道题,从年前就做了这道题,到现在才A,之前一直以为题意是直走两个方向,即向下或向右,结果无限wa,后来看了hdu的discuss,才知道原来是可以走四个方向,自己想了一种方法,即用优先队列把图中每个点到(n,n)的距离全算出来,然后在算的同时并标明有几种距离相同的情况(一直朝四个方向搜并将队列里最小的值放在队列前面,直到搜到以前搜到过的点结束,结束时统计队列里同样搜到以前搜过的点并与最原创 2016-05-05 21:32:32 · 1092 阅读 · 0 评论 -
hdu 1754 I Hate It 线段树(插点问点)
线段树入门题,年前做过线段树类型的题,不过是用树状数组或者rmq做的,没用线段树(其实是不会), http://blog.csdn.net/x314542916/article/details/7837276>的图片” title=”” /> 看了这张图原理应该就明白了, I Hate ItTime Limit: 9000/3000 MS (Java/Others) Memory原创 2016-05-08 15:30:04 · 636 阅读 · 0 评论 -
hdu 1074 Doing Homework
二进制状态压缩dp,第一次接触这个算法,同时吐槽一下自己:自己之前写博客从来不加注释,觉得自己会就OK了,博客是给自己看的,从没注意过看我博客的人的想法。 然而既然别人看你博客,那肯定是要学习你会然而别人不会的知识,如果不加注释的话,别人肯定看不懂,浪费别人的时间。自己写这道题深有体会, 看了好多大牛的博客,然而他们好多没加注释,搞得我根本就不知道他们写的是什么,自己想这道题想了好久,最后找到了原创 2016-05-06 12:42:04 · 2439 阅读 · 2 评论 -
HDU 1331 Function Run Fun
水题一道,亏我还想了半天,之前我还找规律,找了半天还没找到,之后一看else w(a-1, b, c) + w(a-1, b-1, c) + w(a-1, b, c-1) - w(a-1, b-1, c-1) 顿时明白后面的都是前面得来的, 直接打表不就好了嘛~~~~(害我想辣么久) Function Run FunTime Limit: 2000/1000 MS (Java/Others)原创 2016-05-05 23:15:04 · 608 阅读 · 0 评论 -
HDU 1203 I NEED A OFFER!
和01背包思路一样,不过有点小改变,如果01背包理解的不透彻,肯定不容易做出来。 这道题是求最大概率,那也就等同于1-所有不录取的概率,然后背包求解。 I NEED A OFFER!Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 23原创 2016-05-03 11:17:25 · 513 阅读 · 0 评论 -
nyoj 762第k个互质数 poj 2773Happy 2006
nyoj和poj题意一样,就是查找第k个互质数, nyoj应该用容斥原理+二分查找,这道题在poj很容易AC,本来poj时间限制就长,而且后台水,比如我自己写的代码在poj32ms,在nyoj就一直TLE。 容易想到的方法就是二分查找数字,然后判断这个数字和n有多少个互质数,至于怎么判断,可以用容斥原理。(之前自己用的是递归,看了 http://blog.csdn.net/lyhvoyage原创 2016-05-26 10:30:55 · 1111 阅读 · 0 评论