上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页
摘要: 有点像完全背包,但也不是因为有数量的限制,是01背包的变式,每个硬币选与不选,最后看看能不能达到x。 #include<bits/stdc++.h> using namespace std; int t[100],w[100],dp[10005]; int main(){ int n,m; cin> 阅读全文
posted @ 2023-12-28 11:45 yufan1102 阅读(4) 评论(0) 推荐(0) 编辑
摘要: A. Distinct Buttons #include<bits/stdc++.h> using namespace std; void solve(){ int n; cin>>n; int a=0,b=0,c=0,d=0; for(int i=1;i<=n;i++){ int x,y; cin 阅读全文
posted @ 2023-12-28 11:35 yufan1102 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 可以把题目中的活动看成一个个的区间,那么多的区间可能有相交的,我们要找出不相交且最多的区间 想要区间数量最多化,可以贪心的从区间末开始计算,从区间最小的开始记 #include<bits/stdc++.h> using namespace std; const int N=1e3+10; struc 阅读全文
posted @ 2023-12-28 11:11 yufan1102 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 经典的过河卒问题,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][ 阅读全文
posted @ 2023-12-24 13:25 yufan1102 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 每个点肯定是它上个点转移过来的 #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 阅读全文
posted @ 2023-12-24 13:23 yufan1102 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 这个题目的体积很大,但是价值却很小,最多是1e5,我们可以转变背包体积概念,把价值当作体积,然后体积当作 DP 值。 dp[i] 表示的是达到i价值所需的最小的体积 #include<bits/stdc++.h> #define int long long using namespace std; 阅读全文
posted @ 2023-12-24 13:20 yufan1102 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 用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; 阅读全文
posted @ 2023-12-24 13:11 yufan1102 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 因为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 阅读全文
posted @ 2023-12-24 13:08 yufan1102 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 很好想的线性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<= 阅读全文
posted @ 2023-12-24 13:06 yufan1102 阅读(3) 评论(0) 推荐(0) 编辑
摘要: A. Rating Increase 字符串处理 #include<bits/stdc++.h> using namespace std; void solve(){ string s; cin>>s; int n=s.size(); s=" "+s; for(int i=1;i<=n-1;i++) 阅读全文
posted @ 2023-12-20 22:04 yufan1102 阅读(20) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页