摘要:
1. 一维的数组用二维的循环解 2. 二维的数组用三维的循环解 3. 三维的数组用思维的循环解 4. ······ 阅读全文
摘要:
"题目描述" 思路 一开始,觉得应该对每个格子为0的进行dfs,为了进行顺序最优的dfs,要先从可选数量少的格子进行,这样对每个格子创建一个set,存储能够填的数。 然后就是根据size大小排序,选择最小的进行dfs。 然后发现每次dfs都要进行排序,set的二维数组得设在dfs函数内,排序的时候又 阅读全文
摘要:
"题目描述" 思路 一开始看这道题目,也不是很会,谁会把统计之类的问题和bfs联系在一起,没有开始的状态,没有结束的状态,题目中连一个最短之类的词也没有出现。 然后统计嘛,题目中说了方格高度都相同,就把周围的点都看一遍和这个点高度相同的就入队,把高度相同的点都打上浏览的标记。看的过程中,既有比它小的 阅读全文
摘要:
"题目描述" 思路 一开始想先写一个bfs,目标字符串要加上一个' ',表示这是一个换行符,然后一个字母一个字母的找,每次重置一下vis数组,bfs返回的结果再加上1,表示要打印这个字母,结果第一个样例没有过。 然后就开始看题意,发现没看懂这就话的意思,”光标总是跳到下一个在该方向上与当前位置不同的 阅读全文
摘要:
"题目描述" 思路 bfs主要问题就是走重复路的问题,需要设置一个vis数组防止走重复路,怎么把一个二维数组表示成一个数,扩展来说就是怎么把状态表示成一个数,看了别人的代码,可以二进制的数来记录状态,4x4的数组状态不会超过2^(17)。 然后就是怎么走的问题,规定只能向下,下右走,而向上,向左就是 阅读全文
摘要:
bfs 阅读全文
摘要:
"题目描述" 思路 代码 c++ include include include int tar[10], tmp[10], rec[10]; bool vis[40500]; int fa[40500], ed, ans, ant; char act[40500]; int jc[10] = {1 阅读全文
摘要:
"题目描述" 思路 在图上进行广度优先遍历 边权相同,后来的比先来的付出的代价要大,直接从队尾入队 边权只有1, 0两种,0的累计代价要比1的累计代价小,小于等于队列中的其他点的代价,要从对头入队,1的从队尾入队 记录一个vis数组,记录经过此点的最小代价,防止重复走 题目给的是边,我们走的是点,要 阅读全文