进入题目 思路(代码主体) sum[i]=max(sum[i],sum[j]+m[i]) 代码 #include <iostream> #include <cstdio> #include <vector> using namespace std; int main() { int n,Max=0; ...
分类:
其他好文 时间:
2021-04-19 15:26:22
阅读次数:
0
##题意 求最长上升子序列长度 ##思路 本题直接用dp写,会超时,需要优化 优化办法:二分+dp ##AC代码 //4test n //6 p //4 2 6 3 1 5 ->3 //10 //2 3 4 5 6 7 8 9 10 1 ->9 //8 //8 7 6 5 4 3 2 1 ->1 / ...
分类:
其他好文 时间:
2021-04-19 14:47:09
阅读次数:
0
1.线性DP 2.背包DP 0/1背包中的将二维化为一维,需要倒序遍历,当前状态仅由i-1层状态而来。 现在终于理解了,因为我们将i这一维给去掉了,我们我们遍历i这一层的时候,由大到小遍历,大的(正在更新的)就是我们的第i层,但是前面1~j-1却还保留在了第i-1层上(因为其尚未被遍历更新信息,所以 ...
分类:
其他好文 时间:
2021-04-16 12:06:18
阅读次数:
0
题解:又是dp想不出来的。\(dp_{i, j}\) 代表了,第 \(i\) 位时(从左到右),余数为 \(j\) 的数量。然后发现,状态转移的时候,如果 \(s_i = ?\) 则 \(dp_{i,(j * 10 + k) \% 13} =\sum dp_{i-1, (j * 10 + k) \% ...
分类:
其他好文 时间:
2021-04-16 12:05:43
阅读次数:
0
1.状态定义 dp[i]代表凑齐总价值 i 需要的最少硬币个数; 2.状态转移方程 for(int coin : coins) dp[i] = Math.min(dp[i], dp[i - coin] + 1); 322. 零钱兑换 class Solution { public int coinC ...
分类:
其他好文 时间:
2021-04-16 11:58:54
阅读次数:
0
整理一下求C 的两种方法 题目 题意 这道题主要就是求n组东东的放置方法,约束条件是在任意第i组放完之前,i-1组必须放完,问有多少放置方法 特点 组合数学+简单的DP,解法思路就是在任意放置i组时,除了最后一位一定是i,剩下任意插空放置 一种是用逆元求(适合数值大的适合) int ksm(int ...
分类:
其他好文 时间:
2021-04-14 12:43:08
阅读次数:
0
给你$n$个色块,每个色块两端分别有一种颜色,并且每个色块都有一个权值,你可以将一个色块翻转,例如 $[col1\mid val\mid col2] \to [col2\mid val\mid col1]$,如果两个色块接触的两端颜色相同,就可以称这两个色块为一个序列,一个序列可能由多个色块构成,序... ...
分类:
其他好文 时间:
2021-04-14 11:56:47
阅读次数:
0
http://codeforces.com/contest/1513/problem/C dp $f[i][j]:$表示当前数位上为i(0~9), 加法次数为j最终形成的数位. f[i][j] = f[i - 1][j + 1]; f[9][j] = f[1][j + 1] + f[0][j + 1 ...
分类:
其他好文 时间:
2021-04-13 12:19:52
阅读次数:
0
#coding:utf-8 import xlrd,requests file_name = r"F:\pythonScript\map_dp\data_center\data_config\second_disaster_of_agriculture_and_natural_gas.xls" wo ...
分类:
编程语言 时间:
2021-04-13 11:59:05
阅读次数:
0
给定一个长为n的数组A(n<5*10^5),A[i] (取值范围从 0 到 3)表示在点 i 处的 A[i] 跑道上有一个障碍。如果 A[i] == 0 ,那么点 i 处没有障碍。任何一个点的三条跑道中 最多有一个 障碍。求这只青蛙从点 0 处跑道 2 出发,并想到达点 n 处的 任一跑道 ,请你返 ...
分类:
其他好文 时间:
2021-04-12 12:36:30
阅读次数:
0