动态规划
Bug原产地
这个作者很懒,什么都没留下…
展开
-
牛客团队假日赛——分组( DP )
题目链接解题报告:自己也是看题解补出来的,当时没想到 dp 求解。dp[i]=max(dp[i−1],dp[i−j]+j∗MAX),其中MAX=max(a[i−0],a[i−1],.....,a[i−j+1])dp[i] = max(dp[i-1],dp[i-j]+j*MAX),其中MAX=max(a[i-0],a[i-1],.....,a[i-j+1])dp[i]=max(dp[i−1],dp[i−j]+j∗MAX),其中MAX=max(a[i−0],a[i−1],.....,a[i−j+1])原创 2020-09-15 15:16:46 · 189 阅读 · 0 评论 -
Comet OJ - Contest #8 C-符文能量 (dp)
题目链接解题报告:注意到精炼操作后所释放的能量与合并顺序无关,关键在于如何选取精炼区间。定义三种状态:dp[i][0]: 表示还未选择dp[i][1]: 表示正在选择dp[i][2]: 表示已经选择完成状态转移方程: 见代码#define first f#define second s#define ll long long#define pb push_back#define pii pair<ll,ll>#define sl(p) strlen(p)#defin原创 2020-05-21 16:32:29 · 131 阅读 · 0 评论 -
牛客算法周周练2 B.Music Problem ( 动态规划 )
题目链接大致题意:给你n个数,问你能否从中选出某些数使得它们的和是3600的倍数。解题报告:每读入一个数,维护之前所有数的组合和。O(T*3600*n) 玄#define first f#define second s#define ll long long#define mp make_pair#define pb push_back#define pf push_fron...原创 2020-04-16 17:06:46 · 243 阅读 · 0 评论 -
牛客练习赛56 C ( 动规 + 树状数组 )
题目链接:#define first f#define second s#define ll long long#define mp make_pair#define pb push_back#define pf push_front#define lb lower_bound#define ub upper_bound#include <bits/stdc++.h>...原创 2020-03-26 13:02:48 · 106 阅读 · 0 评论 -
TaoTao要吃鸡(01背包)
题目戳我思路:当h=0时直接套01背包即可。当h!=0时能卡BUG,我们假设第k个武器是卡bug放进去的,那么我们只需用01背包求出承受m+h-1重量时的最大价值,那么此后的最大价值为dp[m+h-1]+第k个价值,故只需1~n枚举武器。#define first f#define second s#define ll long long#define mp make_pair#d...原创 2020-02-12 13:12:56 · 99 阅读 · 0 评论