摘要: 火车头 线段树写法 不要写结构体,要分开写,不然巨慢。 推荐 "博客1" 阅读全文
posted @ 2019-10-26 14:54 Thomastine 阅读(207) 评论(0) 推荐(0)
摘要: 01背包 题目 有N件物品和一个容量为V的背包。第i件物品的费用是w[i],价值是v[i],求将哪些物品装入背包可使价值总和最大。 基本思路 主要特征:每个物品只有一件,只有放与不放两种状态,设dp[i][j]表示重量限制为j时在前i个物品中能得到的最大价值 $$dp[i][j] = max(dp[ 阅读全文
posted @ 2019-10-25 22:47 Thomastine 阅读(445) 评论(0) 推荐(0)
摘要: 1521 华丽的吊灯 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 大师 Master 题目描述 Description 著名的Microhardware公司即将迎来其创业50周年庆典,为了使这次庆典能够体面而又隆重,以显出公司在国际硬件的龙头地位,总裁决定举办一次交谊舞会,届时 阅读全文
posted @ 2019-10-25 20:08 Thomastine 阅读(203) 评论(0) 推荐(0)
摘要: 区间dp 常见题型 求区间[1,n]XXXXX后的最大/小值,一般分为无要求或只能/最多分成m段两类 做法 如对分段无要求,设dp[i][j]表示序列中[i,j]的最值,最外层循环区间长度,第二层循环左端点,并能确定右端点,第三层枚举断点; cpp for(rint len = 1;len incl 阅读全文
posted @ 2019-10-25 17:27 Thomastine 阅读(397) 评论(0) 推荐(0)
摘要: "题面" 分析 按照要求拓扑排序即可 代码奉上 阅读全文
posted @ 2019-10-25 15:31 Thomastine 阅读(130) 评论(0) 推荐(0)
摘要: 概念 AOV网 1. 一个较大的工程往往被划分成许多子工程,我们把这些子工程称作活动(activity)。在整个工程中,有些子工程(活动)必须在其它有关子工程完成之后才能开始,也就是说,一个子工程的开始是以它的所有前序子工程的结束为先决条件的,但有些子工程没有先决条件,可以安排在任何时间开始。为了形 阅读全文
posted @ 2019-10-24 17:31 Thomastine 阅读(183) 评论(0) 推荐(0)
摘要: 基本题型 01分数规划是这样的一类问题,有一堆物品,每一个物品有一个收益ai,一个代价bi,我们要求一个方案使选择的 $$\sum_{} a[i] / \sum_{} b[i] $$ 最大(或最小) 分析 以最大为例,设x为最大值即x = Σai/Σbi,就有x Σbi = Σai Σai x Σb 阅读全文
posted @ 2019-10-23 22:41 Thomastine 阅读(162) 评论(0) 推荐(0)
摘要: 定义dp[i][j]为a中前i个与b中前j个能匹配的最大长度 当 a[i] == b[j] 时,答案来自 dp[i 1][j 1] + 1 否则,来自dp[i 1][j]与dp[i][j 1]中较大一个 cpp for(rint i = 1;i 阅读全文
posted @ 2019-10-23 22:13 Thomastine 阅读(167) 评论(0) 推荐(0)
摘要: 模板 CF10D 参考 "chennachuan_2004 " 阅读全文
posted @ 2019-10-23 16:47 Thomastine 阅读(320) 评论(0) 推荐(0)
摘要: O(n2) 设a[i]表示以元素re[i]结尾的最长上升子序列长度,初始都为1,最外层循环i,内层找[1,i 1]中re[j] a[i] 的来更新a[i] 练习 :求序列中某个点开头的最长上升与下降序列的和; 由于我们正反求某个点的严格单调序列答案都是一样的,可以把原序列复制一遍翻转一下接在前面求一 阅读全文
posted @ 2019-10-23 16:07 Thomastine 阅读(207) 评论(1) 推荐(0)