码迷,mamicode.com
首页 >  
搜索关键字:队列优化    ( 363个结果
ccf 201812-4
题解:求最小生成树的最大权值边 ①n<=50000,用二维数组会编译出错,开不了50000*50000这么大的数组 ②用Vector+优先队列 优化Prim即可得正解,一定要用优先队列优化,否则会超时! ③可以用struct Node,也可以用Pair优化 #include <stdio.h> #i ...
分类:其他好文   时间:2020-01-14 21:05:09    阅读次数:113
Luogu P4022 [CTSC2012]熟悉的文章
广义 $SAM$ + 二分答案 + 单调队列优化 $DP$ 对作文库建广义 $SAM$ ,然后求出作文每个位置的最长匹配 $d[i]$,然后二分答案 $md$,然后 $DP$ ,$f[i]$ 表示到 $i$ 的最大匹配长度,有 $f[i]=\max(f[j] j+i),j\in[i d[i],i m ...
分类:其他好文   时间:2020-01-10 18:27:55    阅读次数:85
CF1271D Portals dp 贪心
地址 首先可以观察得出: 如果可以defence 城堡i有多个城市,那么选择最后一个城市再考虑是否defence该城堡是最优方案 第一种方法 可以采用dp 因为发现士兵数量C 小于5000 所以设置dp[i]表示攻打到当前城堡时,士兵数剩余i个所取得的最大贡献 第二种方法 可以用优先队列优化 要求出 ...
分类:其他好文   时间:2019-12-21 13:30:37    阅读次数:96
Mowing the Lawn【线性dp + 单调队列优化】
题目链接:https://ac.nowcoder.com/acm/contest/2652/G 题目大意:与上一篇博客 烽火传递 差不多。 1.一共n头羊,若超过m头连续的羊在一起,就会集体罢工,每头羊有一个工作效率,求如何选择羊使得工作效率最高 题解思路: 1.我们可以转换思路,首先选择全部的羊, ...
分类:Windows程序   时间:2019-11-25 23:47:43    阅读次数:125
烽火传递【单调队列优化dp】
题目大意: 1.给出长度为n的数组,要求每m个连续的元素之间必须选一个值作为代价,求该数组的最小代价。 题解思路: 1.显然是线性dp,dp【i】表示选择第 i 个元素时的最小总代价。很明显状态转移方程为 dp[i] = min(dp[j]) + a[i]。(i - m <= j <= i - 1) ...
分类:其他好文   时间:2019-11-25 18:31:18    阅读次数:81
图论基础——最短路算法集锦
最短路算法有个基础——————松弛操作(在大多数最短路算法都会涉及) 最短路算法一共有多少种方法我不知道,在这里我只想记录4种: ?Dijkstra:求单源点最短路(不含负边权) ?Bellman-ford:求单源点最短路(可含负边权) ?SPFA(使用队列优化后的Bellman-ford) ?Fl ...
分类:编程语言   时间:2019-11-01 22:44:30    阅读次数:126
[bzoj1044]木棍分割
第一个问题可以用贪心+二分解决第二个问题用f[i][j]表示i次分割后分割到j且满足条件的方案数,$f[i][j]=\sum_{k<j且sum[j]-sum[k]<=ans}f[i-1][k]$优化时间:前缀和优化,二分要先预处理出来(也可以用优先队列)优化空间:发现f并没有什么用处,只需要记录前缀 ...
分类:其他好文   时间:2019-10-29 10:05:51    阅读次数:79
dijkstra
这是一个用来求没有负边权的最短路径算法,复杂度是n^3,经过优先队列优化则是n^2. 算法思想:首先用前向星存储图,用一个node(需要重载运算符)类的priority_queue来存储被松弛的点(vis[i]==0)的的信息,dis[]数组存放当前到达这个点的最短路。其次进行扫描,看堆顶,也就是当 ...
分类:其他好文   时间:2019-10-24 23:13:07    阅读次数:89
宝物筛选
传送门:https://www.luogu.org/problem/P1776 很久就想用二进制拆分做一下了,这道题本来是用单调队列优化可惜蒟蒻我不会。 于是我就用二进制拆分牺牲空间复杂度换来了时间复杂度。 任何一个数都可以拆成二进制(其实不鬼畜) e.g. 15=1+2+4+8 7=1+2+4 而 ...
分类:其他好文   时间:2019-10-23 11:59:31    阅读次数:74
混合背包问题
题目:https://www.acwing.com/problem/content/7/ 混合背包是一个比较简单的问题,也就是物品中既有01背包,又有完全背包,还有多重背包,这个时候的多重背包一般使用二进制拆分成01背包来做,因为用单调队列优化的话需要保证初始条件一样,也就是得先读入所有的物品,然后 ...
分类:其他好文   时间:2019-10-20 12:49:17    阅读次数:82
363条   上一页 1 2 3 4 5 6 ... 37 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!