【算法竞赛】动态规划DP
【算法竞赛】动态规划DP
Mr.zwX
2019年进入电子科技大学接触计算机(方向涉及:机器学习/深度学习(CV、NLP、GNN)、时空数据挖掘、一点点开发(部分后端/前端)),2022年在电子科技大学实验室科研,2023年在复旦大学NLP组实习,2023年9月至今,在北京大学人工智能研究院科研(模型加速/压缩、隐私计算)...保持努力,anyway,这个平台是我记录一些乱七八糟计算机笔记的地方,供(记性不好的)自己复习,同时也分享给大家
如需联系:请发邮件至[email protected]
展开
-
最长不下降子序列(LIS)
题目简述在第一行输入一个数nnn表示这个序列的字符数,后面输入这nnn个数。找出最长不下降子序列的长度和这个序列的字符。题解这道LISLISLIS的题目我们选择用动态规划的思路来做,设计一个动态转移方程:dp[i]=max(dp[i],dp[j]+1).dp[i]=max(dp[i],dp[j]+1).dp[i]=max(dp[i],dp[j]+1).这里的dp[j]dp[j]dp[j]是前面的状态,如果在满足的条件之下,dp[j]+1dp[j]+1dp[j]+1更大,则最大长度取这个值。经历时间复原创 2020-05-24 17:21:54 · 289 阅读 · 0 评论 -
P1439_最长公共子序列的一般解法
题意给出两个序列X和Y,找出X和Y的最大公共子序列长度input:abcdfbc abfcab output:4input:programming contest output:2input:abcd mnpoutput:0题解用dp算法找出最大公共子序列的长度maxlen#include<bits/stdc++.h>using namespace std;const int N = 1001;char s1[N],s2[N];int maxlen[N][N];i原创 2020-05-21 00:05:21 · 129 阅读 · 0 评论 -
luogu_P1216 [USACO1.5][IOI1994] Number Triangles
题目描述传送门题解这是一道经典的动态规划入门题目,列出状态转移方程是至关重要的!dp(i,j)=max(dp(i−1,j),dp(i−1,j−1))+a(i,j).dp(i,j) = max(dp(i-1,j),dp(i-1,j-1))+a(i,j).dp(i,j)=max(dp(i−1,j),dp(i−1,j−1))+a(i,j).dp[i][j]=max(dp[i−1][j],dp[i−1][j−1])+a[i][j].dp[i][j] = max(dp[i-1][j],dp[i-1][j-原创 2020-05-20 23:10:39 · 168 阅读 · 0 评论