随笔分类 -  学习

摘要:转自 概念 有带权图G, 对于图中每条边e[i], 都有benifit[i](收入)和cost[i](花费), 我们要求的是一棵生成树T, 它使得 ∑(benifit[i]) / ∑(cost[i]), i∈T 最大(或最小). 这显然是一个具有现实意义的问题. 解法之一 0-1分数规划 设x[i] 阅读全文
posted @ 2016-08-11 21:00 Yangjiyuan 阅读(1482) 评论(0) 推荐(0)
摘要:我们需要枚举根,然后从其子树内选尽量多的点,薪水不超过M,可是暴力复杂度不对。于是考虑自下而上合并树(开始每棵树内只有一个节点,就是自己) 每个树是一个堆,我们维护树的节点个数和薪水总和,合并时,不断弹出堆顶薪水最大的直到薪水总和不超过M,然后用领导力*节点个数更新答案。发现这个模型就是裸的左偏树。 阅读全文
posted @ 2016-08-11 15:12 Yangjiyuan 阅读(156) 评论(0) 推荐(0)
摘要:作用:ST算法是用来求解给定区间RMQ的最值,本文以最小值为例 举例: 给出一数组A[0~5] = {5,4,6,10,1,12},则区间[2,5]之间的最值为1。 方法:ST算法分成两部分:离线预处理 (nlogn)和 在线查询(O(1))。虽然还可以使用线段树、树状链表等求解区间最值,但是ST算 阅读全文
posted @ 2016-05-14 20:34 Yangjiyuan 阅读(1100) 评论(0) 推荐(0)
摘要:写题遇上一棘手的题,[Apio2014]回文串,一眼看过后缀数组+Manacher。然后就码码码。。。过是过了,然后看一下[Status],怎么慢这么多,不服。。然后就搜了一下,发现一种新东西——回文树。 回文树的功能: 假设我们有一个串S,S下标从0开始,则回文树能做到如下几点: 1.求串S前缀0 阅读全文
posted @ 2016-05-08 11:36 Yangjiyuan 阅读(676) 评论(0) 推荐(0)
摘要:这里先推荐两道练习的裸题 首先是求点 【codevs4605】 LCA 就是求两个点的公共祖先,每次询问xor上上一个询问的答案。 先是两遍DFS: dfs1:把dep、siz、son求出来 dfs2:求出top和w siz[v]表示以v为根的子树的节点数 dep[v]表示v的深度(根深度为1) t 阅读全文
posted @ 2016-04-18 21:41 Yangjiyuan 阅读(806) 评论(2) 推荐(1)
摘要:读入优化(int) 读入优化(long long) 读入优化(string,char) 输出优化 阅读全文
posted @ 2016-04-13 15:03 Yangjiyuan 阅读(185) 评论(0) 推荐(0)