- 博客(11)
- 收藏
- 关注
原创 第02次CCF计算机软件能力认证《最优配餐》Acwing3205. 最优配餐题解
从每个餐馆都入队开始广搜,搜到一个点后将其标记为禁止下次访问,可以剪枝,并判断这个点是否有需求,如果有就更新答案。
2024-06-08 15:45:03 124
原创 第07次CCF计算机软件能力认证《游戏》Acwing3230. 游戏题解
具体实现看看forbiden数组,至于为何他的第三维可以设置成500,其实是调出来试一试发现可以通过,如果要严谨的话可选择将它设置成Bool类型,然后第三维设置大点。因为这题有点特殊,它是有些位置在部分时间不可以走,那么就必然会有回头路走,所以要想出一种办法既能剪枝又能符合实际。如果有多种路径在同一时刻可以到达同一个点,那么我们只需。恰好可以与题目中有些点在某一个时段不可走统一起来。,这样可以有效避免重复搜索,而且。
2024-06-08 14:48:45 114
原创 第06次CCF计算机软件能力认证《画图》Acwing3224. 画图题解
4.y1是 cmath 的一个库函数,如果要声明变量名为y1,请勿将其声明为全局变量。2.两条直线相交的位置有可能在后面的操作中还会有多条直线穿过,所以。,而不是在队列中将其拿出来之后在标记。3.输出时应该从y坐标由大到小输出。1.广搜优化,vis数组标记应该在。
2024-06-08 14:02:44 141
原创 第05次CCF计算机软件能力认证《最佳文章》AcWing 3221. 最佳文章题解
构造一颗字典树,并且在维护end数据时做了优化,将节点u的end额外加上了他的fail指向的节点的end,这是利用了字典树fail指向的节点与当前节点的后缀关系,设该节点为u,fail指向的节点为v,则节点0~v表示的字符串一定是0~u的后缀。容易发现,最优解字符串一定只包含字典树上的字母,那么问题可以转换成,有一个小人从0节点出发,一共跳m次,每次只能沿着字典树的边跳,每经过一个节点u,就可收获end[u],求小人的最大收获。故跳m次的最大收获就是将状态转移矩阵进行m次定义的*运算后。
2024-05-21 19:44:55 293
原创 C++常用排序模板代码及易错分析
思路:每次以区间中点数 mid 为标准,左右各用一根指针,在左区间找第一个 >=mid 的数,右区间找第一个
2024-01-30 15:25:17 612 1
原创 POJ 1270 Following Orders题解
先将所有出现的字母排序,然后从小到大逐个遍历入度为0的字母,并且将与其相连的字母入度减一,然后再次遍历所有字母,只要是未曾访问过的并且入度为0,那么继续从他开始遍历,以此循环。大致题意:给你几个小写字母与他们之间的大小关系,按照字典序从小到大输出所有的可能排序。数据处理部分参考了洛谷用户。思路:DFS+拓扑排序。即求所有的拓扑排列。
2024-01-29 00:10:25 383 1
原创 KMP算法中的语法坑点
KMP算法中需要涉及到字符串的长,有时习惯使用string来存储字符串,在处理比较时容易出错,先看看正确写法。你会在debug时发现,计算机认为-1<5。我debug数据如下。
2024-01-14 21:46:41 732 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人