
bfs
二分抄代码
去了18ec没资格去19ec的反向训练选手
展开
-
AtCoder Beginner Contest 197 F - Construct a Palindrome
https://atcoder.jp/contests/abc197/tasks/abc197_f过了一车人的套路我不会。。。把题目转化成二维平面的模型,dis[u][v]表示从1到u,从n到v,一直走相同字母的距离然后我们枚举每个点u:{s,e}的所有边,得到u:{s,e}->v:{s.v,e.v}这样的边,且他们走是相同的字母,这样枚举最大是m^2的然后bfs就可以了,然后枚举中间dis[i][i]*2和dis[i][j]*2+1,i,j,中间有边,答案取最小方案就可以了注意答原创 2021-03-31 21:22:00 · 286 阅读 · 0 评论 -
csacademy rooms
https://csacademy.com/contest/archive/task/rooms/statement/注意到每个rooms都是连续的,那么我们可以给每个room设定一个代表点,那么对于一个矩形中的所有room,分为两种分别是代表点在矩形中的,第二种是代表点在矩形外面的,但是矩形外面要进来的,必须经过边界,那么我们只要枚举边界上的点看他的代表点在不在矩形内就行了,再搞个vis数组记录一下看已经加进答案了没#include<bits/stdc++.h>using name原创 2021-01-27 20:59:34 · 135 阅读 · 0 评论 -
gym102465I Mason‘s Mark
https://codeforces.com/gym/102465/problem/I法国人的英语感觉都不在说人话。。。题面写得巨纠结。。。。这题本来我写了3个函数准备分别判断ABC的。。。然后发现会不会A的中间的白色区域又有嵌套之类的情况,那么中间到底是全白还是会有嵌套或者噪音点?题意也没说清楚但是注意到题意说一个石头必须恰好有一个mark,说明dfs出一个黑色点,只要他不是单独一个噪声点,那么必在一个字母上所以这题那些个什么x,y按比例都不太重要了,直接按照形状算每个连通块的关键点是黑的原创 2020-10-04 22:56:45 · 302 阅读 · 0 评论 -
gym102460 Rush Hour Puzzle 2019ICPC Taipei
https://codeforces.com/gym/102460目标就是让1的右端点移动到(3,6)的位置,从(3,6)出去还要两步,那么最多就是移动8步,又因为最多只有10个物品,而且我们可以用hash标记棋盘的某个状态是否出现过,那么每次尝试移动每个物品,bfs就行了,最坏情况是(10*2)^8的状态,但是由于互相碰撞的原因,实际情况会少很多状态,30ms就跑过了#include<bits/stdc++.h>using namespace std;typedef long l原创 2020-09-09 23:03:31 · 220 阅读 · 0 评论 -
codeforces1349C Orac and Game of Life
https://codeforces.com/problemset/problem/1349/C用bfs预处理出每个位置第几次迭代开始变就行了由于与四周都不同才边,那么一个位置一开始不变,后来可以变,一定是由一个不同的扩展到它矩阵内曼哈顿距离最大为n+m-2,所以mi[x][y]最晚只有n+m-2,数组大小也不用很大#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxl原创 2020-05-13 01:21:18 · 579 阅读 · 0 评论 -
codeforces1307 Cow and Fields
https://codeforces.com/contest/1307/problem/D最近在家状态太差了不敢打cf,果然补了补这道水题还WA了2发。。。难顶反向bfs一遍,然后fdis存入set,然后正向dfs,每个状态的下的最优值就是正向已经找到的最大的dis+1+set中剩下反向最大的fdis如果某个时刻>=fdis[1],就直接ans=fdis[1],因为本身的最短路肯...原创 2020-02-19 16:24:04 · 232 阅读 · 0 评论 -
codeforces1214D Treasure Island
http://codeforces.com/problemset/problem/1214/D去年区域赛训练的时候做了一道最短路关键路径,暑假学联通分量割点桥的时候又做了一遍那题,今天又碰到了。。。只能向右走和向下走,那么最多只需要2步就能堵住。如果不能到达,那么答案是0有一种找关键路径或关键点的方法是正着跑一遍倒着跑一遍,如果那个边(点)的正反方案数相乘等于总方案数,那么他就是关键的...原创 2019-09-04 20:42:31 · 430 阅读 · 0 评论 -
2019牛客多校第二场 D Kth Minimum Clique
暴力bfs,搞个优先队列每次取出当前的最小值的团,bitset维护当前团有哪些点,那么要新增一个点的时候,要保证新增点与在当前团中所有点都有两边,直接bitset & 一下判断复杂度大概是 k*O(bitset<100>)*log(堆大小)。由于bitset是常数级别的所以klog(堆大小)在新增点的时候要保证新增的点的序号在当前团的最后一个点之后,这样才能保...原创 2019-07-23 17:05:11 · 229 阅读 · 0 评论 -
2019国防科大校赛A Escape LouvreⅠ
https://ac.nowcoder.com/acm/contest/878/A很好的bfs模拟题,记录一下要对于每个人找到离它最近的出口,而且优先上边再优先左边的出口,那么就是从上到下,从左到右得把出口放进队列,然后进行bfs,一个位置只能进队列一次,这样就能知道每个位置要去哪个出口排队。再把每个人到对应出口的时间记录下来,放到那个出口上。再对每一个出口,先按时间把要出去的人进...原创 2019-05-10 10:56:14 · 375 阅读 · 0 评论 -
CSU - 1975 洛谷P1126
CSU上数据有bug,如果起点和终点重合在障碍物上ans=0而不是ans=-1,这种情况本来是不存在,然而造数据的QT大神表示他认为这样可以可以,于是就这样造数据了。。。此处注意几个细节,首先是格子和格点有区别,为了方便我把起点和终点的坐标都加了1,就好处理了。向前123步走的时候,如果只是有那个点已经有最优值,就不记录那个点,但是要继续走,而如果那个点不能走,直接break,这个地方WA了许原创 2017-08-11 18:46:04 · 281 阅读 · 0 评论