Codeforces 659F Polycarp and Hay【BFS】】的更多相关文章

有毒,自从上次选拔赛(哭哭)一个垃圾bfs写错之后,每次写bfs都要WA几发...好吧,其实也就这一次... 小白说的对,还是代码能力不足... 非常不足... 题目链接: http://codeforces.com/contest/659/problem/F 题意: n*m的格子,每个格子一个数,必须从格子中减去任意一个小于等于这个数的数. 给定数字k,要求: 剩下的格子数字和为k. 所有非零的格子的数字应该相同. 至少一个格子的数字没有改变. 含有非零数字的格子应该连通. 分析: 枚举每个能…
链接 Codeforces 659F Polycarp and Hay 题意 一个矩阵,减小一些数字的大小使得构成一个连通块的和恰好等于k,要求连通块中至少保持一个不变 思路 将数值从小到大排序,按顺序把与其相邻的加到并查集中.记录当前并查集中的个数,如果当前值能被K整除且总和超过了K,那么就可以以该点为中心输出了. 代码 #include <iostream> #include <cstdio> #include <vector> #include <stack…
题目链接 http://codeforces.com/problemset/problem/580/C 题意 根节点是 1 然后所有的叶子结点都是饭店 从根节点到叶子结点的路径上 如果存在 大于m 个 连续的结点都有猫 那么这条路径就是不可行的 求 最后能到达几个饭店 思路 BFS 就可以了 一层一层往下搜 但是要注意 这个输入的时候 xi yi 没有说 那个是父节点 哪个是儿子结点 那就都给它进去 也就是说 每个结点存的结点里面 有一个结点是自己的父亲结点 用visit[] 访问标记一下就可以…
题意:给出一个n*m的矩阵,“.”代表完整的冰,“X”代表破碎的冰,现在为了前进,需要掉下去一层,唯一的方法就是从破碎的冰上面掉下去 然后给出起点还有终点,问能否可达 即为到达终点的时候,终点必须是破碎的冰,这样才能够保证只掉了一层 然后这个也说明了节点该怎么扩展,如果当前跳到的点是"X"(破碎的冰),且当前点不是终点,那么这个点就不用加入队列了(因为它还没有到达终点就落下去了) 如果当前点是“.”完整的冰,那么跳上去之后,这一点变成破碎的冰"X",再把这一点加入队…
题目链接 遍历每个点, 如果这个点的值能被k整除并且k/a[i][j]后小于等于n*m, 那么就对这个点进行搜索. 将这个点加入队列, 将周围的所有大于等于这个点的值的点也加入队列. 不断重复, 直到队列空或者数量满足要求. 可以加一个额外的数组, 如果搜索的过程中, 这个值和a[i][j]相同, 那么就把这个格子标记, 减少额外的操作. #include <iostream> #include <vector> #include <cstdio> #include &…
并查集,$dfs$. 从大的数字往里加,每加一个数字合并一下连通块,判断连通块内数字个数是否够,以及k能不能被当前加入的数字整除.然后$dfs$一下构造答案. #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<ve…
[CodeForces - 1225E]Rock Is Push [dp][前缀和] 标签:题解 codeforces题解 dp 前缀和 题目描述 Time limit 2000 ms Memory limit 524288 kB Source Technocup 2020 - Elimination Round 2 Tags binary search dp *2200 Site https://codeforces.com/problemset/problem/1225/E 题面 Examp…
B. Complete the Word time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output ZS the Coder loves to read the dictionary. He thinks that a word is nice if there exists a substring (contiguous segmen…
[题目] 农夫知道一头牛的位置,想要抓住它.农夫和牛都位于数轴上,农夫起始位于点N(0≤N≤100000),牛位于点K(0≤K≤100000).农夫有两种移动方式: 1.从X移动到X-1或X+1,每次移动花费一分钟 2.从X移动到2*X,每次移动花费一分钟 假设牛没有意识到农夫的行动,站在原地不动.农夫最少要花多少时间才能抓住牛? [输入] 两个整数,N和K. [输出] 一个整数,农夫抓到牛所要花费的最小分钟数. [输入样例] 5 17 [输出样例] 4 [思路]就是简单的bfs,但是我忘记了上…
Description 乔治拿来一组等长的木棒,将它们随机地砍断,使得每一节木棍的长度都不超过50个长度单位.然后他又想把这些木棍恢复到为裁截前的状态,但忘记了初始时有多少木棒以及木棒的初始长度.请你设计一个程序,帮助乔治计算木棒的可能最小长度.每一节木棍的长度都用大于零的整数表示. Input 输入包含多组数据,每组数据包括两行.第一行是一个不超过64的整数,表示砍断之后共有多少节木棍.第二行是截断以后,所得到的各节木棍的长度.在最后一组数据之后,是一个零. Output 为每组数据,分别输出…