我们可以考虑两种情况 区间之间不相重叠 和 重叠 f【i】【j】表示以当前最后一个区间以 i 结尾 并且选了 j 个区间 不相重叠的话 只要选 1-i-w 的max再加上 包含i在内的前四个数的和 相交的话 考虑因为可选的区间长度是固定的 所以我们可以考虑单调队列优化 sum维护的是前缀和 f【i】 ...
分类:
其他好文 时间:
2017-08-16 09:55:28
阅读次数:
197
LITTLE BIRD Bzoj 3831 相对而言是一道比较简单的DP,不过它需要用单调队列优化。首先是朴素O(n2), if(d[j]>f[i]) f[i]=min(f[i],f[j]); else f[i]=min(f[i],f[j]+1); f[i]表示从1到i需要的最少代价 K很大时会很慢 ...
分类:
其他好文 时间:
2017-08-05 15:33:21
阅读次数:
182
题目大意:给你一个序列,要你求该序列中最长严格上升子序列的长度。 解题思路:此题算是一道LIS模板题。普通的$O(n^2)$的LIS是会TLE的,因为$n\le 1000000$,所以此题要用单调队列优化的LIS,时间复杂度$O(n\log n)$。 C++ Code: ...
分类:
其他好文 时间:
2017-07-30 11:28:39
阅读次数:
144
题目描述 烽火台又称烽燧,是重要的防御设施,一般建在险要处或交通要道上。一旦有敌情发生,白天燃烧柴草,通过浓烟表达信息:夜晚燃烧干柴,以火光传递军情。在某两座城市之间有 n 个烽火台,每个烽火台发出信号都有一定的代价。为了使情报准确的传递,在 m 个烽火台中至少要有一个发出信号。现输入 n、m 和每 ...
分类:
其他好文 时间:
2017-07-29 10:23:11
阅读次数:
187
LINK 题意:有1个产品,m个步骤编号为1~m。步骤要在n个机器人的手中生产完成。其中,第i个步骤在第j个机器人手中的生产时间给定为$T[i][j]$,切换机器人消耗cost。步骤必须按顺序,同一个机器人不能连续完成超过l个步骤。求完成所有步骤的最短时间是多少。其中$m<=10^5$,$n<=5$ ...
分类:
其他好文 时间:
2017-07-20 19:50:46
阅读次数:
191
Description 在经过一段时间的经营后,dd_engi的OI商店不满足于从别的供货商那里购买产品放上货架,而要开始自己生产产品了!产品的生产需要M个步骤,每一个步骤都可以在N台机器中的任何一台完成,但生产的步骤必须严格按顺序执行。由于这N台机器的性能不同,它们完成每一个步骤的所需时间也不同。 ...
分类:
其他好文 时间:
2017-07-13 22:51:29
阅读次数:
248
dp+优化 很明显可以用单调队列优化。 记录下自己犯的sb错误: 数组开小,sum没搞清。。。 #include<cstdio> #include<cstring> using namespace std; const int N = 110, M = 10010; int n, m, k, ans ...
分类:
其他好文 时间:
2017-07-05 01:15:22
阅读次数:
210
【BZOJ2806】[Ctsc2012]Cheat Description Input 第一行两个整数N,M表示待检查的作文数量,和小强的标准作文库的行数接下来M行的01串,表示标准作文库接下来N行的01串,表示N篇作文 第一行两个整数N,M表示待检查的作文数量,和小强的标准作文库的行数接下来M行的 ...
分类:
其他好文 时间:
2017-06-28 10:50:49
阅读次数:
125
代码基本是跟着yy dalao码的吧, 主要是要知道单调队列优化要怎么做, f[i][j]表示第i天手里有j股时的收益。 从第一天到第w+1天初始化为-e[i].ap*j(因为此时只能买不能卖),其余为-inf。 分三种情况: 1.不买不卖:即f[i][j]=max(f[i][j],f[i-1][j ...
分类:
其他好文 时间:
2017-06-11 21:18:18
阅读次数:
254
Power收集 思路: 单调队列优化dp; 代码: ...
分类:
其他好文 时间:
2017-06-10 19:26:22
阅读次数:
135