摘要:
# [7023. 操作使得分最大](https://leetcode.cn/problems/apply-operations-to-maximize-score/) 题目描述:一个数字的质数分数为其质因数个数;给定一个长度为$n$的正整数数组`nums`和正整数`k`,可以进行`k`次如下操作: 阅读全文
摘要:
# C++工厂模式简易实现 **引言**:动态绑定是面向对象编程的重要功能,但C++目前还没有纳入标准库的反射机制,所以为了更方便的动态构造对象,使得通过配置文件的方式改变派生类对象,而不需要去修改代码,所以可以使用工厂这一常见的设计模式,来完成类对象的动态构造。 基于C++11的新特性和模板,实现 阅读全文
摘要:
### [6957. 统计范围内的步进数字数目](https://leetcode.cn/problems/count-stepping-numbers-in-range/) 题目描述:给你两个正整数`low`和`high`,求闭区间`[low, high]`中的整数满足相邻数位之间差的绝对值都** 阅读全文
摘要:
星际旅行 算法: 线段树 、离散化 题意: 你需要维护$3$维空间的$n( 1 \leq n \leq 10^9)$个点,初始时这些点的三维坐标都是$0$。将有以下$4$种操作$m(1 \leq m \leq 4 \times 10 ^4)$次。 给区间$[left , right]$的所有点的三维 阅读全文
摘要:
【以下内容为笔者日常学习中遇到的比较有意思的问题的记录】 局部变量的地址 现象描述:main函数中的局部变量每次运行地址不一样 解答:因为采用了ASLR,ASLR(Address space layout randomization)是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性 阅读全文
摘要:
Ubuntu 本文只对笔者在安装和使用Ubuntu的过程中遇到的问题及其解决方案做记录。 Ubuntu安装界面太小 问题描述:在VMware Workstation Pro 中安装Ubuntu的时候出现安装界面太小,下方按键被遮挡导致不能进行安装。 解决方案:按住Alt + 鼠标左键可以拖动;如果不 阅读全文
摘要:
Square Tree 题目链接: [Square Tree](SquareTree (nowcoder.com)) 题目描述:给你一棵$n$个节点的树,根节点为$1$。初始时所有结点的权值都为$1$。给你$m$次操作,每次操作给你三个数$u , v , w$,其含义为:若节点$x$,其子树中含从$ 阅读全文
摘要:
LR分析 LR分析概述 LR(k):L(Left to right parsing),R(right-most derivation in reverse),K(look ahead k token(s)); 移进-归约法(shift-reduce); 框架:总控程序、分析栈和分析表三个组成部分 【 阅读全文
摘要:
自底向上优先分析 \(Notes\):由于某符号打不出来,所以用$\doteq$代替等号中间一个点。 优先分析概述 移进—归约法:根据文法寻找句型的句柄 优先分析法:利用句型相邻两个符号之间的优先级关系确定句柄 \(if\;(x \lessdot \doteq a_i) \;shift(a_i);e 阅读全文
摘要:
自顶向下语法分析方法 确定的自顶向下语法分析思想 从分析树的顶部(根节点)向底部(叶节点)方向构造分析树,可以看成是从文法开始符号$S$推导出词串$w$的过程。 每一步推导中,都需要做两个选择 替换当前句型中的那个非终结符 用该非终结符的那个候选式进行替换 非终结符的选择:最左推导(left mos 阅读全文