
动态规划
若渴.
大智不群,大善无帮,何惧孤步,何惧毁谤。
展开
-
Accepted Necklace HDU - 2660
Accepted Necklace HDU - 2660WAwa了两发又双叒叕是因为没读清楚题我裂开AC代码好家伙一手最low的dp竟然过了,我还一直不敢交hhhh#include <bits/stdc++.h>using namespace std;int const N = 2000;int dp[30][N][30];int main() {#ifndef ONLINE_JUDGE freopen("input.txt", "r", stdin);#en原创 2020-12-10 17:47:13 · 113 阅读 · 0 评论 -
932E-TeamWork 二项式定理+求导/DP
题目链接932E题解题意求 ∑i=0n(ni)∗ik.\sum_{i = 0}^{n} \begin{pmatrix} n\\i\\\end{pmatrix} * i^k.∑i=0n(ni)∗ik.思路f(x)=(1+x)n=∑i=0n(ni)∗xif(x) = (1 + x)^n = \sum_{i = 0}^n\begin{pmatrix} n\\i\\\end{pmatrix} * x^if(x)=(1+x)n=i=0∑n(ni)∗xixf′(x)=∑i=0n(ni)∗xi∗ix原创 2020-11-01 18:49:44 · 317 阅读 · 0 评论 -
LeetCode 5545.无矛盾的最佳球员 Best Team With No Conflicts
题目链接LC5545题解题意找出若干球员,其分数之和最大且其中不存在年龄较小球员的分数大于年龄较大球员的分数的情况。思路又到了我们最喜欢的动态规划环节了!构建结构体存储分数和年龄,按分数进行排序,将分数大的放在前面或者按年龄进行排序。后续证明排序的必要性;设 dp[i]=以i结尾且选择i的情况下可获得的最高分数.dp[i] = 以 i 结尾且选择 i 的情况下可获得的最高分数.dp[i]=以i结尾且选择i的情况下可获得的最高分数.可以得到状态转移方程:dp[i]=max(dp[i],sc原创 2020-10-19 15:52:46 · 1953 阅读 · 0 评论 -
LeetCode 91.解码方法
题目链接LC91题解题意求一共有多少种解码方式。思路分类讨论并dp。设 dp[i]=到第i个字符为止,共有多少种解码方式dp[i] = 到第 i 个字符为止,共有多少种解码方式dp[i]=到第i个字符为止,共有多少种解码方式 。若第i个字符可以和第i-1个字符组合,则 dp[i]=dp[i−1]+dp[i−2]dp[i] = dp[i - 1] + dp[i - 2]dp[i]=dp[i−1]+dp[i−2]否则 dp[i]=dp[i−1]dp[i] = dp[i-1]dp[i]=dp原创 2020-10-09 19:38:14 · 105 阅读 · 0 评论 -
HDU 4945 2048
题目链接HDU4945题解题意给出若干个数字,从其中挑出两个相同的数字则可进行合并,合并后产生值为二者之和的新数字且原有两数字消失。求能够凑出2048的集合的数量。思路动态规划。我们规定:有效数字为有能力对凑出2048有贡献的数字。要凑出2048,则有效数字只能从 2i2^i2i 中进行选择。设 use[i][j]=从2i中挑选j个的方法的数量use[i][j] = 从2^i中挑选j个的方法的数量use[i][j]=从2i中挑选j个的方法的数量,dp[i][j]=凑出数字k属原创 2020-10-07 21:02:30 · 133 阅读 · 0 评论 -
2019 CCPC 秦皇岛 Invoker
题目链接Invoker题解题意给出十个技能,每个技能需要有三个元素才能释放,其中三个元素可以任意排列。玩家手中最多存储三个元素,若想获取新的元素则需要放掉最开始的时候获得的元素,释放某个技能需要使用一个R和三个对应的元素。假定玩家拥有无限个R且R不占位置。给出一个技能数组,求所需最少的元素数量。思路动态规划!每个技能有三个元素,三个元素可以构成六个排列,利用这六个排列进行动态规划,找到所需最少的元素数量后加上每次释放技能时要用的R,即为所求。注意该题多组输入。AC代码#include&原创 2020-09-30 16:56:05 · 161 阅读 · 0 评论