CodeForces 1063B. Labyrinth 性质】的更多相关文章

给定$n *m$的格子 询问从$(r, c)$开始最多向左走$x$步,向右走$y$步 询问有多少个格子可以从$(r, c)$到达 有障碍物,$n, m \leqslant 2 * 10^3$ 对于一个点$(x, y)$,可以发现$(r, c)$到$(x, y)$的一条向左走的步数和向右走的步数之和最小的路径可以使得向左走和向右走最优 感性理解是如果比这个大的话,那么必定向左走和向右走的步数同时都要增加 那么带上向左走的步数和向右走的步数来跑$bfs$即可 注意上下之间的权值为$0$ 可以选择将上…
学习博客:戳这里 附本人代码: 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn = 2e3 + 10; 5 const ll mod = 998244353; 6 char st[maxn][maxn]; 7 int vis[maxn][maxn]; 8 int dx[11]={1,-1, 0, 0}; 9 int dy[11]={0, 0, 1,-1}; 10…
题目链接:1063B - Labyrinth/1064D - Labyrinth 题目大意:给定一个\(n\times m\)的图,有若干个点不能走,上下走无限制,向左和向右走的次数分别被限制为\(x\)和\(y\),给出起点并询问有多少个点能够到达. 题解:此题坑多...本弱写裸BFS,WA了一百次_(:з」∠)_ 考虑从点\(A\)到点\(B\)需要向左或者向右走的次数,可以发现若设向左走的次数为\(l\),向右走的次数为\(r\),则\(r-l\)是个定值,因此转换成最短路问题用最短路跑一…
原题链接/原题链接(代理站) 题目翻译 给你一个\(n*m\)的迷宫和起始点,有障碍的地方不能走,同时最多向左走\(x\)次,向右走\(y\)次,向上向下没有限制,问你有多少个格子是可以到达的. 输入样例 4 5 3 2 1 2 ..... .***. ...** *.... 输出样例 10 数据范围 \(n,m\leqslant 2000\) 考虑最裸的\(bfs\),开一个队列,从起点开始,每搜到一个格子就打上标记.但是这样显然是错的,考虑下面这组数据: ..... .***. ...*.…
[链接] 我是链接,点我呀:) [题意] 你可以往左最多x次,往右最多y次 问你从x,y出发最多能到达多少个格子 只能往上下左右四个方向走到没有障碍的格子 [题解] 假设我们从(r,c)出发想要到固定某个点(i,j)的最短距离 我们设x0为向左走动的次数,y0为向右走动的次数 显然(j-c)=y0-x0 即y0 = (j-c) + x0 这里j-c是一个常数 也就是说当我们让x0最小的时候到达每一个点的对应的y0也一定是最优的,因为和x0成正相关 因此我们只要求出来(r,c)到所有点所用的x0的…
队友和大佬都什么几种情况啥的……我是把终点都插了,起点随便选一个,暴举答案莽A. ; ll n, k, a, b, aa, minn = INF, maxx = -; set<ll> bb; ll gcd(ll a, ll b) { return b ? gcd(b, a % b) : a; } int main() { cin >> n >> k >> a >> b; ll T = n * k; rep(i, , n - ) { ll p =…
传送门 解题思路 看上去很简单,\(bfs\)写了一发被\(fst\)...后来才知道好像一群人都被\(fst\)了,这道题好像那些每个点只经过一次的传统\(bfs\)都能被叉,只需要构造出一个一块一直上下走,还有一块一直左右走,上下走走到左右走的格子里更优,但已经更新不了,就\(GG\)了.后来学习了一下\(rank1\)的代码,其实用一个双端队列就可以避免这个问题,每次把上下走的放到队头,左右走的放到队尾.这样的话每次左右遍历时一定是最优的. 代码 #include<iostream> #…
题意: 给一个图,"*"不可以走,给你一个起点,限制向左走L次,向右走R次,上下不限制,问你最多可以走到多少个格子 思路: BFS,每次将上下走的策略加入队首,左右加入队尾,(相当于上下走比左右走优先级大的优先队列),这样可以保证先到某一格时剩余的疲劳度是最大的 但是,,如果上下左右都限制,该咋办啊..有没有大佬能给个思路啊 代码: #include<iostream> #include<cstdio> #include<algorithm> #in…
C. The Labyrinth 题目连接: http://www.codeforces.com/contest/616/problem/C Description You are given a rectangular field of n × m cells. Each cell is either empty or impassable (contains an obstacle). Empty cells are marked with '.', impassable cells are…
https://codeforces.com/contest/1131/problem/D 题意 给你n个字符串,字符串长度总和加起来不会超过1e5,定义字符串相乘为\(s*s1=s1+s[0]+s1+s[1]+s1+...+s1+s[size-1]+s1+s[size]+s1\),求n个字符串依次相乘后最长连续字符相同的子序列长度 题解 鬼畜的题意 or 难以优化的复杂度,都需要观察性质才能做,第二串要插入第一个串每个字符之间,可以看出字符数增长的速度很快,所以并不能把整个字符存下来 只看一种…