使用一维数组来存储以每个数字结尾的可以允许的最长接龙数列的长度,细节写到代码注释了 摘要:解题思路:注意事项:参考代码: Scanner sc = new Scanner(System.in); int n = sc.nextInt(); &nb 题解列表 2024年01月23日 0 点赞 0 评论 1005 浏览 评分:10.0
简单dp,用数组存放个位数和最大位数,类似与最大上升子序列,dp[i]表示以i为结尾的最长子序列,答案即为n-最大dp[i], 摘要:解题思路:注意事项:#include <bits/stdc++.h> #define int long longusing namespace std;const int N=100010;int a…… 题解列表 2024年01月22日 0 点赞 0 评论 405 浏览 评分:7.3
动态规划-接龙数列.java 摘要:解题思路:逆向思维求删除最少的个数使其成为接龙序列,转换成序列的长度减去最长的接龙序列,这道题我用的是动态规划, dp[d]表示以d结尾的最长子序列 d[i] 的高位是x,低位是y的话dp…… 题解列表 2023年12月01日 0 点赞 0 评论 326 浏览 评分:0.0
[蓝桥杯2023年第十四届省赛真题-接龙数列] 类最长上升子序列dp做法 摘要:解题思路: 可以先求最长可以组成的序列,相减就是最少删除了。参考代码:#include <bits/stdc++.h>using namespace std;const int N = 100010;…… 题解列表 2023年11月10日 0 点赞 0 评论 526 浏览 评分:8.0
3152: 蓝桥杯2023年第十四届省赛真题-接龙数列 摘要:解题思路: 动态规划 用字符串来存,然后x是第一位,y是最后一位(比如22314 x=2 y=4) dp[y]表示以y数字为结尾的最长数列 每次当前放或者不放取最优的状态,…… 题解列表 2023年08月20日 0 点赞 0 评论 1204 浏览 评分:8.8
dp + 滚动数组思想 摘要:解题思路:dp[i][j]代表选到第i个时,要使此时结尾位为j,需要删除的个数。如果j≠num[i]的末尾,那么只能删除第i个数,此时dp[i][j] = dp[i - 1][j] + 1;否则,就有…… 题解列表 2023年04月16日 0 点赞 1 评论 1182 浏览 评分:9.2
极简 线性DP 摘要:## 试题E: 接龙数列 ### 题意描述 对于一个长度为K 的整数数列:$A_1,A_2..A_K$,我们称之为接龙数列当且仅当$A_i$ 的首位数字恰好等于$A_{i−1}$ 的末位数…… 题解列表 2023年04月10日 0 点赞 7 评论 3142 浏览 评分:9.3
线性dp(感觉就是个桶) 摘要:#include using namespace std; #define int long long const int N=1e5+1; int a[N],b[N]; int f[N];…… 题解列表 2023年04月10日 0 点赞 0 评论 617 浏览 评分:2.2
蓝桥杯2023年第十四届省赛真题-接龙数列(DP) 摘要:# ***解题思路*** 定义:$$f[i][j]$$表示前i个数以j结尾的最长接龙数列的长度 状态转移方程: $$ f[i][b] = max(f[i][b], f[i - 1][a] …… 题解列表 2023年04月09日 0 点赞 2 评论 1750 浏览 评分:8.9