自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一只老风铃

我要去吃饭了

  • 博客(8)
  • 资源 (2)
  • 收藏
  • 关注

原创 快速矩阵幂与斐波那契第n项

题目描述给出一个整数 n,请输出斐波那契数列的第 n 项对 1e9 + 7 取模的值。容易知道斐波那契数列前几项为 1 1 2 3 5 8 13…满足f[n]=f[n-1]+f[n-2]那么f(n) = f(n-1) + f(n-2)f(n-1) = f(n-1) 矩阵:[ f(n) ] = [ 1*f(n-1) + 1*f(n-2) ] = [ 1 1 ] * [ f(n-1) ][ f(n-1) ] [ 1*f(n-1) + 0*f(n-2) ] [

2021-01-29 11:44:26 22

原创 二叉树中最大搜索子树和最大搜索子结构

最大的搜索子树输入描述:第一行输入两个整数 n 和 root,n 表示二叉树的总节点个数,root 表示二叉树的根节点。以下 n 行每行三个整数 fa,lch,rch,表示 fa 的左儿子为 lch,右儿子为 rch。(如果 lch 为 0 则表示 fa 没有左儿子,rch同理)ps:节点的编号就是节点的值。输入3 22 1 31 0 03 0 0输出3基本思路研究root开头的子树是否满足二叉搜索树,满足那么直接返回root的大小否则开始研究root的左右孩子所在子树。

2021-01-26 16:31:46 33

原创 二叉树的最近公共祖先

二叉树的最近公共祖先若为传统的tree_node求解问题*基本思路:采取DFS方式,对于当前节点,研究是否为目标节点的一个。然后根据递归子问题的返回,若其中一个子树返回2,那么说明问题已经在子树中解决,否则,计算子树返回的数目+当前节点是否为目标点的数目。最后返回若为多组目标点求解问题基本思路:首先通过DFS建立每个节点=》节点level深度的映射。同时建立每个节点=》父亲节点的映射。(物理存储可能采取map或者数组方式)然后LCA算法过程,首先研究两个点是否在同一Level。如果不

2021-01-22 10:50:51 25

原创 位运算实现算术运算

实现加法数在计算机中为补码表示,具体体现为正数为原码,负数为原码取反+1对于num1 num2 其各位值按位或求得加法后的值 即 1|1=0 1|0=1 0|1=1 0|0=0进位值按位与求得加法后的进位,之后再左移一位最后结束循环的过程为不再拥有进位int add(int num1,int num2){ while(num1!=0) //存在进位 { int temp=num2; num2=num2^num1;//作异或运算

2021-01-15 15:10:07 38

原创 前缀树实现最大异或子数组

问题描述数组异或和的定义:把数组中所有的数异或起来得到的值。给定一个整型数组arr,其中可能有正、有负,有零,求其中子数组的最大异或和。输入43 -28 -29 2输出7说明{-28,-29}这个子数组的异或和为7,是所有子数组中最大的思路对于求子数组问题,通常采取动态规划dp[i]=k表示前i项的异或值那么对于其中的【i=>j】其异或值为dp[j]与dp[i-1]的“异或值做除法"本题思路是维护一个前缀数组,即字典树形式计算XOR[]表示前i项的异或值,那么对

2021-01-15 11:19:38 20

原创 分割回文

字符串分割最少分割最少分割问题描述给定一个字符串,返回把str全部切割成回文串的最少切割数。输入输出输入:ABCBAEEE输出:1分割一次ABCBA与EEE常规思路dp[i][j]=k表示从i=>j部分最少分割,那么最终所求为dp[0][len-1]求解过程为区间长度从2=》len 即先求解小区间问题。每一次求解过程将原区间分为两部分 左右最小分割数之和的最小值即为所求(若区间本身为回文串=》dp=0)时间复杂度为O(N3) 复杂度较高优化思路dp[i]=k表示

2021-01-12 18:02:40 22

原创 表达式求值-递归解法

文章目录给定一个字符串str,str表示一个公式,公式里可以有整数,加减乘除和左右括号,返回公式的计算结果(注意:题目中所有运算都是整型运算,向下取整,且保证数据合法,不会出现除0等情况)。输入48*((70-65)-43)+8*1输出-1816传统思路一般而言,表达式求值,先将中缀表达式转化为后缀表达式=》进一步进行求解本题采取,递归思路cal(string s,int k)表示从串s的第k个往后计算一个单位这里一个最小计算单位是,遇到右括号,或者遇到串结尾代码实现pa

2021-01-04 01:39:58 32

原创 构造回文:添加字符

题目描述给定一个字符串str,如果可以在str的任意位置添加字符,请返回在添加字符最少的情况下,让str整体都是回文字符串的一种结果。输入AB输出ABA思路采取动态规划的方式:dp[i][j]表示字符子区间[i=>j]构造成回文最少的添加字符数量那么存在以下的递推关系:如果str[i]==str[j]那么dp[i][j]=dp[i+1][j+1] 即如果区间首尾相等 那么只需要考虑内部即可如果str[i]!=str[j] 那么dp[i][j]=min(dp[i+1]

2021-01-01 02:45:16 100

正则式到最小化DFA

实现了从正则式子到NFA,NFA到DFA,并最小化DFA的过程,

2018-01-05

计算机图形学-Bezier与Bspline曲线,曲面

MIT计算机图形学作业 C++实现,Bezier曲线,Bspline曲线

2018-01-05

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除