Bfs【p2385】 青铜莲花池】的更多相关文章

题目描述--->p2385 青铜莲花池 分析 很明显了,题目告诉我们有八个方向,当然优先考虑bfs! 很简单的bfs,重点在于考虑清楚8个方向. 自己刚开始打错了 emmm 给大家上一个图.↓ (假定m1为3,m2为2) 对应加减的就是我们的原来的坐标. 然后就完了 emmmm 感觉写的不算太丑 ---------------------代码-------------------- #include<bits/stdc++.h> #define IL inline #define RI…
P1606 [USACO07FEB]白银莲花池Lilypad Pond 转化为最短路求解 放置莲花的方法如果直接算会有重复情况. 于是我们可以先预处理和已有莲花之间直接互相可达的点,将它们连边(对,忽略它们). 于是剩下的就是边权为1的边了. 酱紫我们就成功转化为了边权问题. 蓝后跑跑最短路顺便计个数就解决了. #include<iostream> #include<cstdio> #include<cstring> #include<queue> usin…
题目链接:https://www.luogu.org/problemnew/show/P2385 莲花池什么的最漂亮啦! 最近刷了两天搜索= =我搜索一直是弱菜 直接套bfs #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> using namespace std; int n, m, m1, m2, sx, sy, ex, ey; struct poi…
感觉应当挺简单的,但是弄了好久……菜死了 如果不考虑那些为$1$的点,直接跑个最短路计数就好了,但是我们现在有一些边可以不用付出代价,那么只要在连边的时候先预处理搜一下就好了. 原来的想法是拆点,但是这样子不好连边,所以直接把点权转化到边权上来. 注意到起点其实不用付出代价,那么最后的答案就是$dis_ed - 1$. 时间复杂度上界是$O(n^4 + n^2log(n^2))$. Code: #include <cstdio> #include <cstring> #includ…
这个题其实算是个最短路计数,建图的直观思想很简单,但是很显然有一个地方没法处理,就是有的时候通过两条路走到同一个地方的话方案数会计算两次.我们发现加上原有的莲花就很难处理,会计算重复.我们要想办法避免这种情况,一开始想联通块,其实已经差不多了,就是把已经有的互相联通的看成一块,然后和水暴力连边,最后跑裸的最短路就行了.(原来有0边就不能直接跑最短路计数啊). 题干: 为了让奶牛们娱乐和锻炼,农夫约翰建造了一个美丽的池塘.这个长方形的池子被分成了M行N列个方格(≤M,N≤).一些格子是坚固得令人惊…
1.白银莲花池 LUOGU 2411 第一种思路:当然我们可以写三个bfs a掉这个题,这写下来一二百行要有了吧: 第二种:我们可以在一个bfs中维护所有的信息,一个方向数组,从起点开始,向八个方向扩展,如果添加的莲花需要少,就更新当前的值,如果添加莲花一样多但所需步数更少,也更新,目标点方案数等于当前点方案数.特别地,如果添加莲花和步数一样多,目标点方案数加上当前点方案数.以上三种情况目标点皆需入队: int add[50][50],bs[50][50],vis[50][50],sx,sy,t…
p { font-size: 16px; line-height: 1.5em; } blockquote { font-family: 'Times New Roman', 楷体; text-align: center; }     读者,也许你一向没有浏览网页戴耳机的习惯,但这一次的背景音乐列表,每一首都由 Capella 精心选择,乐曲长度与排列顺序也都经过认真安排.恳请你戴上耳机调至舒适的音量,伴着这作为游记一部分的音乐,共同走过这段心灵的旅程.谢谢! Bittersweet --NOI…
T1: 题目大意:将一颗有N个节点的树分割,使得每个联通块大小相等,问一共有多少方案.(N<=1000000) 首先,一条很显然的性质,每个联通块的大小一定是N的因子. 然后,我们可以对于每个因子d,DFS一遍,维护一个si值,代表该子树中有多少节点是连通的,一旦这个值等于d,将这颗子树切掉,若这个值大于d,则判定不合法. 这个方法每次DFS只验证一个因子,效率较低. 我们可以只进行一遍DFS将每颗子树的大小存进一个桶里.一颗子树被切掉,当且仅当该子树中剩下的点共有d个,若d合法,则当前子树原有…
<!doctype html> <html lang="en" ng-app='App'> <head> <meta charset="UTF-8"> <title>Document</title> <script src='../angular-1.3.9/angular.js'></script> <style> *{ list-style:none; m…
自己闲着没事写了一个自定义的下拉菜单希望和大家交流一下!望能和大神们成为朋友. 下面上代码: <!doctype html> <html lang="en" ng-app='App'> <head> <meta charset="UTF-8"> <title>Document</title> <script src='../angular-1.3.9/angular.js'><…