摘要: $A*$ 算法 这个算法其实就是 dijkstra 的变种,是对于一般的 bfs 的一种优化手段。 首先需要设置一个东西叫做估价函数。普通的 bfs 的估价函数一般取 $0$。这个东西如果你要保证一定正确,记起点到当前点的距离为 $d[i]$,到末尾的真实距离为 $g[i]$,设你的估价函数是 $f 阅读全文
posted @ 2023-05-10 22:31 wscqwq 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 字典树最多构建节点个数计算 给定 $n,k$,然后随机 $n$ 个长度为 $k$ 的 01 串,求所有情况下将这 $n$ 个串构建成字典树中节点数最多可能有几个。注意,构建方式是扫描每个串,注意是从这个串第一个字符到最后一个,依次加入字典树。说人话:基本构建方式。 如图,$n=3,k=2$ 时,节点 阅读全文
posted @ 2023-05-03 07:17 wscqwq 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 这题有四个剪枝: 优化搜索顺序,将木棍长按照从大到小排序 枚举木棍时保证编号递增。 剪掉冗余搜索状态,同一组内的重复元素直接跳过 如果这根木棍是这一组的第一根或最后一根,搜索完直接返回。 结论4的证明:如果当前木棍是第一根,下面的没有使用过的木棍都是等效的,如果这里不行,那么下面的一定也 阅读全文
posted @ 2023-04-29 09:24 wscqwq 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 重点讲讲斜率优化的套路。 首先需要将式子化为 $y=kx+b$ 的形式,其中 $y,x$ 为一个关于变量 $j$ 的式子,$k$ 为一个关于常量 $i,b$ 的式子。然后根据 $x,k$ 的单调性考虑是二分还是直接单调。注意如果求最小值是下凸包,最大值是上凸包(最小值是直线从下面往上靠,最大值反之) 阅读全文
posted @ 2023-04-29 08:05 wscqwq 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 其实这题直接推式子,不需要转换,还是很简单的。 考虑用 $f_i$ 表示前 $i$ 名士兵修正战斗力之和的最大值。令 $X=sum_i-sum_j$,易得 $f_i=f_j+aX^2+bX+c$。 将 $X=sum_i-sum_j$ 代入得 $f_i=f_j+a(sum_i-sum_j) 阅读全文
posted @ 2023-04-29 08:01 wscqwq 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 考虑每只小猫是否能被接到、等待时间,其实在于 $start+d_2+d_3+\dots+d_i$ 的值,如果 $\ge t_i$,即出发时间加上这些距离晚于 $t_i$。可以将 $d$ 移过来,那么每只小猫都可以用一个数 $a_i$ 来衡量了。对于 $a$ 排序,即可以划分成最多饲养员数 阅读全文
posted @ 2023-04-28 21:08 wscqwq 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 这道题还可以继续加强,如果 $t,c$ 都可以是负数,那么二维的点就可以在中间加,动态维护有序序列,平衡树。 阅读全文
posted @ 2023-04-23 21:32 wscqwq 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 考虑这里的斜率 $t_i+s$ 并不单调,所以用二分解决。 #include<bits/stdc++.h> using namespace std; #define L(i,l,r) for(int i=l;i<=r;++i) #define R(i,l,r) for(int i=r;i 阅读全文
posted @ 2023-04-23 21:26 wscqwq 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 承接上文任务安排1。 考虑优化转移。对方程变形得到 $f_j=(s+t_i)c_j+f_i-sc_n-t_ic_i$,我们可以发现形如一个 $y=kx+b$ 的解析式。然后我们就可以维护一个下凸包,又因为横坐标是单调的,斜率也是单调的,每次都可以把队首的一些点删掉,就是队首的斜率 $\le$ 当前的 阅读全文
posted @ 2023-04-22 09:02 wscqwq 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 一个重要思想:当前的 $s$ 准备时间对之后的影响可以用后面所有的和 $\times s$。利用上述性质,可以提前计算每个分组中 $s$ 的贡献,消除后效性。$f[i]$ 表示以 $i$ 为一段的末尾的答案。由此可以得出方程是 $f[i]=\min f[j]+(sumc[i]-sumc[ 阅读全文
posted @ 2023-04-18 22:02 wscqwq 阅读(2) 评论(0) 推荐(0) 编辑