
决策单调性
WerKeyTom_FTD
这个作者很懒,什么都没留下…
展开
-
斜率大法题库
[bzoj3675][Apio2014]序列分割题目大意及模型转换给定一个由N个元素组成的序列,你现在要对其做M次操作。每次操作如下: 1、选择一个长度大于1的序列,找到任意一个合法位置,将其分割成两个长度不为0的序列。 如[3,2,5,7,8]可以在2后面进行分割变为[3,2]和[5,7,8]。 2、如此做可以获得分数为两个分割后的序列元素之和相乘。 请使总分数最大。 每个元素都为正数,原创 2015-08-23 13:52:26 · 1486 阅读 · 5 评论 -
[BC#89B]Fxx and game
题目大意给定n、k、t。 对于一个数x,可以一步变成x/k(必须整除)或x-i(1<=i<=t) 求把n变成1的最少步数DP设f[i]表示i变成1的最少步数 显然f[i*k]=min(f[[i*k],f[i]+1) 那么对于减怎么办? 维护单调递增的单调队列,每次从队头取决策,如果队头不合法则踢出。 注意k=1或t=0#include<cstdio>#include<algorithm原创 2016-11-02 14:42:45 · 626 阅读 · 0 评论 -
[bzoj4700]适者
题目描述敌方有n台人形兵器,每台的攻击力为Ai,护甲值为Di。我方只有一台人形兵器,攻击力为ATK。战斗看作回合制, 每回合进程如下: ·1 我方选择对方某台人形兵器并攻击,令其护甲值减少ATK, 若护甲值<0则被破坏。 ·2 敌方每台未被破坏的人形兵器攻击我方基地造成Ai点损失。 但是,在第一回合开始之前,某两台敌方的人形兵器被干掉了(秒杀)。问最好情况下,我方基地会受到多少点损原创 2017-01-15 22:35:31 · 928 阅读 · 0 评论 -
[bzoj3721]Final Bazarek
题目描述有n件商品,选出其中的k个,要求它们的总价为奇数,求最大可能的总价。做法首先肯定要取一个奇数,所以一定取最大的奇数。 一个奇数都没有可以直接-1了。 接下来奇数只能两个两个取,而偶数可以一个一个取。 而且肯定从大到小,所以先排个序。然后num[x]表示取x对奇数前缀和,sum[x]表示取x个偶数前缀和。 假设要取k个,而且我们取了x对奇数,贡献是num[x]+sum[k-2x] 所原创 2017-01-25 15:12:25 · 632 阅读 · 0 评论 -
[arc076f]Exhausted?
前言你们都会hall定理推广版本。 但是我没用hall定理做啊。题目大意一个二分图,X部每个点i连了Y部的[1,Li]和[Ri,m]。 求n-最大匹配。做法考虑到二分图最大匹配等于最小覆盖。 最优方案小我们一定是选择了Y部的一个前缀和一个后缀,剩余不能因此得到覆盖的X部点要选上。 假如我们枚举选了Y部的前缀l,假设Y部选的后缀是r,那么选的点为l+m−r+1+n−∑ni=1[Li<=l]∗[原创 2017-11-02 17:37:12 · 755 阅读 · 0 评论 -
[arc066f]Contest with Drinks Hard
题目大意有一些物品,每个买了有代价。 如果存在一个极大区间[l,r]内的物品都被买了,这个区间长度为k,可以获得的收益是k*(k+1)/2。 现在若干次询问,每次问假如修改了某个物品的价格,最大收益是多少?DP先处理出L和R分别表示前缀dp值和后缀dp值,显然dp可以用决策单调性优化。 然后现在我们需要求出一定买某个物品的最大值,记为ans[]。 也就是说假设买了区间[l,r],那么[l,r原创 2017-11-16 14:40:31 · 1065 阅读 · 0 评论 -
[UOJ#84]水题走四方
题目大意一颗树,两个人初始从根节点出发,每一步每个人可以选择原地不动或者走向某个儿子。一步后,一个人可以瞬移到另一个人所在节点上。 最少需要多少步,使得每个节点都被遍历过?做法我们可以认为存在一个本体以及一个分身,每次都是分身瞬移到本体的位置。 如果本体A和分身B在节点C分道扬镳,本体A在D节点瞬移至分身B所在的节点E,干脆一开始便让本体A往E走,分身B往D走。因此瞬移的总是分身。 最后一定是原创 2018-04-12 11:32:02 · 733 阅读 · 0 评论