oj专题

二叉树经典OJ练习

个人主页:C++忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C++忠实粉丝 原创 二叉树经典OJ练习 收录于专栏【数据结构初阶】 本专栏旨在分享学习数据结构学习的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 前置说明  1. 单值二叉树 2. 相同的树 3. 对称二叉树 4. 二叉树的前序遍历 5. 二叉树中序遍历 6. 二叉树的后序遍历 7. 另一

链表OJ

GDUFE  在期末前再刷一次链表题  ~ 203. 移除链表元素 - 力扣(LeetCode) /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/struct ListNode* removeElements(struc

杭电OJ 1233 还是畅通工程

杭电OJ 1233 还是畅通工程 题目链接 Problem Description某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。 Input测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N

链表OJ--超详细解析

链表OJ 文章目录 链表OJ1. 反转链表2. 返回K值3. 链表的中间节点4. 回文链表5. 相交链表6. 带环链表6.1 为什么一定会相遇,有没有可能会错过,或者出现永远追不上的情况,请证明6.2 slow一次走一步,fast如果一次走3步,走4步,走5步还能追上吗,请证明 7. 带环链表27.1 为什么它们最终肯定会在入口点的位置相遇,请证明 8. 复制链表结语 1. 反

北大oj Coins

Problem: 北大oj Coins 文章目录 思路解题方法复杂度Code 思路 题目要求我们找出所有可能组成的金额总数,给定一系列硬币面值和每种硬币的数量。我们使用动态规划来解决这个问题。关键在于如何处理每种硬币数量大于1的情况,这需要对余数进行分组,以便于在遍历时能够有效地更新状态。 解题方法 我们首先初始化一个布尔数组dp,其长度为最大目标金额m加上1

【背包题】oj题库

目录 1282 - 简单背包问题 1780 - 采灵芝 1888 - 多重背包(1)​编辑 1891 - 开心的金明 2073 - 码头的集装箱 1905 - 混合背包 1282 - 简单背包问题 #include <bits/stdc++.h>using namespace std;//二维数组:dp[i][j]=max(dp[i-1][j],v[i]

Light OJ 1234 Harmonic Number 调和级数部分和

题目来源:Light OJ 1234  Harmonic Number 题意: 思路:没思路啊 这个是高数的东西 发散 n足够大时它无穷大 直接公式解 #include <cstdio>#include <cstring>#include <cmath>#include <string>#include <algorithm>#include <iostream>usi

Light OJ 1054 Efficient Pseudo Code 求n^m的约数和

题目来源:Light OJ 1054 Efficient Pseudo Code 题意:求n的m次这个数的所有的约数和 思路:首先对于一个数n = p1^a1*p2^a2*p3^a3*…*pk^ak  约束和s = (p1^0+p1^1+p1^2+…p1^a1)(p2^0+p2^1+p2^2+…p2^a2)…(pk^0+pk^1+pk^2+…pk^ak) 然后就是先求素数表 分解因子 然后求

Light OJ 1028 Trailing Zeroes (I) 求n因子数

题目来源:Light OJ 1028 题意:求一个数转化成任意进制后末尾有0的种数 就是一个数因子的个数 思路:一个数可以被分解成若干素数相乘 p1^x1*p2^x2*...*pn^xn 根据乘法原理 因子数为 (x1+1)*(x2+1)*...*(xn+1) 注意剪枝 #include <cstdio>#include <cstring>#include <cmath>#inc

Light OJ 1318 Strange Game 组合数+快速幂+分解因子

长度为l的用k种字符组成的字符串有k^l中 其中m个字符要不相同 那就是k^l*C(l, m)*(k-1)^m 有重复 要除以2 但是你mod n了 不能直接除 n不一定是素数 所以不能乘以逆元 所以我都mod 2倍的n 最后的结果再除以2 特判l = 1 和 m = 0的情况 #include <cstdio>#include <cstring>#include <cmath>us

Light OJ 1236 Race 第二类斯特林数

第二类斯特林数 n 匹马 分成1 2 3... n组 每一组就是相同排名 没有先后 然后组与组之间是有顺序的 在乘以组数的阶乘 #include <cstdio>#include <cstring>using namespace std;int dp[1010][1010];int a[1010];int main(){a[0] = 1;dp[0][0] = 1;for(int

【C语言】递归复杂度与链表OJ之双指针

【C语言】递归复杂度与链表OJ之双指针 🔥个人主页:大白的编程日记 🔥专栏:数据结构 文章目录 【C语言】递归复杂度与链表OJ之双指针前言一.递归复杂度1.1递归时间复杂度1.2递归空间复杂度 二.链表OJ之双指针2.1倒数第K个节点2.2链表的中间节点2.3反转链表2.4回文链表2.5相交链表双指针法 后言 前言 哈喽,各位小伙伴大家好!今天我们继续深入探

OJ——环形链表

环形链表概念 环形链表是一种特殊类型的链表数据结构,其最后一个节点的地址域不为null,而是指向了链表中的某个节点,形成一段闭环,如下图: tip:该类型题目不能以判断 cur.next 是否为 null 为循环条件,否则死循环 判断是否为环形链表 给一个链表的头节点 head ,判断链表中是否有环,如果链表中存在环 ,则返回 true 。 否则,返回 false 。 思路: 使用

九度oj-1014-排名

时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:7252 解决:2147 题目描述: 今天的上机考试虽然有实时的Ranklist,但上面的排名只是根据完成的题数排序,没有考虑每题的分值,所以并不是最后的排名。给定录取分数线,请你写程序找出最后通过分数线的考生,并将他们的成绩按降序打印。 输入:     测试输入包含若干场考试的信息。每场考试信息的第1行

九度oj-1008-最短路径问题

时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5636 解决:1814 题目描述: 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。 输入: 输入n,m,点的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a和b之间有一条边,且其长度为d,花费

九度oj-1009-二叉搜索树

时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4464 解决:1999 题目描述: 判断两序列是否为同一二叉搜索树序列 输入: 开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束。 接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉搜索树。 接下去的n行有n个序列

九度oj-1108-堆栈的使用

时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4613 解决:1332 题目描述:     堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。Push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。 输入:      对于每组测试数据,第一行是一个正整数 n,0<n<=10000(n=0 结束

九度oj-1013-开门人和关门人

时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4176 解决:2106 题目描述: 每天第一个到机房的人要把门打开,最后一个离开的人要把门关好。现有一堆杂乱的机房签到、签离记录,请根据记录找出当天开门和关门的人。 输入:     测试输入的第一行给出记录的总天数N ( N> 0 ),下面列出了N天的记录。      每天的记录在第一行给出记录的条目数M

九度OJ-1010-A+B

时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5523 解决:2880 题目描述: 读入两个小于100的正整数A和B,计算A+B. 需要注意的是:A和B的每一位数字由对应的英文单词给出. 输入: 测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出.

九度oj-1042-Coincidence

时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2338 解决:1255 题目描述: Find a longest common subsequence of two strings. 输入: First and second line of each input case contain two strings of lowercase charac

九度oj-1167-数组排序

时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5400 解决:1718 题目描述: 输入一个数组的值,求出各个值从小到大排序后的次序。 输入: 输入有多组数据。 每组输入的第一个数为数组的长度n(1<=n<=10000),后面的数为数组中的值,以空格分割。 输出: 各输入的值按从小到大排列的次序(最后一个数字后面没有空格)。 样例输入

九度oj-Zero-complexity Transposition

时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3102 解决:1262 题目描述: You are given a sequence of integer numbers. Zero-complexity transposition of the sequence is the reverse of this sequence. Your task is to

九度oj-1041-Simple Sorting

时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4515 解决:1688 题目描述: You are given an unsorted array of integer numbers. Your task is to sort this array and kill possible duplicated elements occurring in it.

九度oj-1036-Old Bill

时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2697 解决:1437 题目描述:     Among grandfather's papers a bill was found.     72 turkeys $_679_     The first and the last digits of the number that obviously repre

九度oj-1002-Grading

时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:18522 解决:4789 题目描述:     Grading hundreds of thousands of Graduate Entrance Exams is a hard work. It is even harder to design a process to make the results as

九度oj-1004-Median

时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:16208 解决:4470 题目描述:     Given an increasing sequence S of N integers, the median is the number at the middle position. For example, the median of S1={11, 12,