初级算法
文章平均质量分 79
各种类型的初级算法题目
HilariousDog
记录所学,帮助成长。Good luck!
展开
-
算法题:所有可能的真二叉树
另一种是策略是:每次都从当前结点选择其左右子树结点的数量,如果需要从当前结点开始构建一个n个结点的真二叉树,那么左右子树的结点总数为n-1,左右子树的结点数量也都为奇数,因此可以将左子树的结点数量从1开始每次加2进行遍历,这样就可以枚举出所有情况。当n==1时就可以结束递归。一种策略是:每次都从度为0的结点中选择一个,给它填充左右子结点。但是这样会导致最终答案重复。首先能想到用递归来构建每一种可能的情况。那么每次递归时应该怎样进行选择呢?由题可得,真二叉数的结点数量必定为奇数。原创 2024-04-02 17:00:38 · 296 阅读 · 0 评论 -
算法题:子树的大小
子节点的个数就是$ rchild - lchild$。要算出子树的结点总数,可以从k结点出发,将各层子节点数量相加,直到rchild > n,此时如果lchild > n则最后一层没有子节点,否则最后再加上lchild - n + 1。个结点的完全二叉树,结点按从根到叶、从左到右的顺序依次编号。个结点对应的子树拥有的结点数量。的结点的子节点最右端为。,最左端的子节点序号为。原创 2024-03-16 00:34:15 · 569 阅读 · 0 评论 -
算法题:太阳
将所有线段从高到底排序,之后依次遍历计算其在x轴上的投影,如果与已有的投影段重合,则说明不能被太阳照到。需要特别注意投影段的更新过程,这里采用map保存阴影段的左端点和右端点横坐标,应该有更简洁的实现方法。,有m条平行于x轴的线段,其坐标、长度和高度为。,问多少条线段能够被太阳照到。在二维坐标系中,太阳的高度位。原创 2024-03-15 19:30:17 · 538 阅读 · 0 评论 -
算法题:奇怪的数
位满足题设条件的分布种数。设dp[a][b][c][d]表示后4位数分别选择a、b、c、d时前。要求n位数的数字A中任意5位的和不能超过m,问这样的数字A有多少种。位数字的可能分布情况。此题应该使用动态规划。原创 2024-03-14 17:30:50 · 414 阅读 · 0 评论 -
c语言编写勒让德多项式递归输出,高精度!
勒让德多项式的递归输出,接收浮点类型的高精度输出。浮点运算结果的精度是由参与运算的数据类型和等号左边的赋值变量数据类型决定的。所以可以通过使用高精度浮点类型变量来提高结果精度。实现代码:# include"stdio.h"double Pn(double x,int n);int main(){ double x; double result; int n; scanf("%lf%d",&x,&n); result = Pn(x,原创 2020-10-28 16:52:58 · 4111 阅读 · 1 评论