随笔分类 -  图&&DFS&&BFS

摘要:Seven Puzzle(反向bfs) 这题和蓝桥杯的一题很像。即将每一种状态用bfs的方式按0的移动方式遍历,就可以得到需要多少步到这个状态。 当然本题的转化过程和方式更加麻烦一些。 同时需要用到反向bfs记录从01234567到各情况所需的步数。(当然这也等同于各情况到01234567所需的步数 阅读全文
posted @ 2021-04-09 21:39 mikku 阅读(73) 评论(0) 推荐(0)
摘要:Problem Description The evil Bumbershoot corporation produces clones for gruesome experiments in a vast underground lab. On one occasion, the corp clo 阅读全文
posted @ 2021-03-09 22:14 mikku 阅读(55) 评论(0) 推荐(0)
摘要:题目链接 本题的思路是用dijkstra一遍图中的每个点。但由于有负边。我们需要将其转正。 这时需要建立一个超级源点。令其与每个点相连且距离为0。spfa一遍求出每个点到源点的最短距离dis【i】(可能为负数) 然后修改每条边的权值为w【i~j】+dis【i】-dis【j】(i到j的边)。 由于i~ 阅读全文
posted @ 2021-03-08 21:43 mikku 阅读(79) 评论(0) 推荐(0)
摘要:Problem Description A group of n cities is connected by a network of roads. There is an undirected road between every pair of cities, so there are roa 阅读全文
posted @ 2021-03-07 21:12 mikku 阅读(68) 评论(0) 推荐(0)
摘要:Problem Description 将N个点排列成一个圆形,中间放置一个点固定为根节点,问特殊生成树的种类数。 特殊生成树:除根节点以外,其他节点只能与自己左右节点相连,或与根节点相连。 p.s.若节点的左右节点为同一个节点,向左或向右连接视为不同的生成树。 由于种类数可能过大,对1,000,0 阅读全文
posted @ 2021-03-06 20:51 mikku 阅读(88) 评论(0) 推荐(0)
摘要:问题描述 给出一个含有n个点的树。你从树上钦定三个不同的点a,b,c,如果一个边在其中两个点的简单路径上,它就是“好边”。你需要求出最多有多少个"好边",并且输出任一一种选定a,b,c的方案。 输入格式 第一行一个整数n。接下来n-1行每行两个数a,b表示一条边的两个端点。 输出格式 第一行一个数表 阅读全文
posted @ 2021-03-05 20:18 mikku 阅读(70) 评论(0) 推荐(0)
摘要:Problem Description You're given an undirected graph with n nodes and m edges. Nodes are numbered from 1 to n. The graph is considered harmonious if a 阅读全文
posted @ 2021-03-04 20:34 mikku 阅读(62) 评论(0) 推荐(0)
摘要:Problem Description You are given an undirected graph consisting of nn vertices and mm edges. Your task is to find the number of connected components 阅读全文
posted @ 2021-03-04 18:58 mikku 阅读(80) 评论(0) 推荐(0)
摘要:题目链接 一开始没注意到他的边是非负就是双向的。所以一直wa…… 用SPFA。bfs判断是否有一个点进入次数超过n即可。 #include <algorithm> #include<iostream> #include<cstdio> #include<cstring> #include<vecto 阅读全文
posted @ 2021-03-03 20:00 mikku 阅读(49) 评论(0) 推荐(0)
摘要:题目链接 使用优先队列优化后的Dijkstra即可。 注意优先队列默认是大堆顶。(即大数在前) 可以用priority_queue<int,vector<int>,greater<int>>q; 来改写成小堆顶来寻找最小距离。 #include <algorithm> #include<iostre 阅读全文
posted @ 2021-03-03 17:16 mikku 阅读(120) 评论(0) 推荐(0)
摘要:题目链接 反向建边+dfs。从最大值开始搜索。 AC代码如下: #include <algorithm> #include<iostream> #include<cstdio> #include<cstring> #include<vector> #include<queue> #define MA 阅读全文
posted @ 2021-03-03 16:34 mikku 阅读(49) 评论(0) 推荐(0)
摘要:Problem Description You are given an array aa consisting of n integers. In one move, you can jump from the position ii to the position i−ai (if 1≤i−ai 阅读全文
posted @ 2021-03-02 17:25 mikku 阅读(44) 评论(0) 推荐(0)
摘要:Problem Description 小时候,你一定玩过七巧板对吧?由七块彩色的方块组成,能够拼成各种有趣而生动的图案。 shenyunhan 发明了一种新的玩具叫方块板,它由大大小小的矩形方块组成。如下图所示,方块板玩具是由若干块不同颜色的小矩形方块组成的大矩形方块。 我们将这个方块板玩具视为二 阅读全文
posted @ 2021-03-01 19:34 mikku 阅读(104) 评论(0) 推荐(0)
摘要:Problem Description 泰泰学长喜欢玩数字(不知道什么奇怪的癖好)。他在黑板上写下一个数字 x ,然后进行 n-1 次以下两种操作: x 除以3 (必须能整除才能进行,即 x mod 3=0) x 乘以2 每次操作完成后,泰泰学长在黑板上写上这个操作后的新数字,并让这个新数字作为新的 阅读全文
posted @ 2021-03-01 15:23 mikku 阅读(63) 评论(0) 推荐(0)
摘要:Description - 题目描述 给定若干位十进制数,你可以通过选择一个非空子集并以某种顺序构建一个数。剩余元素可以用相同规则构建第二个数。除非构造的数恰好为0,否则不能以0打头。举例来说,给定数字0,1,2,4,6与7,你可以写出10和2467。当然写法多样:210和764,204和176,等 阅读全文
posted @ 2021-02-28 18:33 mikku 阅读(54) 评论(0) 推荐(0)
摘要:Problem Description In the game of Sudoku, you are given a large 9 × 9 grid divided into smaller 3 × 3 subgrids. For example, . 2 7 3 8 . . 1 . . 1 . 阅读全文
posted @ 2021-02-27 20:45 mikku 阅读(70) 评论(0) 推荐(0)
摘要:Sudoku is a very simple task. A square table with 9 rows and 9 columns is divided to 9 smaller squares 3x3 as shown on the Figure. In some of the cell 阅读全文
posted @ 2021-02-25 20:28 mikku 阅读(59) 评论(0) 推荐(0)
摘要:Problem Description 在李老板众多的农场中,有这样一片N*M大小的田地,它在下雨后积起了水。在他的田地中,'W'代表积水,'.'代表土地,一片相互连接的积水叫做“水WA”。(每个格子被认为和相邻的8个格子相连)现在农场工作人员传回来了田地的航拍图,余队长让你帮他确定有多少个“水WA 阅读全文
posted @ 2021-02-25 17:03 mikku 阅读(56) 评论(0) 推荐(0)
摘要:Problem Description 火火某天AK太多了心烦,想带领小伙伴们做游戏 。游戏内容如下:当火火喊出一个数字n时,便有n个小伙伴,身上带着1到n的数字,手牵手拉成一个环。当环里的每个人相邻两人身上数字之和都为素数时,便找到了一个环。当找出所有的环时,游戏便结束。Note: 每个环的第一个 阅读全文
posted @ 2021-02-25 16:09 mikku 阅读(59) 评论(0) 推荐(0)
摘要:Problem Description Angel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M (N, M <= 200) matrix. There a 阅读全文
posted @ 2021-02-24 20:04 mikku 阅读(57) 评论(0) 推荐(0)