单调队列
11011b
你配不上自己的野心,也辜负了曾经历的苦难
展开
-
洛谷P2569 [SCOI2010]股票交易(单调队列优化DP)
题目链接:P2569 [SCOI2010]股票交易题解:用dp[i][j]表示第i天结束时拥有j数量股票时的最大收益,对于每天,我们把可以进行的操作分成4类:1.之前都没有买入股票,今天第一次买入,此时直接计算得出dp[i][j]=-j*AP2.今天不操作,显然可得状态转移方程dp[i][j]=max(dp[i][j],dp[i-1][j])3.在原有股票基础上买入后今天持有j股,那么我们就需要在[1,i-w-1](i-w-1是因为两次操作至少间隔w天)中查找一天作为转移,显然,因为操作2,原创 2022-05-27 00:35:42 · 407 阅读 · 0 评论 -
洛谷 P4544 [USACO10NOV]Buying Feed G)(单调队列优化DP)
题目连接:P4544 [USACO10NOV]Buying Feed G建议做这题前先做下这题我们可以用dp[i][j]表示当前走到前i个点,已经买了j吨饲料时到达下一个点的最小花费,可以推出状态转移方程方程dp[i][j]=min(dp[i][j],dp[i-1][k]+d*j^2+c*(j-k)),0<=k<=j(d为当前点到下一点的距离),实际是dp[i][j]就是在所有满足条件的k中查找最小的一个dp[i-1][k]+d*j^2+c*(j-k),整理下该式子,得到:(dp[i-1原创 2022-05-22 21:46:43 · 180 阅读 · 0 评论 -
Codeforces 500E New Year Domino (并查集+单调队列维护)
参考自大佬Patrickpwq, 这题感觉还是挺好的,这里还是写一下供自己以后翻开吧题目链接:New Year Domino题意:n个杆子在x轴上,给定每个杆子的位置和高度,杆子i可以压倒杆子i+1当且仅当杆子i高度大于二者间距,杆子可以通过花费1美元提高一个单位,给定q次询问,问要使[l,r]内杆子都能倒下,最少要多少美元(各询问互不干扰)题解:我们可以将每个能相互到达的杆子用并查集维护到一起,枚举每个杆子到达最后一根杆子的花费,将询问离线下来,从后往前枚举排除前面杆子过高影响后面的答案,用单转载 2022-03-23 17:33:53 · 111 阅读 · 0 评论