标签 - 动态规划

? 解题记录 ? ? 模板 ? ? 动态规划 ? ? 树链剖分 ?    2018-12-10 11:15:59    670    0    0
题目描述给定一棵n个点的树,点带点权。 有m次操作,每次操作给定x,y,表示修改点x的权值为y。 你需要在每次操作之后求出这棵树的最大权独立集的权值大小。 输入输出格式输入格式:   第一行,n,m,分别代表点数和操作数。 第二行,V1​,V2​,...,Vn​,代表nn个点的权值。 接下来n−1行,x,y,描述这棵树的n−1条边。 接下来m行,x,y,修改点x的权值为y。   输出格式:   对于每个操作输出一行一个整数,代表这次操作后的树上最大权独立集。 保证答案在int范围内   输入输出样例输入样例#1: 复制10 10 -11 80
? 解题记录 ? ? LOJ ? ? FMT|FWT ? ? 动态规划 ? ? 状态压缩 ?    2018-12-10 09:19:13    419    0    0
题目地址:嘤嘤嘤 听说是FMT" role="presentation" style="position: relative;">FMTFMTFMT裸题然而学了FMT" role="presentation" style="position: relative;">FMTFMTFMT还是不会啊QAQ" role="presentation" style="position: relative;">QAQQAQQAQ。 首先有一个比较显然的dp" role="presentation" style="position: relative;">dpdpdp。
? 解题记录 ? ? LOJ ? ? 带权二分 ? ? 动态规划 ?    2018-12-10 09:18:19    369    0    0
题目描述 小 L 最近沉迷于塞尔达传说:荒野之息(The Legend of Zelda: Breath of The Wild)无法自拔,他尤其喜欢游戏中的迷你挑战。 游戏中有一个叫做 “LCT” 的挑战,它的规则是这样子的:现在有一个 NN 个点的树(Tree),每条边有一个整数边权 vi" role="presentation">viviv_i,若 vi≥0" role="presentation">vi≥0vi≥0v_i \ge 0,表示走这条边会获得 vi" role="presentation">viviv_i的收益;若 vi&
? 解题记录 ? ? LOJ ? ? 动态规划 ? ? 期望概率 ? ? 状态压缩 ? ? FMT|FWT ?    2018-12-05 21:25:10    921    0    0
链接:戳轻点 >_< 神仙题啊! 还不自量力的想了半天。 看完题解发现自己更本没资格做这道题…… 首先貌似有个没分的高斯消元? 嗯……全部都至少走一遍的期望根本不会算啊。 我们先来看一个很好理解的结论: 最值反演:   考虑任意集合S" role="presentation" style="position: relative;">SSS,元素i" role="presentation" style="position: relative;">iii有点权wi" role="presentation" style="position: r
? 解题记录 ? ? LOJ ? ? 动态规划 ? ? 状态压缩 ? ? 组合数 ?    2018-12-05 20:33:53    887    0    0
题目地址:呀,戳轻点qwq 一开始自己就想错了,本来以为只要选择的点集定了,那么覆盖状态也就定了。 但是发现并不对,和点选择的顺序还有关。 …… 我们去Orz" role="presentation" style="position: relative;">OrzOrzOrz题解吧。 发现自己仍然是没有完全理解增量的构造方式。 考虑到选择点的顺序其实是和答案有关的,我们考虑对整个操作序列增量的过程进行dp" role="presentation" style="position: relative;">dpdpdp。 设f(i,S)" role="presenta
? 解题记录 ? ? LOJ ? ? 组合数 ? ? 动态规划 ?    2018-12-05 20:07:46    725    0    0
题目地址:大家好,我是"题目地址" 想比较不容易偏,但写着细节贼多的题。 首先考虑最优策略,注意到题目给出强化牌的wi&gt;1" role="presentation" style="position: relative;">wi>1wi>1wi>1的条件。 因此,优先打出最大的强化牌一定是最优的,考虑选择了两张最大的攻击牌,仍然与选择最小的强化牌等价。 接下来我们考虑选牌的情况: 设拿到了强化牌c" role="presentation" style="position: relative;">ccc张,攻击牌m&#x2212;c
? 解题记录 ? ? LOJ ? ? 线段树合并 ? ? 动态规划 ?    2018-12-05 19:28:45    515    0    0
题目链接:https://loj.ac/problem/2537 考虑到题目是一颗二叉树,有一个简单的O(N^2)的DP做法。f(i,j)表示i号点取值为数集中第j大数的概率,每一次我们从子树合并上来。j被取到有两种情况:j更大并且当前选择的是最大值 j更小并且当前选择的是最小值分情况讨论,发现要转移需要一个选到比j小的值的概率和(比j大的可以直接用1减比j小的)。那么我们维护两个前缀和(对两边的元素分别计算),即可完成一次合并。 如何优化这个算法呢?假设两边子树可以产生的j值集合分别为A,B。考虑A值域上这样连续的一段数:满足不存在B[i]使得A[l]<=B[i]<=A
? 解题记录 ? ? HDU ? ? 动态规划 ? ? FMT|FWT ?    2018-11-25 17:13:36    593    0    0
Problem Description Byteasar has a tree T with n vertices conveniently labeled with 1,2,...,n. Each vertex of the tree has an integer value vi.The value of a non-empty tree T is equal to v1⊕v2⊕...⊕vn, where ⊕ denotes bitwise-xor.Now for every in
? 解题记录 ? ? BZOJ ? ? 斜率优化 ? ? 带权二分 ? ? 动态规划 ?    2018-11-04 16:21:53    775    0    0
【题目描述】 小H最近迷上了一个分隔序列的游戏。在这个游戏里,小H需要将一个长度为n的非负整数序列分割成k+1个非空的子序列。为了得到k+1个子序列,小H需要重复k次以下的步骤: 1.小H首先选择一个长度超过1的序列(一开始小H只有一个长度为n的序列——也就是一开始得到的整个序列); 2.选择一个位置,并通过这个位置将这个序列分割成连续的两个非空的新序列。 每次进行上述步骤之后,小H将会得到一定的分数。这个分数为两个新序列中元素和的乘积。小H希望选择一种最佳的分割方式,使得k轮之后,小H的总得分最大。 【输入】 输入第一行包含两个整数n,k(k+1≤n)。 第二行包含n
? 解题记录 ? ? 洛谷 ? ? 动态规划 ? ? 斜率优化 ? ? 凸包 ? ? stl ?    2018-11-04 15:44:33    698    0    0
Description 小Y最近在一家金券交易所工作。该金券交易所只发行交易两种金券:A纪念券(以下简称A券)和 B纪念券(以下 简称B券)。每个持有金券的顾客都有一个自己的帐户。金券的数目可以是一个实数。每天随着市场的起伏波动, 两种金券都有自己当时的价值,即每一单位金券当天可以兑换的人民币数目。我们记录第 K 天中 A券 和 B券 的 价值分别为 AK 和 BK(元/单位金券)。为了方便顾客,金券交易所提供了一种非常方便的交易方式:比例交易法 。比例交易法分为两个方面:(a)卖出金券:顾客提供一个 [0,100] 内的实数 OP 作为卖出比例,其意义为:将  OP%