/* dp[S]表示状态S下的最大收益,0表示没有了,1表示还在 */ #include using namespace std; int dp[1>n && n){ for(int i=1;i>mp[i][j]; memset(dp,0,sizeof dp); int ans=0; for(int... ...
分类:
其他好文 时间:
2019-02-10 00:04:46
阅读次数:
190
题面 "Bzoj" 题解 对于每个节点,我们可以用树链剖分和线段树维护以下信息: 单独在某个点分配$i$个人的最大收益(可以$O(m)$计算) 分配$i$的最大收益(可以$O(m^2)$计算) cpp include include include using std::min; using std ...
分类:
其他好文 时间:
2019-02-03 16:46:49
阅读次数:
190
本校唯一国家队爷出的题。。。真流弊 强行卡掉优化构图 大家一起去%吧 我觉得离散化以后就是一个类似匈牙利的贪心了。。。 ...
分类:
其他好文 时间:
2019-01-09 17:27:53
阅读次数:
236
题面 拆开式子我们发现切割顺序不影响答案,所以可以设计出一个$dp[i][j]$表示到$i$为止切了$j$刀的最大收益之类的,然后做个前缀和就可以转移了。 $dp[i][j]=min(dp[i][j],dp[k][j-1]+sum[k]*(sum[i]-sum[k]) )$ 第一维显然还可以滚掉,这 ...
题目描述 题解: 应该是个$dp$; $dp[i][j]$表示第$i$个人涂到第$j$块的最大收益。 推一下式子:$$dp[i][j]=max(dp[i-1][j],dp[i][j-1],dp[i-1][k]+(j-k)*p[i])$$ 对于最后面那个式子可以化一下:$$max(dp[i-1][k] ...
分类:
其他好文 时间:
2019-01-02 10:37:39
阅读次数:
143
这里是$sb$的$O(nm)$做法 上一篇题解里写的$O(nm)$做法并没有看懂,我真是好菜啊 这是一个用了斜率优化,但是复杂度仍然是$O(nm)$的做法 我们还是先写出简单的$dp$方程 $dp[i]$表示到达第$i$个点的时候的最大收益 于是就有 $$dp[i]=max(dp[j]+w[i] ( ...
分类:
Web程序 时间:
2019-01-01 21:01:52
阅读次数:
163
[原题链接][https://leetcode cn.com/problems/best time to buy and sell stock iii/] 分析:动态规划+二分法。以 为分界线,计算第i天之前进行 的最大收益 ,和第i天之后进行 的最大收益 ,最后遍历一遍找到 ,就是最大收益。第i天 ...
分类:
其他好文 时间:
2018-12-31 00:33:04
阅读次数:
185
题目描述 一般一家公司的股票价格是不稳定的,就像图里所展示的这样,每时每刻的价格都在变。(图片来源网络) 现在,有一份很长很长的连续时间点股票价格数据(按时间从先到后顺序),老板需要你快速的寻找在这段数据范围内一次买卖股票的每股最大收益(假设所有人买卖股票都在给定时间点的数据范围内)。 要想解决这个 ...
分类:
编程语言 时间:
2018-12-27 03:11:34
阅读次数:
200
"传送门" "shadowice巨巨" 太强啦 表示连树剖都不会直接来肝这个近乎LCT的很懵逼啊……于是一个晚上就过去了…… 首先,这题本质上就是个没有上司的舞会,然而带修改 先考虑正常的dp方程,设$dp_{u,0}$表示该点不选的最大收益,$dp_{u,1}$表示该点选的最大收益,则有$$dp_ ...
分类:
其他好文 时间:
2018-12-24 13:25:36
阅读次数:
154
01背包问题是很经典的动态规划问题,给定总容量T,物品的件数。然后给定数组weight[k] value[k]来求解背包装上物品所带来的最大收益。 最开始的时候是设置二维DP数组来求解问题 我们不妨设数组DP[i][j]来表示的是前i件物品在容量为j的情况下所取得的最大收益值,当我们设置好一个DP数 ...
分类:
其他好文 时间:
2018-12-04 19:03:05
阅读次数:
169