bfs/dfs
文章平均质量分 55
_奶酪
这个作者很懒,什么都没留下…
展开
-
【牛客练习赛58-C】矩阵消除游戏(dfs+状态标记)
题目传送门 题目 思路 之前做过的题,又不会做了????。 基本思路就是枚举+dfs。枚举选择x(x∈[0,k]x\in[0,k]x∈[0,k])行,那么还需要选择k-x列。 通过dfs来计算n行里面选择哪x行,通过二进制(1个int型整数)来标记选了哪些行,进行必要的剪枝。确定了要选的x行后,剩下则需要计算删除该x行后,每一列的和,取和最大的k-x列,统计答案,并更新答案。 注意,判断int型每一位上是0还是1时,最好用>>而不是用<<,否则会超时。 玄学问题,和底层的硬件实现和c原创 2021-03-28 17:38:44 · 332 阅读 · 0 评论 -
【ABC196-D】 Hanjo(dfs+状态标记)
题目传送门 题目 思路 应该是经典铺瓷砖问题了,QAQ。 从左到右,从上到下去遍历这个H*W的网格,每遇到一个1x1的格子: 如果可以放1x1的瓷砖,就放1个1x1的瓷砖 如果可以水平放置1个2x1的瓷砖,就水平放1个2x1的瓷砖 如果可以竖直放置1个2x1的瓷砖,就竖直放1个2x1的瓷砖 可以用二进制(一个int类型的数)或者二维数组来标记每个格子的状态:有没有铺瓷砖。通过dfs来求解答案。 代码 二进制标记状态法: #include <iostream> #includ原创 2021-03-28 17:20:25 · 376 阅读 · 2 评论 -
【POJ1101&OpenJudge2802】The Game 小游戏(BFS+记忆化)
传送门 题目: 解题思路: 注意题里的卡片位置(x,y)对应的是(列,行),可以将坐标转换成我们熟悉的(行,列)形式。图按常规方法存,只需要将要查询的(x,y)换成(y,x)即可。 dis[x][y]表示从(x1,y1)到(x,y)所需要的最短线段数,在bfs的时候更新这个值。由于dis[x2][y2]可以由多个位置和多个方向更新来,队列中应该记录{x,y,dir,step},并且允许元素多次入队,但每个(x,y)只处理一次。 网上的博客好多都是错的,假代码没过自己的样例,但AC了。。数据挺假的,题也原创 2020-05-24 12:36:30 · 684 阅读 · 0 评论 -
【CF1325E】 Ehab's REAL Number Theory Problem(思维+最小环bfs)
传送门 题目: 思路: 如果一个数xxx有三个不同的质约数p1,p2,p3p_1, p_2, p_3p1,p2,p3,那么这个数至少有8个约数。 这是因为gcd(p1,p3)=1,gcd(p2,p3)=1gcd(p_1,p_3)=1, gcd(p_2, p_3)=1gcd(p1,p3)=1,gcd(p2,p3)=1,那么gcd(p1∗p2,p3)=1gcd(p_1*p_2, p_...原创 2020-03-16 15:49:50 · 458 阅读 · 2 评论 -
【2018蓝桥省赛A组C/C++】全球变暖(两次bfs+状态标记 or 一次dfs)
题目描述 你有一张某海域NxN像素的照片,"."表示海洋、"#"表示陆地,如下所示: ....... .##.... .##.... ....##. ..####. ...###. ....... 其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。 由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像...原创 2019-03-20 14:14:01 · 224 阅读 · 0 评论 -
【UVA10603】Fill(优先队列+状态转移)
题目PDF:https://uva.onlinejudge.org/external/106/10603.pdf judge地址:https://vjudge.net/problem/UVA-10603 (紫书上的题目P203) 题目大意: 解题思路: 对于每个杯子,它可以向另外两个杯子(选择其中一个)倒一定数量的水:min(把自己当前的水全部倒完,只倒另一个杯子所需的那部分水),故...原创 2019-06-29 21:57:08 · 281 阅读 · 0 评论 -
【2019上海网络赛:D】Counting Sequences I(dfs+多重集合排列)
题目地址:https://nanti.jisuanke.com/t/41412 题目: 2≤n≤3000,求满足的排列的数目 解题思路: 通过简单的打表(n≤10),可以确定≤n,且必定存在的一个排列为,所以乘积最大为2n。 多重集合排列公式:,其实表示每个数重复的次数,n是数字的总数。 dfs枚举2~3000每个数字在整个序列中出现的次数(2*3000中最多有13个2,所以每个...原创 2019-09-17 17:47:38 · 1011 阅读 · 9 评论