DP
文章平均质量分 52
pxlsdz
冲就完了!
展开
-
最大上升子序列和 (数据结构优化DP、离散化)
3662. 最大上升子序列和给定一个长度为 n 的整数序列 a1,a2,…,an。请你选出一个该序列的严格上升子序列,要求所选子序列的各元素之和尽可能大。请问这个最大值是多少?输入格式第一行包含整数 n。第二行包含 n 个整数 a1,a2,…,an。输出格式输出最大的上升子序列和。数据范围对于前三个测试点,1≤n≤4。对于全部测试点,1≤n≤105,1≤ai≤109。输入样例1:2100 40输出样例1:100输入样例2:41 9 7 10输出样例2:20样例解释原创 2021-06-13 10:13:30 · 776 阅读 · 0 评论 -
状压DP dd爱探险(最短Hamilton路径升级版本)
dd爱探险链接:https://ac.nowcoder.com/acm/contest/11211/B来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述星际中有nn个空间站,任意两个空间站间可以相互跳跃,由空间站x跳跃到空间站y所需要的代价为 P[x][y],注意不保证 p[x][y]= p[y][x],dddd可以任意选择出发的空间站,并通过恰好n−1次跳跃把所有空间站跳完,并且d原创 2021-05-30 16:40:47 · 423 阅读 · 0 评论 -
状压DP 最短Hamilton路径
最短Hamilton路径给定一张 n 个点的带权无向图,点从 0∼n−1 标号,求起点 0 到终点 n−1 的最短 Hamilton 路径。Hamilton 路径的定义是从 0 到 n−1 不重不漏地经过每个点恰好一次。输入格式第一行输入整数 n。接下来 n 行每行 n 个整数,其中第 i 行第 j 个整数表示点 i 到 j 的距离(记为 a[i,j])。对于任意的 x,y,z,数据保证 a[x,x]=0,a[x,y]=a[y,x] 并且 a[x,y]+a[y,z]≥a[x,z]。输出格式输原创 2021-05-30 16:05:55 · 440 阅读 · 0 评论 -
状压DP Leetcode 5756. 两个数组最小的异或值之和
给你两个整数数组 nums1 和 nums2 ,它们长度都为 n 。两个数组的 异或值之和 为 (nums1[0] XOR nums2[0]) + (nums1[1] XOR nums2[1]) + … + (nums1[n - 1] XOR nums2[n - 1]) (下标从 0 开始)。比方说,[1,2,3] 和 [3,2,1] 的 异或值之和 等于 (1 XOR 3) + (2 XOR 2) + (3 XOR 1) = 2 + 0 + 2 = 4 。请你将 nums2 中的元素重新排列,使得原创 2021-05-30 13:19:39 · 208 阅读 · 0 评论 -
DP回顾——背包问题
背包问题N 件物品放入容量为 V 的背包,求最大的价值。常见的背包问题分为:01背包问题,完全背包问题其中核心的问题还是 01背包问题,其余的背包问题都是基于01背包的变形。AcWing 2. 01背包问题有 N件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每原创 2020-12-02 14:58:14 · 1578 阅读 · 0 评论 -
字符串A->字符串B例题 :最短编辑距离、最优包含 (线性DP)
AcWing 902. 最短编辑距离给定两个字符串A和B,现在要将A经过若干操作变为B,可进行的操作有:删除–将字符串A中的某个字符删除。插入–在字符串A的某个位置插入某个字符。替换–将字符串A中的某个字符替换为另一个字符。现在请你求出,将A变为B至少需要进行多少次操作。输入格式第一行包含整数n,表示字符串A的长度。第二行包含一个长度为n的字符串A。第三行包含整数m,表示字符串B的长度。第四行包含一个长度为m的字符串B。字符串中均只包含大写字母。输出格式输出一个整数,表示最少操原创 2020-11-13 20:33:40 · 1395 阅读 · 0 评论 -
1583. PAT 计数 (状态机DP)
字符串 APPAPT 中共包含两个 PAT 作为子串。第一个子串由第二,第四和第六个字符组成,第二个子串由第三,第四和第六个字符组成。现在给定一个字符串,请你求出字符串中包含的 PAT 的数量。输入格式共一行,包含一个由大写字母 P,A,T 构成的字符串。输出格式输出字符串中包含的 PAT 的数量。由于结果可能很大,请你输出对 1000000007 取模后的结果。数据范围给定字符串的长度不超过 105。输入样例:APPAPT输出样例:2题解状态机模型S[] = “APPAPT原创 2020-11-12 10:35:39 · 207 阅读 · 0 评论 -
DP经典问题的python实现
title: DP经典问题的python实现date: 2020-03-26 22:13:26categories: 算法tags: [python, DP]01背包有 N件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分.原创 2020-10-23 09:55:22 · 1100 阅读 · 0 评论 -
复杂DP经典问题的python实现
title: 复杂DP经典问题的python实现date: 2020-05-10 22:13:26categories: 算法tags: [python, DP]整数划分一个正整数nn可以表示成若干个正整数之和,形如:n=n1+n2+…+nkn=n1+n2+…+nk,其中n1≥n2≥…≥nk,k≥1n1≥n2≥…≥nk,k≥1。我们将这样的一种表示称为正整数n的一种划分。现在给定一个正整数n,请你求出n共有多少种不同的划分方法。输入格式共一行,包含一个整数n。输出格式共一行,包含一.原创 2020-10-22 10:44:35 · 457 阅读 · 0 评论