- 博客(72)
- 收藏
- 关注
原创 二叉树路径问题
这里注意publicbooleanhasPathSum(TreeNoderoot,inttargetSum)此方法一开始传进来的就是sum,因此可以每往下走到下一结点,sum–,判断叶子结点处是否为0,而不是在根处sum=0,每次加结点值。深搜,如果搜到叶子结点时,此路径符合找到;解需要遍历二叉树,遍历考虑DFSBFS。...
2022-07-17 17:47:01
224
原创 快慢指针 刷题及解答
在初始化设置指向链表头结点时,设置两个指针,快慢指针,前进时快指针fast在前,慢指针slow在后,巧妙解决链表中的一些问题。每次快指针多走一步,假设环长为x,当快指针多走x步时会与慢指针相遇快指针是每次走两步,慢指针每次走一步而不是快指针一开始指向head的下一个 慢指针指向head 两个一起走https://leetcode.cn/problems/linked-list-cycle/https://leetcode.cn/problems/happy-number/已知链表中含有环,返回这个环的
2022-07-11 11:44:53
215
原创 Kitex快速入门的注意点以及相关概念部分
快速开始快速开始创建项目目录在开始后续的步骤之前,想让我们创建一个项目目录用于后续的教程。$ mkdir example然后让我们进入项目目录$ cd exampleKitex 命令行工具Kitex 自带了一个同名的命令行工具 kitex,用来帮助大家很方便地生成代码,新项目的生成以及之后我们会学到的 server、client 代码的生成都是通过 kitex 工具进行。安装可以使用以下命令来安装或者更新 kitex:$ go install github.com/cloud
2022-05-19 20:53:30
2137
1
原创 Vue笔记总结
目录VUE搭建npmvue实例拿vue中的值拿出一个实例中初始化的值什么是单双向绑定MVVM思想 面试题虚拟dom真实dom函数-计算属性-侦听器 ‼️函数计算属性侦听器VUE搭建<!-- dist:发布版本 -->谷歌浏览器插件一运行有这个话 可以去掉:在script标签中添加这个话 Vue.config.productionTip = false⚠️vue插件比如这句话可以直接输prod这样浏览器就不会显示了npmnpm init -
2022-05-14 12:02:36
441
1
原创 数据结构(附代码) 整理与总结
堆栈顺序实现typedef int Position;typedef int ElementType;typedef struct SNode * PtrToSNode;struct SNode{ ElementType *Data; Position Top; int MaxSize;};typedef PtrToSNode Stack;Stack CreateStack(int Maxsize){ Stack S = (Stack)malloc(sizeo
2022-05-14 11:53:46
1192
原创 Mac——mybatis generator 运行成功但找不到生成的文件
问题:mybatisgenerator 运行成功但找不到生成的文件解决方法:路径问题默认的下面路径为.在Mac下要改为./
2022-05-04 11:06:14
848
原创 Manacher算法
Manacher 马拉车算法是一个用来查找一个字符串中的最长回文子串(不是最长回文序列)的线性算法。它的优点就是把时间复杂度为O(n2)的暴力算法优化到了O(n)。文章目录最长回文子串暴力manacher原理"$" 和 "^" 不可以与原字符串相同,并要各不相同求p数组最长回文子串举例:1.字符串:abbababa 最长回文子串:5(abbababa)2.字符串:abcbbabbc 最长回文子串:7(abcbbabbc)3.字符串:abccbaba 最长回文
2020-09-24 20:18:14
127
原创 博弈基础与例题分析(巴什博弈威佐夫博弈尼姆博奕 斐波那契博弈SG博弈)
博弈基础A~C:三大博弈模板题目D:斐波那契博弈模板E~G:sg函数模板H~J:三大博弈+方案输出文章目录巴什博弈Bash Game威佐夫博弈Wythoff Game尼姆博奕斐波那契博弈:算法如其名sg函数模板A Brave GameB 取石子游戏C Matches GameD 取石子游戏E Good Luck in CET-4 Everybody!F S-NimG Calendar GameH 取(2堆)石子游戏I Public SaleJ 取(m堆)石子游戏巴什博弈Bash Game
2020-09-24 20:17:10
818
原创 唯一分解
唯一分解定理唯一分解定理(算数基本定理):任何一个大于1的自然数N,如果不是质数,那么可以唯一分解成有限个质数的乘积。推论1:任何一个大于1的自然数N可以表示成以下形式p1 ^ e1 * p2 ^ e2 * …* pm ^ em其中p1 < p2 < … < pm,且为质数e1,e2……em 是正整数推论2:任何一个大于1的自然数,要么所有质因子都...
2020-03-07 11:15:41
640
原创 HDU 1584 蜘蛛纸牌
蜘蛛牌是windows xp操作系统自带的一款纸牌游戏,游戏规则是这样的:只能将牌拖到比她大一的牌上面(A最小,K最大),如果拖动的牌上有按顺序排好的牌时,那么这些牌也跟着一起移动,游戏的目的是将所有的牌按同一花色从小到大排好,为了简单起见,我们的游戏只有同一花色的10张牌,从A到10,且随机的在一行上展开,编号从1到10,把第i号上的牌移到第j号牌上,移动距离为abs(i-j),现在你要做的是求...
2020-03-02 16:23:34
151
原创 素数筛的灵活运用
n(n<=1e6)个问题,回答一个数,这个数必须大于1,而且必须能整除数x(2<=x<=1e7),最后这个数是尽量小的输入格式:第一行是一个整数n,表示人数;第二行是n个由空格隔开的整数,第i个表示特图询问第i个人的x输出格式:输出包含一行n个正整数,由空格隔开,行末无空格.第i个表示第i个人的答案输入样例:在这里给出一组输入。例如:52 5 9 10 17输...
2020-03-02 12:34:18
183
原创 素数筛——区间段内最小,最大素数,以及这个区间中素数的个数
m(m<=1e6)次提问,给出一个区间[l,r] (1<=l<=r<=1e6)答在这个区间段内最小,最大素数,以及这个区间中素数的个数输入格式:第一行为一个正整数m,表示问题的个数接下来m行是两个正整数l,r表示一次询问的区间输出格式:针对每次查询,都要输出一行三个正整数(用空格隔开,行末没有多余空格),分别表示:最小素数,最大素数,素数的个数.(题目保证所给区间...
2020-03-02 12:14:40
1248
原创 尺取
给出了N个正整数序列(10 < N < 100,000),每个正整数小于或等于10000,一个正整数S (S < 100 000 000)。编写一个程序,求序列中连续元素的子序列的最小长度,其和大于或等于S。输入第一行是测试用例的数量。对于每个测试用例,程序都必须读取从第一行开始的数字N和S,它们之间用间隔隔开。序列的编号在测试用例的第二行给出,用间隔隔开。输入将在文件结...
2020-03-01 16:34:25
218
原创 stack 应用 简单计算器——hdu 1237
读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。Input测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。Output 对每个测试用例输出1行,即该表达式的值,精确到小数点后2位。Sample Input1 + 24 + 2 * 5 -7 ...
2020-03-01 15:43:48
115
原创 并查集——Codeforces 28B 交换格子
【题目描述】 有一天某个数组的 n 个格子决定玩一个游戏。起初每个格子中存储的数字等于该格子的编号(从 1开始)。每个格子确定了自己最喜欢的数字 di,每一轮游戏操作过程中,任意一个格子 i 和另一个格子 j 如果满足 | i - j | =di,则可以交换他们所存储的数字。操作顺序和次数没有限制。 你会知道每个格子最喜欢的数字,以及一个从 1 到 n的排列。你需要判断游戏是否能够进行到指...
2020-02-29 20:52:49
196
原创 并查集——UVA - 1329
有 n 个结点(5 <= n <= 20000),初始时每个结点都没有父结点。你的任务是执行 I 操作和 E 操作,格式如下:·I u v:把结点 u 的父结点设为 v,距离为 | u - v | mod 1000。输入保证执行指令前 u 没有父结点。·E u:询问 u到根结点的距离。自己一开始的思路:不用记录距离,I:改变父亲节点E:用循环直到找到根节点do{a...
2020-02-29 18:31:17
153
原创 最小生成树POJ 1251——套模板题
复习模板poj 1251【题目大意】 给出一张 n 个点(1 < n < 27)的无向连通图,边有边权,请求出此图的最小生成树。 【输入格式】 包含多组测试数据。每组测试数据第一行包含一个整数 n,代表点的数量,点的编号为大写字母 A ~ Z。 接下来 n - 1行,按顺序给出和每个点相连的边的信息。每行首先给出一个大写字母,代表当前点的编号(按顺序);随后给出一个整数 k...
2020-02-29 16:46:06
201
原创 并查集 Hdu 1272
HDU 1272 也就是:给出多组数据给出0,0,开始处理之前所给的,不能成环,只能有一个根节点给出-1 -1 结束不能成环:在join函数里面添加一个判断,标记flag只能有一个根节点:循环判断给出的数,根节点数量,cnt只能为1注意1:给出的数据不是连续的数,所以要有vis数组标记给出的数注意2:只给0,0应是Yes#include<cstdio>#include...
2020-02-28 21:55:20
151
1
原创 贪心题目——删除数字求最小值
找到最小数。输入一个高精度的正整数N(不超过5000位) , 去掉其中任意k个数字后剩下的数字按原左右次序 将组成一个新的正整数。对给定的N和k,寻找一种方案使得剩下的数字组成的新数最小。输入格式:第一行给定一个不超过五千位的正整数n。 第二行给定一个不超过n的位数的非负整数k。输出格式:最后剩下的最小数。输入样例:175438 4输出样例:13思路:在整数的位数固定...
2020-02-24 13:30:28
887
原创 HDU——汉诺塔问题汇总整理
基本汉诺塔问题汉诺塔II汉诺塔III汉诺塔IV汉诺塔V汉诺塔VI汉诺塔VII汉诺塔VIII汉诺塔IX汉诺塔X基本汉诺塔问题有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置64个金盘(如下图)。游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可...
2020-02-24 10:20:31
1207
原创 贪心——合并石子
7-8 合并石子 (20分) 合并石子现在有n堆石子,我们要把它们合并成一堆。 每一次合并,可以把两堆石子(可以不相邻)合并到一起, 消耗的体力等于两堆石子的重量之和。可以看出,所有的石子经过 n−1 次合并之后,就只剩下一堆了。 在合并石子时总共消耗的体力等于每次合并所耗体力之和。我们在合并石子时要尽可能地节省体力。假定每个石子重量都为1 , 并且已知石子的堆数和每堆石子的数目,求最少所...
2020-02-23 12:28:55
1476
2
原创 二分题目——线段2
数列2对于给定的一个长度为N(N≤100000)的正整数数列 ai,现要将其分成 M(M≤N)段, 并要求每段连续,且每段和的最大值最小。关于最大值最小: 例如一数列 4 2 4 5 1 要分成 3 段。 将其如下分段: [4 2][4 5][1]第1段和为6,第2段和为9,第3段和为1,和最大值为9。将其如下分段: [4][2 4][5 1] 第1段和为4,第2段和为6,第3段和为6,...
2020-02-23 11:07:09
163
原创 贪心题目——电影节
例题 电影节每一部电影都有放映区间,区间重合的电影不能同时观看,(端点可以重合),问最多可以看多少部电影输入:n(n场<=100)接下来n行 每行两个整数(<1000)表示放映区间输出:最多数量eg:输入31 33 40 7将所有电影按照结束大小从小到大排序,第一步选择结束最早的那部电影,然后每一步都选和上一步选中电影不冲突,并且结束时间最早的电影只看眼前—...
2020-02-22 16:10:37
338
原创 贪心题目——圣诞老人的礼物
例题 圣诞老人的礼物分发糖果,多箱不同的糖果,每箱有自己的价值和重量,每箱都可以拆分成任意散装组合带走,但是雪橇只能装下W重量的糖果,请问圣诞老人最多能敌啊走多大价值的糖果。输入:1⃣️n (箱子数量)W(重量)2⃣️n行 每行给出箱子的价值和重量(整数)输出:最大价值(浮点数)做法1:价值/重量从大到小排序,再尽可能装o(nlogn)排序#include<cstdio&...
2020-02-22 16:10:04
533
原创 前缀和与差分——子序列蓝桥原题
7-8 H.zx学长的蓝桥原题 (90分) 给定一个长度为N的数列,A1, A2, … AN,如果其中一段连续的子序列Ai, Ai+1,… Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间.你能求出数列中总共有多少个K倍区间吗?输入格式:第一行包含两个整数N和K。(1 <= N, K <= 100000) 以下N行每行包含一个整数Ai。(1 &l...
2020-02-20 17:52:33
288
原创 前缀和与差分——幸运线段
zx学长喜欢能给他带来运气的东西,即便是在比赛时,也将他的吉祥物"AD钙奶"带到身边.现在他看到了一个从0开始的数轴,便指定了m(m<=1000000)个幸运线段[l,r],然后zx学长给出q(q<=1000000)询问,他想让你们回答,一个区间段[a, b]内是不是全部被幸运线段覆盖.输入格式:第一行是一个整数m,表示他指定的幸运线段的个数接下来m行,每行是两个正整数l,r...
2020-02-19 22:31:11
217
原创 题目——不止一次的前缀和与差分
一个长度为n的全0序列,针对这个序列进行m次修改,每次修改,我会指定一个起点x,你们要从这个起点开始,序列往后的每一个数依次加1,加2,加3…"z输入格式:第一行是两个正整数n(n<=100000), m(m<=100000),接下来m行,每一行是一个正整数x(1<=x<=n),是每次修改的起点.输出格式:输出一行包括n个正整数,表示最后这个序列.由空格相隔,行...
2020-02-19 19:49:34
156
原创 前缀和与差分
前缀和一维前缀和aa1a2a3suma1a1+a2a1+a2+a3给出一个点,求这点前缀和、递推公式sum[I] = sum[I-1] + a[I]sum[1] = a[1]给定一个长度n,加下来给出一个长度为n的序列a m次操作,每次给出l,r,求闭区间l,r内全部元素之和[l,r]ans = sum[r] - sum[l-1]二...
2020-02-19 18:46:09
202
原创 判断数独是否正确
int line[10][10];//line[1][2]=1; 第一行 数字2出现一次int row[10][10];int block[10][10];#include<iostream>#include<cstdio>using namespace std;int n;int mp[10][10];void in_(){ for(int i=...
2020-02-17 17:41:38
541
原创 找规律——分割平面
n条直线最多能把平面分成几部分?输入格式:多组输入,每组输入一个正整数n(n≤1000000),表示有n条直线。输出格式:每个输入输出一个正整数,每个输出占一行,为n条直线最多把平面 分成几部分。输入样例:1 2输出样例:2 4...
2020-02-17 15:52:08
341
原创 1030 完美数列
1030 完美数列 (25分) 给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果M≤mp,则称这个数列是完美数列。现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式:输入第一行给出两个正整数 N 和 p,其中 N(≤10 5 )是输入的正整数的个数,p(≤10 9 )是给定的参数。第二行给出 N 个正整数,每...
2020-02-17 12:14:28
227
原创 最小生成树——畅通工程
省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本。现请你编写程序,计算出全省畅通需要的最低成本。Input测试输入包含若干测试用例。每个测试用例的第1行给出评估的道路条数 N、村庄数目M ( < 100 );随后的 N行对应村庄间道路的成本,每行给...
2020-02-16 22:55:53
151
原创 卡特兰数及其应用总结
blogblog卡特兰数定义卡特兰数是组合数学中一个常出现在各种计数问题中的数列。给定n个0,n个1,排成2n的序列,满足:任意前缀中0的个数大于等于1的个数的排列方式种数,即为卡特兰数。其前几项为(从第零项开始) : 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796递推公式设h(n)为catalan数的第n+1项,令h(0)=1,...
2020-02-16 17:18:46
280
原创 组合数——走到(x,y)
你位置平面直角坐标系原点(0,0)处,想去一点(x,y)。每次行动只能沿x轴正方向或者y轴正方向移动, 而且每次只能移动一个单位长度。求从(0,0)到(x,y)有多少种不同的路径,若其不能到达(x,y) 则输出-1。输入格式:一行两个整数x,y。由空格隔开。 |x|≤2000,|y|≤2000输出格式:一行一个整数sum,表示从(0,0)到(x,y)不同的路径数,由于该数 可能过大,所...
2020-02-16 17:17:07
595
原创 卡特兰数应用——走到(x,y)
(0,0)到(x,y)有多少种不同的路径,只能沿x y正方向单步走,且不能超过y=x若其不能到达(x,y) 则输出-1。输入格式:一行两个整数x,y,由空格隔开。 输入保证x=y。 |x|≤2000,|y|≤2000输出格式:一行一个整数由于该数可能较大,你只需输出其对1e9+7取模后的结果即可若不能到达(x,y)则输出-1.输入样例:1 1输出样例:1卡特兰数应用#i...
2020-02-16 17:16:20
259
原创 众数
#include <iostream>#include <cstdio>#include <queue>#include <string>#include <algorithm> //for maxusing namespace std;const int M = 10000;int main...
2020-02-14 19:23:27
102
原创 大数阶乘的位数
问题 C: 阶乘位数时间限制: 1 Sec 内存限制: 128 MB[提交] [状态]题目描述在很多软件中需要用到较大的整数。比如一些软件将大数用于数据安全传送的密匙或者密码编译等等。在这个问题中,你要根据给你的整数,算出这个数的阶乘的位数。输入含若干行整数。第一行为n,表示案例数,接下来是n行,每行一个整数m(1≤m≤10^7)。输出输出这些数的阶乘的位数。样例输入 Copy...
2020-02-14 19:23:15
247
原创 dfs——面积
问题 B: 面积时间限制: 1 Sec 内存限制: 128 MB[提交] [状态]题目描述一幅图由0和组成,编程计算由“”号所围成的图形的面积。面积的计算方法是统计号所围成的闭合曲线中0的数目。输入由0,组成的图输出面积数样例输入 Copy0000000000000**00000000000000000000***000000000000样例输出 Copy5#...
2020-02-14 19:23:03
582
原创 NH树
问题 C: NH树时间限制: 1 Sec 内存限制: 128 MB[提交] [状态]题目描述小明终于忙玩了各种各样的课程,终于可以继续学习算法了。他在图论书上看到了树,树有许许多多特殊的性质。小明一下子就喜欢上了这种特殊的树。于是,他发明了自己的对于无向图的评分方法。一个无向图的分数定义为,各个连通块是树的数量。现在给定一个 n 个点 m 条边的无向图,问在小明的评分方法下,分数...
2020-02-14 19:22:46
157
原创 递归——自然数的拆分问题
2044: 【回溯】自然数的拆分问题时间限制: 1 Sec 内存限制: 128 MB[提交] [状态]题目描述输入自然数N,拆分成由若干数相加的形式,参与加法运算的数可以重复。输入待拆分的自然数N。输出若干数的加法式子。样例输入 Copy7样例输出 Copy1+61+1+51+1+1+41+1+1+1+31+1+1+1+1+21+1+1+1+1+1+11+1+...
2020-02-14 19:22:37
880
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人