ICode9

精准搜索请尝试: 精确搜索
  • 常系数齐次线性递推2021-05-12 21:35:22

    模板题:传送门 【分析】 不难列出转移矩阵:\(\left( \begin{matrix} a_{n} \\ a_{n-1} \\ a_{n-2} \\ \vdots \\ a_{n-k} \end{matrix} \right)= \left( \begin{matrix} f_1 & f_2 & f_3 & \cdots f_k \\ 1 \\ & 1 \\ && \ddots \\ &&a

  • 2.算法的数学基础: 序列求和, 递推方程, 迭代法求递推方程, 差消法化简高阶递推方程, 递归树, 主定理2021-05-06 11:54:00

    本文内容为北大慕课课程的算法分析与设计的课程讲义, 将其整理为OneNote笔记同时添加了本人上课时的课堂笔记, 且主页中的思维导图就是根据课件内容整理而来, 为了方便大家和自己查看,特将此上传到CSDN博文中, 源文件已经上传到我的资源中,有需要的可以去看看, 我主页中的思维导

  • 递推 字符串2021-05-05 09:30:05

    链接:https://ac.nowcoder.com/acm/contest/11232/B 来源:牛客网 学姐最近喜欢上了编码,尤其是十六进制编码,但是学姐特别挑剔,在学姐眼中,只有逐位递增的编码才是一个优美的编码,比如12,58都是优美的编码,85,22则都不是优美的编码,现在学姐得到了一个编码串,她希望你告诉她该编码串里可

  • 【学习笔记】Berlekamp-Massey算法2021-05-02 12:02:44

    Berlekamp_Massey算法是用来在\(O(n^2)\)时间内求解长度为\(n\)的数列的最短递推式算法。 如果我们已经知道前\(i\)项的递推式\(R,\)它不满足第\(n\)项,我们如何来调整它使得它满足第\(n\)项? 考虑往\(R\)上面加上一个递推式\(F.\) 设\(\Delta_{i}\)表示第\(i\)个递推式在匹配失败位

  • [QBXT游记] Day1 Afternoon2021-05-01 21:04:15

    矩阵相关 基础知识的补充 上来先是讲了讲矩阵的基本知识,这些我在之前写的高斯消元里面的基本都有了,这里再补充一些我之前没记过的 0矩阵,就是指所有元素都为0的矩阵 单位矩阵,记作\(I\),实际上就是一个特殊的对角矩阵,对角线上的元素都为1,实际上在矩阵当中的地位就如数字中的1一样,对

  • 递推优化-矩阵幂乘2021-04-29 10:02:49

    首先我们抛出一个问题,如何快速求出 ? 1.整数幂运算 整数幂运算公式准备:① 同底数幂相乘: ② 幂的乘方: ③ 积的乘方: ④ 同底数幂相除: 上面问题可转化为下图: 设 ,则 对应的二进制为1011要计算 ,即要计算出 根据上面公式有: ,即所以循

  • 决策表(决策树)回归vs回溯2021-04-28 20:32:19

    回归vs回溯 1、基本概念 (1)回归分析是一种数学模型。当因变量和自变量为线性关系时,它是一种特殊的线性模型。 (2)回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法

  • Hanoi问题2021-04-27 17:34:34

    Hanoi 典型的递推问题,递推公式:T(n) = T(n-1) * 2 + 1,其中T(1) = 1。 分三步进行: 伪码 Hanoi(A,C,n) if n == 1 then Move(A,C) else Hanoi(A,B,n-1) Move(A,C) Hanoi(B,C,n-1) 奇怪的汉诺塔 代码 #include<cstdio> #include<iostream> #include<algorithm> #include<cs

  • [分治]浅谈快速排序2021-04-08 21:34:07

    浅谈快速排序 什么是快速排序? 快排每次会选取一个排序基数,将这个序列分为一边是小于这个基数的,另一边是大于这个基数的.当然,你可以决定哪一边是大于或者小于的. 快速排序的期望时间复杂度为 \(O(nlogn)\) , 当然也与数据和所取的 排序基数 \(key\) 有关,对于一些数据,如果 \(

  • 矩阵快速幂的原理和构造技巧2021-04-08 07:32:09

    矩阵和快速幂是两个大家都耳熟能详的概念,我们在学习矩阵快速幂这一概念之前,先稍微复习一下这两个概念。 矩阵乘法 这是矩阵乘法的定义,不难发现,它的大小由前面的行数和后面的列数共同决定,也就是说,矩阵乘法并不符合乘法交换律。这也限制了,如果我们要对一个矩阵反复相乘,这个矩阵应该

  • 用户头像 成长的皮球 数据机构与算法学习(八)- 递归2021-04-06 08:33:18

    递归需要满足三个条件 1. 一个问题的解可以分解为几个子问题的解 2. 这个问题与分解之后的子问题,除了数据规模不同,求解思路完全一致。 3. 存在递归终止条件 如何编写递归代码 最关键的是写出递推公式,找到终止条件,剩下将递推公式转化为代码 假如有n个台阶,每次可以跨1个台阶或者2个

  • 2021-4-5递推(费解的开关)2021-04-05 13:58:49

    题目链接https://www.acwing.com/problem/content/description/97/ 题目要求把所有的0都按成 1 如果按不了则输出 -1 找最小的改变次数,可以用广搜寻找最短的路径,也可以用递推,首先每个开关只会被按一次,而且如果固定了第一行则本题只有唯一的一种解法,因为第一行被固定则第二行

  • 递归与递推2021-04-01 13:32:26

    递推 递归 递归:从已知问题的结果出发,用迭代表达式逐步推算出问题的开始的条件,即顺推法的逆过程,称为递归。 递推:从已知道的若干项出发,利用递推关系依次推算出后面的未知项的方法,我们称为递推算法。 递推与递归不同:递归是从未知到已知 逐步接近解决问题的过程,而递推从已知到未知。

  • 2021.4 做题记录2021-04-01 09:02:30

    P4223 期望逆序对 注意到期望的线性性,所以这类题目的做法一般都是单独考虑一对数之间的贡献是多少 我们用 \(f[t][i][j][0/1]\) 表示第 \(t\) 轮,两个数分别在 \(i,j\),对答案是否有贡献 转移可以利用前缀和转移,这样的复杂度是 \(\mathcal O(n^2k)\) 考虑两个数 \(a_i,a_j\),设他们

  • 1.1 递推与递归2021-03-15 16:02:32

    1.1 递推与递归 由数据结构反推算法复杂度以及算法内容 作者: yxc 一般 ACM 或者笔试题的时间限制是\(1\)秒或\(2\)秒。 在这种情况下,C++ 代码中的操作次数控制在\(10^7 \sim 10^8\)为最佳。 下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择: 1.\(n \leqslant 30\):

  • 最大的和(递推+枚举)2021-03-12 10:05:33

    题目 见https://www.acwing.com/problem/content/128/ 思路 见https://www.acwing.com/video/123/,把一个二维问题转化成了一维的问题,时间复杂度优化到O(n^3) 代码: #include<iostream> #include<climits> #include<algorithm> using namespace std; const int N=110; int g

  • C. Board Moves(递推)2021-03-05 15:03:16

    题意:有一个n*n的方格图,每个格子可以向周围8个方向移动,一次只能移动一步,最后要让所有的格子都移动到中间格子,问要多少步才能实现目标。 题解: 自己画的图:             当n=1时,只有中间一个小格,所以不需要移动,答案为0。 当n=3时,就要让橙色那一圈方格都移到中间,八个方格移动的步

  • 算法-递推算法2021-03-03 19:35:47

    /** * 递推算法 * 递推算法是一种理性思维模式的代表,其根据已有的数据和关系,逐步推导而得到结果。递推算法的执行过程如下: * (1)根据已知结果和关系,求解中间结果。 * 2)判定是否达到要求,如果没有达到,则继续根据已知结果和关系求解中间结果;如果满足要求,则表示寻找到一个正确的答

  • Gym - 101955K Let the Flames Begin(思维)2021-03-01 20:35:33

    题目链接 题目大意   问约瑟夫游戏第m个出局的人的编号。 解题思路   首先需要知道怎么递推求出约瑟夫游戏最后赢家的方法,可以参考这个博客。   对于第m个出局的人,他在第m轮的位置肯定是(k-1)%(n-m+1)+1,然后人数从n-m+1递推到n的过程中,每一步都要把当前赢家的位置往后挪k个

  • 解交错的常系数齐次线性递推式的通项2021-02-23 08:35:30

    例子:解$A_n=A_{n-1}+3B_{n-1},B_n=2A_{n-1}+2B_{n-1}$的通项,$A_0,B_0$为指定常数。 构造矩阵$M=\begin{bmatrix}a_0&b_0\\c_0&d_0\end{bmatrix}=\begin{bmatrix}1&3\\2&2\end{bmatrix}$,使得$\begin{bmatrix}1&3\\2&2\end{bmatrix}\cdot\begin{bmatrix}

  • AcWing 730. 机器人跳跃问题(二分 + 递推)2021-02-17 18:59:46

    题目链接 机器人正在玩一个古老的基于DOS的游戏。 游戏中有N+1座建筑——从0到N编号,从左到右排列。 编号为0的建筑高度为0个单位,编号为 i 的建筑高度为H(i)个单位。 起初,机器人在编号为0的建筑处。 每一步,它跳到下一个(右边)建筑。 假设机器人在第k个建筑,且它现在的能量值是E,下

  • 递推2021-02-16 20:35:12

    3.1费解的开关 原题链接 #include<iostream> #include<cstring> using namespace std; const int INF=1e6+10; char g[10][10]; void turn(int x,int y) { int dx[5]={0,-1,0,1,0},dy[5]={0,0,1,0,-1}; for(int i=0;i<5;i++) { int a=x+dx[i],b

  • 骨牌铺方格(递推)2021-02-15 12:32:45

    原题链接 Problem Description 在2 × n的一个长方形方格中,用一个1 × 2的骨牌铺满方格,输入n ,输出铺放方案的总数.例如n=3时,为2 × 3方格,骨牌的铺放方案有三种,如下图: Input 输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n (0<n<=50)。

  • SDUT递推题目2021-02-14 16:29:24

    养兔子 #include <iostream> using namespace std; int M=1e3+10; int main() { int n; long long int f[M]; cin>>n; f[1]=1; f[2]=2; for(int i=3;i<=n;i++) { f[i]=f[i-1]+f[i-2]; } cout<<f[n]; return 0; } 母牛的故事 #include <stdio

  • 递归及递推基础2021-02-12 20:57:59

    一 递归 1 定义  递归是指将一个大问题逐渐分割成一个个小问题,直至最小可解的单元。类似于分治的思想 2 难点  在递归中,我们经常会将自己陷入到无穷多的细节中去,不断向更下层思考,增加了代码的复杂性。 3 解决  我们可以先写出代码的的第一层,然后将里面的可继续递归部分替

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有