- 博客(5)
- 收藏
- 关注
原创 动态规划-滑雪(记忆化搜索)
动态规划-滑雪题目题解1.暴力搜索(dfs)2.记忆化搜索代码1.暴力搜索(dfs)2.记忆化搜索题目题解1.暴力搜索(dfs)可以通过枚举每个点,将每个点作为dfs的起始点,去搜索一条最长的路径,限制条件就是严格单调下降。注意:对于此题做dfs搜索的时候,是不用标记访问的点数的,因为,限制条件是严格单调下降,每一个点只能被访问一次,不会出现环路的状态 ,并且需要遍历所有的路径,找到最大的长度。2.记忆化搜索在暴力搜索中,需要枚举每一个点,且以每一个点作为起点进行搜索,仔细想一想递归的过程就知
2020-07-22 17:14:15 373
原创 动态规划-把数字翻译成字符串
动态规划-把数字翻译成字符串题目题解代码题目(link.)题解假如用dp[j]表示以j结尾的所有种翻译方法,那它的状态转移条件有两个,1.当第j -1个字符和第j个字符数字之和小于26且第j个字符不为‘0’时,s[j]和s[j-1]的翻译方式有两种,则dp[j] = dp[j - 1] + dp[j - 2]。2.当第j -1个字符和第j个字符数字之和大于等于26或者第j个字符为‘0’时,s[j]和s[j-1]的翻译方式有一种,则dp[j] = dp[j - 1]。算法复杂度:只需要从头到尾遍历
2020-07-21 13:30:09 249
原创 第十一届蓝桥杯省赛-走方格
第十一届蓝桥杯省赛-走方格题目DFS动态规划题目DFS拿到题目很容易想到DFS,但是只能向下走和向右走,并且偶数格不能走。但是数据量大的话会超时,不过比赛的时候可以偷偷打个表。#include <iostream>using namespace std;const int nm = 30 + 10;int g[nm][nm];bool st[nm][nm];int dir[][2] = {{0,1},{1,0}};//只能向右和向下int n,m,cnt;void df
2020-07-19 13:15:28 672
原创 第十一届蓝桥杯省赛-整数拼接
第十一届蓝桥杯省赛-整数拼接题目暴力做法 O(n2)优化做法 O(nlog10(n))题目暴力做法 O(n2)题目意思很清楚,从n个数中任意选两个不重复的数,将其拼接起来,将拼接后的数对K求余,如果余数为零则代表是K的倍数。算法复杂度:从n个数中选2个数就是An2,也就是n*(n-1),很明显是n2的复杂度。整体数据范围是105很明显会超时,但是可以过掉30%的数据,即103范围内的数据。#include <iostream>#include <cmath>using
2020-07-19 12:26:19 3534 9
原创 余数的基本性质
余数的基本性质性质①如果 a%b = c, 则有(a+kb)%b = c; (k为非0整数)②(a+b)%c = ((a%c) + (b%c)) % c;③(ab)%c = ((a%c)(b%c)) % c;定理a≡b(mod m)两个不同的整数a,b对m(不为零)有相同的余数,称两个数对m同余,并且a-b能够被m整除...
2020-07-19 11:32:46 1651
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人