仅供自己学习 思路: 前面做过102,题目几乎相同,只是输出的方式不同,下意识BFS就选择了队列,但是发现不能解决,因为是单向取单向入得结构,不能从满足一左一右的输出形式。上课的时候了解到一个双端队列,刚好可以满足,只需要一个标记此时是左输出还是右输出即可。当时只想用一个双端队列即可,但是发现写着还 ...
分类:
其他好文 时间:
2021-02-18 13:57:19
阅读次数:
0
AcWing 845. 八数码 解题思路 这道题,放在了BFS的分类下面 第一反应是从一个状态开始广搜 不过状态的表示,存储和转移,以及最短距离dist[]数组,都没有很好的想法 最终思路 看完y总的课,看到了他用一个字符串来表示一个3x3的矩阵,还真是个好想法 状态表示就用一个字符串 用一个que ...
原题链接 考察:状压dp 思路: 考虑到计算三角形,我们需要知道落脚点i和前一个落脚点j,所以需要三维数组.根据状态转移方程f[i][j][k] = f[i-{j}][k][t]+score很容易求出最大的权值.但是比较难想到怎么计算路径数目(对本蒟蒻而言).方法是再声明一个记录当前路径最大值的方案 ...
分类:
其他好文 时间:
2021-02-17 14:41:52
阅读次数:
0
AcWing 848. 有向图的拓扑序列 用BFS来写拓扑,以前还真没想过这个思路 之前用的都是深搜找拓扑序 依然是正常用数组实现一个邻接表,然后用数组模拟队列,从入度为0,即d[i] == 0的点开始搜索 用数组模拟队列的原因是为了最后方便直接输出拓扑序,就不用另开一个数组专门存储了 代码中的几个 ...
BFS/DFS 在树专题和回溯算法中其实已经涉及到了BFS和DFS算法,这里单独提出再进一步学习一下 BFS 广度优先遍历 Breadth-First-Search 这部分的内容也主要是学习了labuladong公众号内的相关讲解 算法流程 首先将开始节点放入队列中。 从队列中取出第一个节点,并检验 ...
分类:
其他好文 时间:
2021-02-17 14:23:20
阅读次数:
0
第一步 搭建运行环境 参考 mybatis 多对一查询的两种实现方式 第二步 编写代码 1、创建实体类Teacher和Student,一个老师给多个学生上课,一对多关系 Student package com.xiahui.pojo; import lombok.AllArgsConstructor ...
分类:
其他好文 时间:
2021-02-16 12:40:40
阅读次数:
0
E/F.Youmu with Lianliankan 消消乐,顾名思义,消着快乐,消完了就不快乐了。 一个字符矩阵,每次可以在里面将相同的字母按照一定规则消除。 规则是,连线的拐弯次数不得超过2次。 如所给图1就是合法的 图2就是不合法的 $n\leq 20$显然直接$bfs$爆搜即可 搜索方法: ...
分类:
其他好文 时间:
2021-02-09 12:18:08
阅读次数:
0
题目描述: http://acm.hdu.edu.cn/showproblem.php?pid=1043 中文大意: 经典八数码问题。 给定初始状态,要求变换到目标状态并输出移动过程。 目标状态固定为:1 2 3 4 5 6 7 8 x 。 思路: 采用逆向 BFS + 康托展开判重 + 打表的方法 ...
分类:
其他好文 时间:
2021-02-08 12:12:13
阅读次数:
0
Problem Description In a modernized warehouse, robots are used to fetch the goods. Careful planning is needed to ensure that the robots reach their de ...
分类:
其他好文 时间:
2021-02-05 10:47:53
阅读次数:
0
原题链接 考察:容斥原理 错误思路: 枚举预处理每一个数C4n 的组合数,将p数组的每一个数求约数集合,将约数个数>=4的纳入容斥的集合内.再用容斥计数解决. 时间复杂度是10000*100*2出现次数>=4的约数个数 ,前面的时间复杂度已经到了1e6,如果个数>7就已经有超时风险,更不要说总共10 ...
分类:
其他好文 时间:
2021-02-01 12:59:29
阅读次数:
0