1 断环为链。 注意到两座仓库的距离不超过 \(\lfloor \frac{n-1}2 \rfloor\), 所以可以枚举算出每个仓库的最大可能代价, 然后用单调队列优化下就可以 \(O(N)\) 了(单调队列里的每个点都记录其 \(A\) 和其在链中的位置)。 #include<bits/stdc ...
分类:
其他好文 时间:
2020-06-28 15:02:47
阅读次数:
56
https://darkbzoj.tk/problem/1855 https://www.luogu.com.cn/problem/P2569 单调队列优化,还是看了一眼题解才做出来的/kk $1\leq BP_i\leq AP_i\leq 1000,1\leq AS_i,BS_i\leq\text ...
分类:
其他好文 时间:
2020-06-13 23:27:24
阅读次数:
76
题意 考虑点分治来枚举树上联通块,对于一个联通块,我们做有依赖性的树形DP即可,需要用单调队列优化多重背包。 有依赖性的树形DP code: #include<bits/stdc++.h> using namespace std; const int maxn=510; const int maxm ...
分类:
其他好文 时间:
2020-06-05 15:05:32
阅读次数:
53
#include<map> #include<queue> #include<time.h> #include<limits.h> #include<cmath> #include<ostream> #include<iterator> #include<set> #include<stack> # ...
分类:
其他好文 时间:
2020-06-03 13:50:13
阅读次数:
37
#include <cstdio> #include <iostream> using namespace std; int n,m,x; int hh,tt,a[1000001],q[1000001],f[1000001]; int read() { char ch=getchar(); int ...
分类:
其他好文 时间:
2020-06-03 13:40:21
阅读次数:
64
Solution 我们发现要解决一个树上的连通块问题,解决这种问题的时候我们不妨先随便选一个根,如果要选某两个点则他们到n的路径上的点都会被选就变成了一个树形背包问题。 注意这里是多重背包,所以我们可以用单调队列优化,时间复杂度$O(N^2M)$。 考虑暴力选根的时候会把很多重复的情况算进去,所以我 ...
分类:
其他好文 时间:
2020-05-29 19:24:43
阅读次数:
65
题面 这个题状态设计和状态转移方程都非常好设计好推,重点思考一下单调队列优化以及代码DP中一些初始化,转移要点的一些方法,尽量做到以后不再犯类似的错误。 F[i][j] 即第i天,当前手中有j的股票所能带来的最大价值。 分类讨论一下,今天可以买,可以不买,还可以卖。 买的话可以分为我今天第一次开始买 ...
分类:
其他好文 时间:
2020-05-05 00:24:39
阅读次数:
78
```//f[i]表示从前i头牛中选,且合法,的所有方案,价值最大//第i头选或不选都可以//不选:变成f[i-1]//选i:需要知道从i开始往前连续选了多少个,最多是k//如果是x个,那么就加上w[i-x+1]+w[i-x+2]...+w[i],也就是s[i]-s[i-j]//那么再往前选的话,下... ...
前言 首先此篇文章是为低年级的朋友准备的, 不涉及什么深奥的知识 ,~~比如线性规划之类的~~。 仔细看 ,不要以为自己学不会,看不懂,只要你会DP并打过一些题目而且会单调队列优化DP,斜率DP离你就不远了~~~。这篇文章也是在我领悟了斜率DP不久写的,如果本文有什么不严谨的地方,欢迎指出!!! 在 ...
分类:
其他好文 时间:
2020-02-14 11:09:03
阅读次数:
88
题目链接: "http://poj.org/problem?id=2373" 题目描述 农夫约翰的奶牛们发现了在牧场的山脊上长着味道非常不错的三叶草。为了让这些三叶草得到灌溉,农夫约翰正在山脊上安装洒水器。 为了让安装流程得到简化,每一个洒水器必须沿着山脊进行安装(我们可以将山脊按成一个一维的长度为 ...
分类:
其他好文 时间:
2020-02-08 00:00:55
阅读次数:
89