摘要: Codeforces Round #582 (Div. 3) 阅读全文
posted @ 2019-09-02 16:38 maximumhanyu 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 给一棵 N 个点的树,每个点有一个权值,求每个点的子树中有多少个点的权值比它大。 考虑线段树合并,将权值离散化,每个点开一棵权值线段树。 求答案时直接在权值线段树上查询,线段树合并时类似于可并堆。 要注意的是线段树要动态开点,合并时别忘了 up。 内存什么的最好算一下,数组别开小了。 1 #incl 阅读全文
posted @ 2019-08-30 08:49 maximumhanyu 阅读(118) 评论(0) 推荐(0) 编辑
摘要: Fn = c2n-6 * Fn-1 * Fn-2 * Fn-3,求 Fn . 推一下式子,变成 Fn * cn = ( Fn-1 * cn-1 ) * ( Fn-2 * cn-2 ) * ( Fn-3 * cn-3 ) 记 Tn = Fn * cn,就有 Tn = Tn-1 * Tn-2 * Tn- 阅读全文
posted @ 2019-08-29 10:55 maximumhanyu 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 给一个 N 个点的无向图,每个点有一个高度,每条边有一个困难度。 多次询问求从 Vi 出发,只经过困难度小于等于 Xi 的边所能到达的点中第 K 高的点。 Kruskal 重构树真是个好东西,既好写又好用。 这道题把树建出来后就变成了求某个点的叶子结点中第 K 大的点。 上面说的某个点就是 Vi 在 阅读全文
posted @ 2019-08-29 08:34 maximumhanyu 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 给一个 N * N 的矩阵,多次询问子矩阵第 K 小 整体二分的经典题。 单个询问显然可以二分,用树状数组维护子矩阵中大小 <= mid 的数的个数。 多个询问就把它们同时二分,答案 <= mid 的询问丢到左边,> mid 的丢到右边递归处理。 二分的时候就直接在矩阵里的数中二分。 时间复杂度上来 阅读全文
posted @ 2019-08-28 14:01 maximumhanyu 阅读(293) 评论(0) 推荐(0) 编辑
摘要: ACM-ICPC 2015 Shenyang Preliminary Contest 阅读全文
posted @ 2019-08-28 08:42 maximumhanyu 阅读(146) 评论(0) 推荐(0) 编辑