[NOIP2013]华容道 题解(搜索)】的更多相关文章

[NOIP2013]华容道 [题目描述] 这道题根据小时候玩华容道不靠谱的经验还以为是并查集,果断扑街.考后想想也是,数据这么小一定有他的道理. 首先由于是最小步数,所以BFS没跑了.那么我们大可把这道题分为两部分,首先先把白格子移到目标棋子附近,然后再把目标棋子移过去.第一步是很容易的,随便BFS一下就好了,关键是第二步.由于q不小,我们不可能每次询问都直接爆搜,但由于棋盘并不会发生本质改变,我们可以对一些东西进行预处理. 那每次询问时不变的是什么呢,我们求第二步时需要的又是什么呢? 首先我们…
[NOIP2013]华容道 首先是一种比较显然的做法. 整个棋盘,除了起点,终点和空格,其他的方块是等价的. 对于终点,它始终不会变化,如果搜到终点结束搜索即可,所以我们不需要考虑终点. 所以需要考虑的是空格的位置和起点方块的位置. 定义$f(i1,j1,i2,j2)$为 空格所在坐标$(i1,j1)$  起点坐标$(i2,j2)$. 对于每一步,可以移动空格周围的一个可移动棋子,将它与空格位置交换.其实等价于空格移动到和空格相邻的棋子.如果该棋子是起点,则将起点更新到原来空格的坐标. 使用bf…
Luogu 1979 NOIP 2013 华容道(搜索,最短路径) Description 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面, 华容道是否根本就无法完成,如果能完成, 最少需要多少时间. 小 B 玩的华容道与经典的华容道游戏略有不同,游戏规则是这样的: 在一个 nm 棋盘上有 nm 个格子,其中有且只有一个格子是空白的,其余 nm-1个格子上每个格子上有一个棋子,每个棋子的大小都是 11 的: 有些棋子是固定的,有些棋子…
LOJ2613 NOIP2013 华容道 LINK 这是个好题,具体题意比较麻烦可以直接看LINK中的链接 然后考虑我们可能的移动方式 首先我们需要把白块移动到需要移动块S的附近(附近四格) 然后我们就可以考虑怎么对S进行移动 操作一:把S和白块互换位置 操作二:把白块从S的一个方向移动到另一方向(方便交换位置) 第一种操作的代价是1很显然,后一种操作我们每次移动的最小代价是可以预处理的 然后我们就可以定义状态x,y,dir表示S在(x,y)且白块在S的dir方向上 我们就只需要考虑在状态之间进…
[CQOI2012]模拟工厂 题解(搜索+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1327574 链接题目地址:洛谷P3161 BZOJ P2667 这个题练一练综合思想还是不错的...(然而蒟蒻不会啊) 做法 肯定是在能完成某些订单的情况下使自己生产力越高越好是吧(一个大致的贪心方向) 但是我们不知道自己到底应该怎么去决定提高生产力时间 那么换个角度,不从时间来看,从订单上来看 贪心 我们假设一定要完成订单\(1-n\) 那么应该如何贪心…
CF912E Prime Gift题解(搜索+二分答案) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1314956 洛谷题目链接 $     $ CF题目链接 先翻译一下题意 给你\(n\)个质数,让你求这\(n\)个质数能乘起来组成的第\(K\)大数(\(n\le 16,K\)好大八大) 思路 看到这个数据范围,很容易想到搜索对吧 但是又不能盲目地搜索,考虑\(meet-in-the-middle\) 搜出前\(8\)个和后\(8\)个能拼出的所有…
Problem 给出一个类似华容道的图.\(q\)次询问,每次给你起始点,终止点,空格位置,让你求最少步数 \(n,m\le 30, q\le 500\). Soultion 一道智障搜索题. 弱智想法最多80分.不用想了.我已经试过所有非O2的常数优化,还是有1.05秒. 考虑一下预处理. 事实上,我们发现只有当空格位置在初始点旁边时才会影响初始点(废话),所以我们可以先预处理在某一个点\((x,y)\)的四周,不经过这个点(x,y),到达这个点四周的最少步数.BFS解决. 然后每次询问时,就…
题目描述 [问题描述] 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面, 华容道是否根本就无法完成,如果能完成, 最少需要多少时间. 小 B 玩的华容道与经典的华容道游戏略有不同,游戏规则是这样的: 在一个 n*m 棋盘上有 n*m 个格子,其中有且只有一个格子是空白的,其余 n*m-1个格子上每个格子上有一个棋子,每个棋子的大小都是 1*1 的: 有些棋子是固定的,有些棋子则是可以移动的: 任何与空白的格子相邻(有公共的边)的格子上…
第一次发紫题题解,居然在发布前太激动,把刚写好的还没发布的题解一个Ctrl+A和Backspace全删了.(所以这是二稿) luogu题目传送门 前置: 做本题一定要有的一些思想: 1.从简思想: 模拟白格子的移动,而千万不要想这去模拟众棋子的移动.这样会简单很多,否则会s的很惨. 2.转换思想(万物皆有其对立面):题目中给的规则,是棋子可以移动到白色格子上.我们将其共轭一下: 白色格子可以移动到棋子上,或者说,白色格子可以和棋子交换位置. 3.白色格子永远只有一个.(看似是废话的大实话) 4.…
DAY2 T1积木大赛 传送门 题目大意:每次可以选区间[l,r]加1,最少选几次,让每个位置有 它应有的高度. 题解:O(n)扫一遍就好了.后一个比前一个的高度低,那么前一个已经把它覆盖了, 如果高那么就需要+1了. 代码: #include<iostream> #include<cstdio> #define maxn 100009 using namespace std; int n,x,pre,ans; void read(int &x){ ;x=; ; +ch-'…