![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DP
文章平均质量分 75
KoKona_
FDU研究生在读
研究兴趣:图神经网络、时空序列数据挖掘、大语言模型自然语言处理
欢迎报考我校研究生和我们实验室~
展开
-
复旦大学2020年机试上机题目学习
Problem 2:打地鼠问题描述:问题分析:一道比较简单的dp问题,题目大意中说要将所有的数字从小到大排序,这个用内置的sort函数就可以完成,然后要选择出一个数字子序列,要求任意两个相邻的数之差都不小于给定的d。可以假设dp[i]表示面对d时,前i个数可以选择出几个数使得题目要求的子序列成立。我们要得到的其实就是dp[n]。思考当我们选择第i个数时,是否需要选择它进入新的子序列,于是分为以下两种情况:1、不选择第i个数,那么这i个数的满足要求的子序列个数则为dp[.原创 2022-03-06 22:17:17 · 697 阅读 · 0 评论 -
复旦2021年机试上机题目学习
虽然是半个计算机科班出身,很惭愧地没在大一大二打好C/C++基础,在此前提下,开始看复旦2021年机试上机题目进行学习,若有代码未能准确优化的地方,请各路大佬们一定要积极指出,对我也是莫大的帮助!复旦2021年第二题爬楼梯解释:这是一道比较基础的动态规划问题,我一眼就看出了状态转移方程(啊不是,dp都基本记不得了,真是惭愧,我通过找规律的方式发现了其中的奥妙)当我们尝试走到第k级台阶上的时候,我们有两种方案可以选择:1、从第k-2级台阶选择爬上两步2、从第k-1级台阶选择...原创 2022-02-22 23:22:23 · 1789 阅读 · 3 评论 -
Acwing动态规划区间DP——石子合并
题目:设有N堆石子排成一排,其编号为1,2,3,…,N。每堆石子有一定的质量,可以用一个整数来描述,现在要将这N堆石子合并成为一堆。每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。例如有44堆石子分别为1 3 5 2, 我们可以先合并1、2堆,代价为4,得到4 5 2, 又合并1,2堆,代价为9,得到9 2,再合并得到11,总代价为4+9+11=24;...原创 2022-02-23 23:22:54 · 474 阅读 · 0 评论 -
Acwing动态规划计数DP——整数划分
题目:一个正整数nn可以表示成若干个正整数之和,形如:n=n1+n2+…+nk,其中n1≥n2≥…≥nk,k≥1。我们将这样的一种表示称为正整数nn的一种划分。现在给定一个正整数n,请你求出n共有多少种不同的划分方法。输入格式共一行,包含一个整数n。输出格式共一行,包含一个整数,表示总划分数量。由于答案可能很大,输出结果请对1e9+7 取模。数据范围1≤n≤1000思路详解:这道题主要可以用到完全背包的思想:可以将题意理解为面对一个...原创 2022-02-24 23:45:20 · 662 阅读 · 0 评论