搜索
chrt
这个作者很懒,什么都没留下…
展开
-
[NOIP 2013] 华容道
当年我省只有vfk一人AC此题(其实是AK),学长记载的时候猜测他一定用了很高级的算法。做完之后发现特定算法方面它只用到了BFS和SPFA,不禁想起自己去年NOIP,三个小时没做出一道DFS(得了10分)。读完题后,判断它是搜索。棋子的移动等价于空格的移动。要不要使用启发式搜索?怎样表示一个状态?我发现只要标记出空格的位置和指定棋子的位置。这样一来,状态只有不到810000个,60分应该有了。500次查询是怎么回事原创 2016-08-14 16:23:48 · 1195 阅读 · 1 评论 -
[NOIP 2009] 靶形数独:需要一点小优化的DFS
题意:求一个像靶子一样加权后的数独的最大权值,无解输出-1。权值等于每个格子上填的数与这一圈的权值之积的和。写代码之前想了很久……剪枝?估价?最后抱着试试看的心态,只使用了曾看见CS用过的那种优化:先填限制最多的格子。结果这样就足够切掉此题了。原创 2016-09-20 19:46:11 · 1085 阅读 · 0 评论 -
[NOIP 2003] 传染病控制:创造性地DFS,最优性剪枝
题意:给出一些关系,表示A能把病传染给B,这些关系形成树,每个周期疾病向下传染一层。每个周期开始的时候可以切断一个传染,初始只有1号带病,求最少患病的人数。1<=人数<=300。开始想贪心或DP,无果,CS告诉我们这道题可以搜索搞定,大家一起研究了一下CS几年前迷一样的Pascal代码。DFS挺简单,思维的障碍在于我局限于树形DP的模型,总想枚举一下每棵子树分别何时切断,没想到以层为单位搜索。原创 2016-11-08 14:55:53 · 1024 阅读 · 0 评论 -
[NOIP 2011] Mayan游戏:搜索,模拟
题意:寻找一个用n步(0<n<=5)完成5*7的Mayan游戏的字典序最小的方案。每个方块可以左移、右移,至多5步,共有少于5.6亿个可能的情形。3秒内搜一搜是可行的。怎样消除方块呢?由于要求一次性消完所有能消的方块,而且横、竖有公共部分则全部消掉,所以不能找到就消。找到连续三个就标记,每次循环根据标记进行清除,循环到不能再消。原创 2016-11-13 23:18:38 · 512 阅读 · 0 评论 -
[CodeVS 1288] 埃及分数:IDA*
题意:求a/b的最好的埃及分数表达方式(0<a<b<1000)。加数少的比多的好,加数想等的最小分数值最大好。迭代加深搜索的经典例题。本想从分数值最大者开始扩展,这样第一个找到的即为答案,然而没办法剪枝。原先递归的边界是d == 0,结果随便弄俩数就卡住了,于是修改为d == 1。要使用long long。原创 2016-11-17 18:47:14 · 476 阅读 · 0 评论