摘要:
经典的过河卒问题,dp状态很好想,只需注意#不能发生转移即可 #include<bits/stdc++.h> #define int long long using namespace std; const int N=1e3+10; const int mod=1e9+7; char mp[N][ 阅读全文
摘要:
每个点肯定是它上个点转移过来的 #include<bits/stdc++.h> using namespace std; const int N=1e5+10; vector<int>a[N]; int d[N],dp[N]; void solve(){ int n,m; cin>>n>>m; fo 阅读全文
摘要:
这个题目的体积很大,但是价值却很小,最多是1e5,我们可以转变背包体积概念,把价值当作体积,然后体积当作 DP 值。 dp[i] 表示的是达到i价值所需的最小的体积 #include<bits/stdc++.h> #define int long long using namespace std; 阅读全文
摘要:
用dp[i][j] 表示第i天选了j类型的最大值 #include<bits/stdc++.h> using namespace std; const int N=1e5+10; vector<int>a[N]; int dp[N][3]; void solve(){ int n; cin>>n; 阅读全文
摘要:
因为k很小,所以无需优化dp #include<bits/stdc++.h> using namespace std; void solve(){ int n,k; cin>>n>>k; vector<int>a(n+1); vector<int>dp(n+1,1e18); dp[1]=0; for 阅读全文
摘要:
很好想的线性p #include<bits/stdc++.h> using namespace std; void solve(){ int n; cin>>n; vector<int>a(n+1); vector<int>dp(n+1,1e18); dp[1]=0; for(int i=1;i<= 阅读全文