左神第七讲-代码C++实现(后四道题)
来源:互联网 发布:淘宝开店信用卡套现 编辑:程序博客网 时间:2024/05/18 22:54
声明:博主是在看了左神讲解之后写的代码,主要目的是为了自己复习巩固,同时将左神的辛苦汗水和宝贵思路发扬出去,哇哈哈哈哈哈。
明天再写喽
1、小易喜欢的数列(网易2018内推题)
小易非常喜欢拥有以下性质的数列:
1、数列的长度为n
2、数列中的每个数都在1到k之间(包括1和k)
3、对于位置相邻的两个数A和B(A在B前),都满足(A <= B)或(A mod B != 0)(满足其一即可)
例如,当n = 4, k = 7
那么{1,7,7,2},它的长度是4,所有数字也在1到7范围内,并且满足第三条性质,所以小易是喜欢这个数列的
但是小易不喜欢{4,4,4,2}这个数列。小易给出n和k,希望你能帮他求出有多少个是他会喜欢的数列。
输入描述:
输入包括两个整数n和k(1 ≤ n ≤ 10, 1 ≤ k ≤ 10^5)
输出描述:
输出一个整数,即满足要求的数列个数,因为答案可能很大,输出对1,000,000,007取模的结果。
输入例子1:
2 2
输出例子1:
3
这是属于一大类题目:
(1)先写出递归程序,这一步是最难的,需要将问题抽象成一个子问题,想象程序是按照某个步骤重复的递归实现的。暴力递归的训练需要大量的刷题。(重重之重)
(2)在递归函数中,有的参数是不变量,有的参数是变的,变的参数可以设置成动态规划的某一维,寻找传入参数与递归式的位置依赖关系,写出动态规划版本。
首先找到边界条件或者初始条件(不依赖其他位置),然后寻找普通情况下的依赖关系,动态规划可能是依赖几项,或者某一排,或者别的,选择较好的方式循环操作。
(3)笔试时,内存超限,考虑动态规划压缩,这里需要注意新旧值覆盖问题,选择的某一列数组,要有合适的循环顺序,先更改不被依赖的位置的值(比如leetcode杨辉三角),还有啥四边形不等式(冷门),我并不知道咋做。
2 地主分金条
阅读全文
0 0
- 左神第七讲-代码C++实现(后四道题)
- 读书笔记(第七讲)
- C语言学习第七讲--输入输出
- 第七讲:Obj-C 协议 Protocol
- Objective-C第七讲-分类与协议
- C语言第七讲(Struct结构体)
- C语言学习之关键字第七讲
- 第七讲(附小文件)
- 《算法精讲:C语言描述》-单链表实现代码
- 第七讲
- 第七讲
- 第七讲
- 第七讲
- 第七讲
- 【C大事】第七讲:自己动手写记事本及打开对话框的使用(上)
- 【C大事】第七讲:打开文件对话框及播放音乐(下)
- 第七讲 窗口工具(二)
- 第七讲:用户界面 View(三)
- ARM Cortex-M4-Part4_内核流水线和总线介绍
- Trie树详解
- 关于对ListView getView完成的监听
- Ajax基础之封装3
- 多媒体
- 左神第七讲-代码C++实现(后四道题)
- 【安卓学习笔记】JAVA基础Lesson10-抽象类和抽象函数
- React Native 之 网络请求 fetch
- Bootstrap组件学习笔记(六)——页头、缩略图和警告框
- 数据库优化
- Spring Cloud
- 写程序的一点感受
- PAT--1019. General Palindromic Number
- windows下忘记mysql的root用户密码,重置