摘要: 2019年1月20日20:44:08 我在给威佐夫博弈打表的时候,无意中发现了一个数列。 它的前$100$位是:$$12122121221221212212122122121221221212212122122121221212212212122122121221212212212122122121 阅读全文
posted @ 2019-01-20 21:00 LiGuanlin 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 题目描述: $zhx$有一个棵$n$个点的树,每条边有个权值。 定义一个连通块为一个点集与使这些点连通的所有边(这些点必须连通)。 定义一个连通块的权值为这个连通块的边权和(如果一个连通块只包含一个点,那么它的权值为$0$)。 $zhx$想找一个包含$1$号点的连通块送给他的妹子,所以他希望你求出包 阅读全文
posted @ 2019-01-20 16:23 LiGuanlin 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解: 明显的$k$短路问题,这里提供两种方法。 1.$A$*算法 $A$*可以解决一般的$k$短路问题,但是并不如可持久化可并堆优秀。 $A$*的本质是$f+g$,而估价函数可以用终止节点到终点的最短路表示。 所以先反向建图$dij$,然后小根堆跑$A$*即可。 优化一下,总代价/起点终 阅读全文
posted @ 2019-01-20 16:08 LiGuanlin 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解: 可并堆优化$dp$。 由于$ans$只由$l$与派遣人数决定,我们可以贪心选取总和$<=m$的人。 有两种选择,一种是维护小根堆,一直$pop$到弹出的总和$>m$; 另一种是维护大根堆,一直$pop$到剩下总和$<=m$; 这两种比较一定是维护大根堆更优,因为每次$pop$后剩下 阅读全文
posted @ 2019-01-20 15:03 LiGuanlin 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解:(模板放上即可) 代码: 阅读全文
posted @ 2019-01-20 14:55 LiGuanlin 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解: 将所有骑士放在$ci$上,然后树上$dfs$。 每个节点维护一个小根堆,一直$pop$直到$top>=hi$。 然后放加法、乘法标记,将剩下的骑士回溯带回父节点。 代码: 阅读全文
posted @ 2019-01-20 14:54 LiGuanlin 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解: 左偏树,一棵向左倾斜的二叉树。 板子: $upd:$ 之前版本被$luogu$数据卡掉了,$get_top$操作是$O(n)$的。(0_0) 更新路径压缩的做法。 首先合并两棵树就并一下,删除操作要求删除堆顶元素。 肯定是不能直接删的。 怎么做呢,合并儿子后将自己的指针指向新的堆顶 阅读全文
posted @ 2019-01-20 14:48 LiGuanlin 阅读(161) 评论(0) 推荐(0) 编辑