
DP
nirvana · rebirth
NIRVANA & REBIRTH
展开
-
LeetCode——354.俄罗斯套娃信封问题(困难)【LIS & 二分】
题解w按照升序排序之后,对于h求LIS即可注意排序时,w相同的,要按照h降序排序。这样可以防止w相同,求h的lis出现违法情况class Solution {public: int maxEnvelopes(vector<vector<int>>& envelopes) { sort(envelopes.begin(), envelope...原创 2020-03-21 15:56:20 · 402 阅读 · 1 评论 -
LeetCode——10.正则表达式匹配(困难)【DP】
题解定义dp[i][j]:s[0,i−1]和p[0,j−1]是否匹配dp[i][j]:s[0,i-1]和p[0,j-1]是否匹配dp[i][j]:s[0,i−1]和p[0,j−1]是否匹配初值dp[0][0]=truedp[0][0]=truedp[0][0]=true只需要注意∗*∗的判断不匹配的时候dp[i][j]=dp[i][j−2]dp[i][j]=dp[i][j-2]dp[i][j]=dp[i][j−2],把∗*∗和∗*∗之前的字符拿掉,看是否匹配匹配的时候,由于可能匹配很多个,然..原创 2021-05-22 13:11:02 · 294 阅读 · 1 评论 -
最长上升子序列【nlogn+路径输出】
#include <iostream>#include <algorithm>#include <functional>#include <string.h>using namespace std;typedef long long ll;const int maxn = 1e5 + 7;int dp[maxn];int pos[maxn]; // 记录每个数在dp数组里出现的位置。唯一int ans[maxn];int arr[max原创 2021-05-09 14:41:43 · 573 阅读 · 0 评论 -
“科林明伦杯”哈尔滨理工大学第十届程序设计竞赛——A.点对最大值【换根DP】
题目传送门题解比较简单的换根DP,很容易想到。我们可以维护 dp[i]:dp[i]:dp[i]: 以i为根的子树中最长的链(不包括节点i的值)。对于任意结点 uuu ,我们需要子树中 最长的链mmx 和 次大的链mx那么我们可以每次处理完节点 uuu 的子树后,更新 ans=mmx+mx+dp[u]ans = mmx + mx + dp[u]ans=mmx+mx+dp[u],然后更新 dp[u]=mmxdp[u]=mmxdp[u]=mmx。由于避免 dp[i]dp[i]dp[i] 所表示原创 2020-06-02 00:55:25 · 386 阅读 · 0 评论 -
LeetCode——1143.最长公共子序列【LCS & 标准代码、空间压缩】
题解标准的LCS,两套代码,一套标准LCS,一套空间压缩标准代码可以直接通过b数组逆推路径AC-Code标准LCSclass Solution {public: int longestCommonSubsequence(string text1, string text2) { int len1 = text1.length(); int len2 = text...原创 2020-04-04 18:52:57 · 391 阅读 · 0 评论 -
2020牛客寒假算法基础集训营5.F——碎碎念【DP & 前缀和】
题目传送门题目描述在ACM比赛里,除了CE以外都是有效的提交。每一个提交都会有其评测的结果,或是AC,或是RJ(Rejected,包含各种不通过的情况)。往往一个人上去提交的时候,总有一个队友会坐在边上等着结果。那个人,往往都是只读题不写题的云选手~牛牛战队里也有这样的云选手——牛能。当牛能看到有效提交得到了AC以后,都会大呼一声“你好能啊!”,反之,如果得到了RJ的话,就会化身为喷子,说...原创 2020-02-14 12:21:17 · 307 阅读 · 0 评论 -
2020牛客寒假算法基础集训营3——J.牛牛的宝可梦Go【最短路 & DP(01背包) & 复杂度优化】(附优化分析)
题目传送门题目描述牛牛所在的W市是一个不太大的城市,城市有n个路口以及m条公路,这些双向连通的公路长度均为1,保证你可以从一个城市直接或者间接移动到所有的城市。牛牛在玩宝可梦Go,众所周知呢,这个游戏需要到城市的各个地方去抓宝可梦,假设现在牛牛知道了接下来将会刷出k只宝可梦,他还知道每只宝可梦的刷新时刻、地点以及该宝可梦的战斗力,如果在宝可梦刷新时,牛牛恰好在那个路口,他就一定能够抓住那只宝...原创 2020-02-10 15:41:53 · 886 阅读 · 0 评论 -
2020牛客寒假算法基础集训营3——E.牛牛的随机数【数位DP】(待补)
题目传送门题目描述牛牛和牛可乐是一对好朋友,现在牛牛从值域[l1,r1]中随机给出一个数字a,牛可乐从值域[l2,r2]中随机给出一个数字b。问你a⊕ba\oplus ba⊕b的数学期望。其中⊕\oplus⊕为位运算符,表示按位取异或。为了避免你输出的答案出现精度误差,请你输出一个分数P∗Q−1(mod 109+7)P*Q^{-1}(mod\,\, 10^9+7)P∗Q−1(mod109...原创 2020-02-10 12:08:42 · 436 阅读 · 0 评论 -
HDU 2089——不要62【数位DP】
题目传送门Problem Description杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:62315 73418 88914都属于不吉利号码。但是,61152虽然含有...转载 2020-02-10 10:45:04 · 378 阅读 · 0 评论 -
2020牛客寒假算法基础集训营3——A.牛牛的DRB迷宫I【DP】
题目传送门题目描述牛牛有一个n*m的迷宫,对于迷宫中的每个格子都为’R’,‘D’,'B’三种类型之一,'R’表示处于当前的格子时只能往右边走’D’表示处于当前的格子时只能往下边走,而’B’表示向右向下均可以走。我们认为迷宫最左上角的坐标为(1,1),迷宫右下角的坐标为(n,m),除了每个格子有向右移动以及向下移动的限制之外,你也不能够走出迷宫的边界。牛牛现在想要知道从左上角走到右下角不同...原创 2020-02-08 22:05:41 · 617 阅读 · 0 评论 -
2020牛客寒假算法基础集训营2——H.施魔法【DP】
题目传送门题目描述牛可乐有 n 个元素( 编号 1…n ),第 i 个元素的能量值为 aia_iai 。牛可乐可以选择至少k 个元素来施放一次魔法,魔法消耗的魔力是这些元素能量值的极差。形式化地,若所用元素编号集合为 S,则消耗的魔力为 maxi∈S{ai}−mini∈S{ai}\max_{i\in S}\{a_i\}-\min_{i\in S}\{a_i\}maxi∈S{ai}...原创 2020-02-06 23:57:02 · 745 阅读 · 4 评论 -
2020牛客寒假算法基础集训营2——C.算概率【DP】
题目传送门题目描述牛牛刚刚考完了期末,尽管 牛牛 做答了所有 n\text{}nn 道题目,但他不知道有多少题是正确的。不过,牛牛 知道第 i\text{}ii 道题的正确率是 pip_ipi 。牛牛 想知道这 nnn 题里恰好有 0,1,…,n0,1,\dots,n0,1,…,n 题正确的概率分别是多少,对 109+710^9+7109+7 取模。对 109+710^9+7109+...原创 2020-02-06 18:48:38 · 419 阅读 · 0 评论 -
2020牛客寒假算法基础集训营1——F.maki和tree【树形DP & 树上DFS】
题目传送门题目描述有一天,maki拿到了一颗树。所谓树,即没有自环、重边和回路的无向连通图。这个树有 nnn 个顶点,n−1n-1n−1 条边。每个顶点被染成了白色或者黑色。maki想知道,取两个不同的点,它们的简单路径上有且仅有一个黑色点的取法有多少?注:①树上两点简单路径指连接两点的最短路。② <p,q><p,q><p,q> 和 <q...原创 2020-02-05 16:48:43 · 564 阅读 · 0 评论 -
2020牛客寒假算法基础集训营1——I.nico和niconiconi【DP】
题目传送门题目描述“にっこにっこにー” ——niconico平时最喜欢说的口头禅是niconiconi~。有一天nico在逛著名弹幕网站"niconico"的时候惊异的发现,n站上居然有很多她的鬼畜视频。其中有一个名为《让nico为你洗脑》的视频吸引了她的注意。她点进去一看,就被洗脑了:"niconicoh0niconico∗vvniconicoG(vniconiconic...原创 2020-02-04 21:20:02 · 441 阅读 · 0 评论 -
Problem I. Omar Loves Candies【DP】
题意在一个N * M的格子中,放有一些糖,这些糖有的会损害健康,有的对健康有益。有损害的被记为负数,有益的会记为正数。另外,对于每一个糖而言,他都比左边的糖和上面的糖更健康。现在我要在在N*M这个矩阵中找到一个子矩阵,使得所有糖的有益值加起来最大。题解题目很简单,为了方便,逆序输入,使得左上角变为更优糖果预处理一下,得到任意趋于左上方向的行、列之和。(简单来说就是某...原创 2020-02-02 18:27:51 · 357 阅读 · 0 评论 -
Problem C. Increasing Shortest Path【贪心 & 最短路->DP】
题意给一个图,nnn 个点 mmm 条边,qqq 次询问,求从 iii 到 jjj 的走过条数不超过 ccc 的最短路的长度,走路的时候过的边的长度必须是不减的数据范围:150150150 点,300030003000 边,100010001000 次询问,时间要求 303030 秒题解定义 dp[i][j][k]dp[i][j][k]dp[i][j][k] 为从 i...原创 2020-02-02 18:00:32 · 271 阅读 · 0 评论 -
HRBUST 1038——菜鸟和大牛【简单递推】
哈理工OJ—1038 【菜鸟和大牛】N行 2N-1列动态规划Descriptionblue和AutoGerk是好朋友。他们的相同点是都喜欢研究算法,不同点是AutoGerk已是大牛而blue还是菜鸟。blue经常拿一些自以为很难的问题去问AutoGerk,想难倒他,但是每次AutoGerk都能轻而易举地做出来。就在上个礼拜的星期天下午,AutoGerk正在玩游戏,blue又拿着他的问题来了...原创 2018-11-01 22:45:18 · 724 阅读 · 0 评论 -
POJ 1185——炮兵阵地【状压DP & 空间预处理优化】
题目传送门Description司令部的将军们打算在N * M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平原(用"P"表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示:如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色...原创 2019-12-18 00:53:34 · 304 阅读 · 0 评论 -
洛谷 P2622——关灯问题II【状压DP】
题目传送门题目描述现有n盏灯,以及m个按钮。每个按钮可以同时控制这n盏灯——按下了第i个按钮,对于所有的灯都有一个效果。按下i按钮对于第j盏灯,是下面3中效果之一:如果a[i][j]为1,那么当这盏灯开了的时候,把它关上,否则不管;如果为-1的话,如果这盏灯是关的,那么把它打开,否则也不管;如果是0,无论这灯是否开,都不管。现在这些灯都是开的,给出所有开关对所有灯的控制效果,求问最少要按几...原创 2019-12-17 15:12:27 · 279 阅读 · 0 评论 -
洛谷 P1879——[USACO06NOV]玉米田Corn Fields【状压DP】
题目传送门题目描述Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ≤ 12) square parcels. He wants to grow some yummy corn for the cows on a number of squares. R...原创 2019-12-17 13:39:04 · 310 阅读 · 0 评论 -
AcWing 91——最短Hamilton路径【状压DP】
题目传送门题目描述给定一张 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]=...原创 2019-12-16 23:30:15 · 275 阅读 · 0 评论 -
HDU 2044——一只小蜜蜂...【递推】
添加链接描述Problem Description有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。其中,蜂房的结构如下所示。Input输入数据的第一行是一个整数N,表示测试实例的个数,然后是N 行数据,每行包含两个整数a和b(0<a<b<50)。Output对于每个测试实例,请输出蜜蜂从蜂房a爬到蜂房b...原创 2019-11-27 23:49:53 · 305 阅读 · 0 评论 -
HDU 2018——母牛的故事【递推】
添加链接描述Problem Description有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?Input输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。n=0表示输入数据的结束,不做处理。Output对于每个测试实例,输出在第n...原创 2019-11-27 23:42:15 · 282 阅读 · 0 评论 -
HDU 2084——数塔【简单递推】
题目传送门Problem Description在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的:有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?已经告诉你了,这是个DP的题目,你能AC吗?Input输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N <= 1...原创 2019-11-27 23:06:57 · 252 阅读 · 0 评论 -
动态规划DP【持续更新】
动态规划 动态规划(英语:Dynamic programming,简称DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 动态规划常常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时间往往远少于朴素解法。 动态规划背后的基本思想非常简单。大致上,若要解一个给定问题,我们需要解其不同部分(即子问题...原创 2019-11-24 23:57:32 · 673 阅读 · 0 评论 -
POJ 2486——Apple Tree【树形DP】
题目传送门DescriptionWshxzt is a lovely girl. She likes apple very much. One day HX takes her to an apple tree. There are N nodes in the tree. Each node has an amount of apples. Wshxzt starts her happy ...原创 2019-11-18 23:34:48 · 252 阅读 · 0 评论 -
HDU 4003——Find Metal Mineral【树形DP & 类树形背包变形】
题目传送门Problem DescriptionHumans have discovered a kind of new metal mineral on Mars which are distributed in point‐like with paths connecting each of them which formed a tree. Now Humans launches k ...原创 2019-11-18 19:56:01 · 467 阅读 · 0 评论 -
HDU 1561——The more, The Better【树形背包 & 构建虚结点】
题目传送门Problem DescriptionACboy很喜欢玩一种战略游戏,在一个地图上,有N座城堡,每座城堡都有一定的宝物,在每次游戏中ACboy允许攻克M个城堡并获得里面的宝物。但由于地理位置原因,有些城堡不能直接攻克,要攻克这些城堡必须先攻克其他某一个特定的城堡。你能帮ACboy算出要获得尽量多的宝物应该攻克哪M个城堡吗?Input每个测试实例首先包括2个整数,N,M.(1 ...原创 2019-11-18 00:46:44 · 191 阅读 · 0 评论 -
POJ 1947——Rebuilding Roads【树形背包】
题目传送门DescriptionThe cows have reconstructed Farmer John’s farm, with its N barns (1 <= N <= 150, number 1…N) after the terrible earthquake last May. The cows didn’t have time to rebuild any e...原创 2019-11-18 00:37:28 · 509 阅读 · 0 评论 -
HDU 1011——Starship Troopers【树形背包】
添加链接描述Problem DescriptionYou, the leader of Starship Troopers, are sent to destroy a base of the bugs. The base is built underground. It is actually a huge cavern, which consists of many rooms conn...原创 2019-11-18 00:28:17 · 243 阅读 · 0 评论 -
POJ 1155 ——TETE【树形背包】
题目传送门DescriptionA TV-network plans to broadcast an important football match. Their network of transmitters and users can be represented as a tree. The root of the tree is a transmitter that emits t...原创 2019-11-18 00:00:00 · 220 阅读 · 0 评论 -
POJ 3140——Contestants Division【树形DP & 删边 & 点权树 & 树重心变形】
题目传送门DescriptionIn the new ACM-ICPC Regional Contest, a special monitoring and submitting system will be set up, and students will be able to compete at their own universities. However there’s one ...原创 2019-11-16 11:23:13 · 317 阅读 · 0 评论 -
POJ 2378——Tree Cutting【树形DP & 删边 & 树重心】
题目传送门DescriptionAfter Farmer John realized that Bessie had installed a “tree-shaped” network among his N (1 <= N <= 10,000) barns at an incredible cost, he sued Bessie to mitigate his losses....原创 2019-11-16 11:11:35 · 386 阅读 · 0 评论 -
POJ 3107——Godfather【树状DP & 树的重心】
题目传送门DescriptionLast years Chicago was full of gangster fights and strange murders. The chief of the police got really tired of all these crimes, and decided to arrest the mafia leaders.Unfortunat...原创 2019-11-16 00:04:43 · 406 阅读 · 0 评论 -
POJ 1741——Tree【树形DP & 点分树】
题目传送门DescriptionGive a tree with n vertices,each edge has a length(positive integer less than 1001).Define dist(u,v)=The min distance between node u and v.Give an integer k,for every pair (u,v) o...原创 2019-11-15 19:44:26 · 288 阅读 · 0 评论 -
POJ 1655——Balancing Act【树形DP & 树的重心】
题目传送门DescriptionConsider a tree T with N (1 <= N <= 20,000) nodes numbered 1…N. Deleting any node from the tree yields a forest: a collection of one or more trees. Define the balance of a nod...原创 2019-11-14 20:52:17 · 248 阅读 · 1 评论 -
HDU 4745——Two Rabbits【区间DP & 最长回文子序列】
题目传送门Problem DescriptionLong long ago, there lived two rabbits Tom and Jerry in the forest. On a sunny afternoon, they planned to play a game with some stones. There were n stones on the ground and...原创 2019-11-11 00:43:09 · 392 阅读 · 0 评论 -
POJ 1651——Multiplication Puzzle【区间DP & 记忆化搜索】
题目传送门DescriptionThe multiplication puzzle is played with a row of cards, each containing a single positive integer. During the move player takes one card out of the row and scores the number of poi...原创 2019-11-10 11:44:05 · 218 阅读 · 0 评论 -
HDU 2196——Computer【树形DP】
题目传送门Problem DescriptionA school bought the first computer some time ago(so this computer’s id is 1). During the recent years the school bought N-1 new computers. Each new computer was connected to...原创 2019-11-05 00:42:39 · 302 阅读 · 0 评论 -
HDU 1520——Anniversary party【树形DP】
题目传送门Problem DescriptionThere is going to be a party to celebrate the 80-th Anniversary of the Ural State University. The University has a hierarchical structure of employees. It means that the sup...原创 2019-11-04 22:09:58 · 214 阅读 · 0 评论