动态规划基础 在写这篇博客之前,我被动态规划之类的问题折磨地"遍体鳞伤" 。直到我了解到了闫氏DP分析法。之后,我吃饭更香了,身体更棒了!!! ...... 咳嗯额...开个玩笑,言归正传。 闫氏DP分析法是从集合地角度来分析求解DP问题的。它的具体思想是:找某个依据将某个状态用它的子状态来不重不漏 ...
分类:
其他好文 时间:
2021-03-09 13:34:30
阅读次数:
0
想清楚它不是DP而是贪心就好做了 首先, 我们称子树刚好包含所有某一颜色的点为临界点, 那我们要优先选择深度越深的临界点越好 用另一种方式来说, 在dfs的过程中, 第一次发现有一个点恰好为临界点,那么就选择这个点为分界线新增一个答案, 很容易想清楚, 选择越深的肯定更优, 让其它点的有更多分块的机 ...
分类:
其他好文 时间:
2021-03-09 13:33:11
阅读次数:
0
图论最短路:Floyd 多源最短路的处理方法,主要思想为dp; 时间复杂度O(n^3); a[i][j]:邻接矩阵储存图; dp[i][j]:从i点到j点的最短距离; 转移方程: 选取k点,dp[i][j]=min(dp[i][k]+dp[k][j],dp[i][j]); 直接贴核心代码: 1 fo ...
分类:
其他好文 时间:
2021-03-08 14:05:48
阅读次数:
0
[Aimee](P1855 榨取kkksc03) 很简单的dp #include<iostream> #include<cstring> using namespace std; int n,m,t; int mi[1000]; int ti[1000]; int dp[201][301][201] ...
分类:
其他好文 时间:
2021-03-08 13:47:33
阅读次数:
0
CF739E Gosha is hunting 奥妙重重的WQS二分 限制了每种球使用次数,然后考虑利用WQS二分,二分一个使用代价,然后进行dp,此时就没有数量的限制了。 所以这里我们需要二分里面套二分 然后有一个小细节就是必须保证每次内层二分等于的时候必须向下取,虽然向上取对b类没有影响,但是会 ...
分类:
其他好文 时间:
2021-03-08 13:45:12
阅读次数:
0
#include <bits/stdc++.h> using namespace std; int ans,a[1000],dp[1000],n; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); } for( ...
分类:
其他好文 时间:
2021-03-08 13:08:20
阅读次数:
0
题意: 戳这里 分析: 一看到是直方图的题目,我们可以联想到笛卡尔树 我们将列数作为 BST 的一维,将高度作为小根堆的一维,这样笛卡尔树上每一个节点都是一个矩形 我们考虑在矩形中选出 k 个合法点的方案数,显然等价于 \(C_{wid}^kC_{hig}^kk!\) ,表示选出 k 种高度和下标并 ...
分类:
其他好文 时间:
2021-03-05 13:29:19
阅读次数:
0
对于一些数组a,Petya需要找到从中间选择非空子集,使它们的乘积等于某个整数的平方的方法的数量。如果这些方法所选择的元素的索引不同,则认为这两种是不同的方法。$a_i \le 70$ ...
分类:
其他好文 时间:
2021-03-05 13:12:22
阅读次数:
0
如果一个数组$[a_1,a_2,a_3,...,a_n]a_1=n-1$并且$a1>0$,这个数组就被叫为好数组,如果一个序列能正好分为多个好数组,ta就被叫为好序列,现在给定一个序列,求这个序列有多少好子序列,答案对$998244353$取模 ...
分类:
其他好文 时间:
2021-03-05 13:10:49
阅读次数:
0
先考虑暴力dp: 设$f_{i,j}\(表示经过\)(i,j)$的概率,可以通过枚举$f_{a,b}$($a,b$是$D$倍数)统计答案。 递推方法:\(f_{i,j}=Af_{i,j-1}+Bf_{i-1,j}\) 把一斜行写成生成函数形式:设$F_=\sum f_{j,i-j}x^j$ 转移方程 ...
分类:
其他好文 时间:
2021-03-04 13:28:34
阅读次数:
0