- 博客(24)
- 收藏
- 关注
原创 剑指offer JZ26 树的子结构
题目思路这道题目的关键在于使用双迭代结构在当前节点进行判断,是否符合子结构若符合:返回true若不符合:对当前节点的左右子树分别再次进行判断,若存在符合,返回true,否则继续迭代双迭代:1、判断是否符合子结构2、遍历整个A树对于判断是否是子结构:if 当前根节点不等,直接返回falseelse 当前根节点相等,判断左右子树返回:left and right代码/*struct TreeNode { int val; struct TreeNode *left; st
2022-01-25 14:48:59 362
原创 学习pytorch----torch、torchvision库的安装
pytorch学习第一课:装torch、torchvision库常规操作:pip install torch、pip install torchvisiontorchvision必须在torch后安装,否则会报错但是,这样的话好像是有点慢,所以提供第二种思路:使用国内源:我这里用的是:pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple/、pip install torchvision -i https://pypi.tuna
2021-11-30 20:56:33 8419
原创 P1025 [NOIP2001 提高组] 数的划分
啊啦啦,时隔许久,我终于又开始了我的AC之路,毕竟再不写写代码我就废了,洛谷yyds----------------------(分割线)-------------------------题目将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。1,1,5;1,5,1;5,1,1.问有多少种不同的分法。原题链接在这里思路这道题其实我看好多人是用动态规划做的,当然莫得问题,不过对于像我这样的小辣鸡来讲,动态规划还是有点让人头
2021-06-06 19:06:19 185
原创 算法提高 八数码
原题链接 is here题目八段码,没错,题目就个这,啊哈哈,看得我一脸懵,咱也不知道啥是个八段码,幸好有万能的度娘姐姐~八段码,这个题是做什么的呢?其实就是:给你两个3*3的矩阵,里面填的数分别是0-8,通过移动0的位置,使矩阵A达到矩阵B的状态思路坦白地讲,我看到的时候是没思路的,搜了几篇博客,没找到我想要的方法,我就努力的找啊找,最终还是被我找到了,一个宝藏博主,简洁明了,反正我看懂了,不过他没什么解析,所以,我来了先附上原文链接这道题呢,我没什么心路历程,毕竟我也是看的别人的代码所以
2021-04-14 17:42:29 107
原创 算法提高 合唱队列 最长递增子序列
题目链接 is here问题描述N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足T1<…Ti+1>…>TK(1<=i<=K)。你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。思路这道题其实想清楚了也就不难,就是求一个最长递增子序列的问题(正用+反用)这
2021-04-14 10:19:22 124
原创 算法提高 树的直径
题目链接问题描述:树的直径输入格式:输入的第一行包含一个整数n,表示树中的点数。接下来n-1行,每行3个正整数,表示连同的两点及边的权值。输出格式:输出1行,包含一个整数,表示树的直径。思路这道题的话,要我们求的是树的直径,所以我们首先要明白什么是树的直径:一棵树上最远的两个点间的距离一说到最远,那就要想到遍历,一说到遍历,那就又要想到深度优先和广度优先,结合题意,要求的是最远的距离,所以我们用的是深度优先搜索(dfs)那究竟要怎么实施呢,其实求树的直径有一个很简单的方法(我也是从csdn各位
2021-04-13 10:36:42 184
原创 算法提高 不重叠的线段
原题链接在这里这是一道很典型也很简单的动态规划(很适合新手学习)题目:给出在数轴上的n条线段的左右端点的坐标l,r和它们的价值v,请你选出若干条没有公共点的线段(端点重合也算有公共点),使得它们的价值和最大,输出最大价值和。思路:看到这道题目呢,十有八九是动态规划,那动态规划最难的也就两个地方:1、dp数组的含义2、状态转移方程状态转移方程其实也就是基于dp数组的含义来的,所以数组含义就是动态规划能不能写对的重中之重!一般来说有两种数组供选择:1、一维 2、二维 感觉我在说废话这个需要自己
2021-04-08 18:43:30 627
原创 算法提高 分解质因数
这是传说中的原题链接分解质因数,这应该算是一道基础题,因为我感觉我从开始学习编程就经常见这样的题目,所以这次好好地总结一下(总不能到现在还要每次百度什么是质数这样的问题,好好总结!)------十分实用于初学者先来解释几个名词概念1、质数:大白话来讲就是除了1和它本身,再无其他的因数不能有人问什么是因数吧?就是因子啦,可以被它整除的数注意!!!!1可不是质数喔!2、分解质因数:(我们总要知道题目的意思吧,要不然怎么做题~嘿嘿)分解质因数就是把所给的数字分解成一些质数的乘积(只能是质数喔)好了
2021-04-08 09:52:02 112
原创 汉诺塔递归的原理
今天做了一道汉诺塔的题目,这是题目链接想用一种容易听懂的方式记录一下汉诺塔的递归,我很赞同一个博主说的一句话:**不要试图跟踪大型递归的过程!**我觉得他说的太对了,这样跟踪只会让我们被绕进去,很难出来,尤其是基础又不太好的时候,那么,对于这种问题,我们要做的就是抓根本,要完成最后一步,那么最后一步的前一步要做什么,或者说是找最小递归单元对于汉诺塔来说,我们把总体的过程分解成三个大步骤(类似于大象进冰箱)1、打开冰箱门2、把大象塞进去3、把冰箱门关上那汉诺塔的三个问题就是:1、借助中间柱把前n
2021-04-07 16:02:56 338
原创 试题 算法提高 翔集合+快速幂/矩阵快速幂
蓝桥杯练习系统上的一道题,翔集合原题链接在这里这道题最开始的思路是动态规划,我们来考虑n-1和n的情况,我们假设f(n)代表n个数时翔集合的个数,那它和f(n-1)之间的关系是怎样的呢?可以这样想:f(n)可以分为n在集合里和n不在集合里两种情况。当n不在集合里时:很明显,这和f(n-1)的值是一样的。当n在集合里时:那么必不能取的是n-1和n-2,那这和f(n-3)有什么关系呢,可以在f(n-3)的每个集合里有个n,也就是说情况数是不变的,这又是一种情况,最后还就一个情况就是只取两个值的时候,前面的
2021-04-05 10:00:45 152 1
原创 蓝桥杯---Sereja and Squares
题目链接在这里~问题描述 Sereja在平面上画了n个点,点i在坐标(i,0)。然后,Sereja给每个点标上了一个小写或大写英文字母。Sereja不喜欢字母"x",所以他不用它标记点。Sereja认为这些点是漂亮的,当且仅当: ·所有的点可以被分成若干对,使得每个点恰好属于一一对之中。 ·在每对点中,横坐标较小的会被标上小写字母,较大的会被标上对应的大写字母。 ·如果我们在每对点上画一个正方形,其中已知的一对点会作为正方形的相对的顶点,它们间的线段会成为正方形的对角线,那么在所有画出的正
2021-03-27 20:50:35 145
原创 蓝桥杯--七段码--并查集
今天学到了一个新的算法:并查集不得不说:太好用惹!!!嗷!!所以先来复盘一下并查集的思路我在网上找了一个很生动的解释,讲的非常好,又能听懂知识点,又能记得牢,附上原博连接:这是个链接他是以武林为例讲的并查集,并查集的作用呢,就是看一个图里的连通分支有几个,如果是一个,就代表连通图;如果是两个,就要加一条路才可以成为连通图,以此类推。这个算法真的可以解决好多问题,好厉害的!!!好的,不多说了,看下七段码这道题:这道题目呢,就是要把所有的连成一片的灯的情况数找出来,一个灯亮,它自己就算一片,几个灯亮
2021-03-23 11:02:31 419 2
原创 求助帖---关于最短路andSPFA算法
最近在做蓝桥杯的题目遇到了最短路的问题因为题目中说存在负环,那么就不能使用迪杰斯特拉算法,又因为弗洛伊德算法效果太低,有部分测试样例会超时,我采用了vector的优化,但似乎优化的不够好,也可能是根本不对,有超时的样例也有运行错误的样例,头大,学习了SPFA算法也可能是没学到精髓,我按我自己的想法写了代码,确实没有样例超时,但是数据一大,就会错误,我有点蒙,困了好久了,救救孩子吧代码在此,跪求指点!!!#include <bits/stdc++.h>typedef struct Ar
2021-03-21 16:08:42 80
原创 算法训练 结点选择
问题描述有一棵 n 个节点的树,树上每个节点都有一个正整数权值。如果一个点被选择了,那么在树上和它相邻的点都不能被选择。求选出的点的权值和最大是多少?心路历程本以为这道题必须要用到树,又看了看别人的博客,发现又是用到无向图,巴拉巴拉,看了好久,没看懂(我只是个平平无奇的小垃圾)终于,我找到了一篇代码很短的博客,开始仔细研究,又终于,看懂了,ac了,在此感谢原文链接思路大佬的博客里,我自己觉得不是很详细,所以我从一个小垃圾的角度谈一谈我的看法,不得不说,这解法,妙啊,省了多少繁琐的建图建树什么的,
2021-03-20 13:02:18 102
原创 蓝桥杯小结2-算法篇(1-3)
区间k大数查询问题描述:给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。这道题目呢,并不难,是算法里最简单的一道了(毕竟是第一道嘛)我只是用了一个vector就解决了问题,嗯,vector比我们初学时定义的数组好用得多!这里要总结一下vector的一些用法(其实之前也有写过,我是为了自己多记记,我还没背会。。。)定义:vector<type> a;//type为类型,可为int、char、double...向vector内添加值:他比较好的一个地方就是不用去关注有几个
2021-03-19 09:41:09 113
原创 蓝桥专场小结
最近在刷蓝桥杯的题,没有时间一道题一篇博客的整理了,就跳着重点写一写吧,也加深一下自己的印象特殊回文数,这道题就是一个简单的回文数题目,他要的是所有5位数、6位数中的回文数,同时要满足这五个数或六个数加起来的和等于给定的数。因为题目给定的n比较大,要考虑在for循环中添加条件,减少时间复杂度我用了比较弱智的办法去做,就不写思路了,但是我用了vector,真的,好好用,一定要会用它!!!还有就是要注意一些边界条件,边界点,如:最高位不能为0!!不考虑这个的话就会测试样例卡住的。那这道题的话,就写一写v
2021-03-17 16:07:22 110
原创 P1021 [NOIP1999 提高组] 邮票面值设计
P1021 [NOIP1999 提高组] 邮票面值设计这道题目拖了几天,可能我现在思路还不是很清晰,写写看~首先还是题目给定一个信封,最多只允许粘贴N张邮票,计算在给定K(N+K≤15)种邮票的情况下(假定所有的邮票数量都足够),如何设计邮票的面值,能得到最大值MAX,使在1至MAX之间的每一个邮资值都能得到。例如,N=3,K=2,如果面值分别为1分、4分,则在1分~6分之间的每一个邮资值都能得到(当然还有8分、9分和12分);如果面值分别为1分、3分,则在1分~7分之间的每一个邮资值都能得到。可以
2021-02-08 20:13:29 1226 2
原创 P1018 [NOIP2000 提高组] 乘积最大
P1018 [NOIP2000 提高组] 乘积最大这道题呢,按我当前的方法只得了60分,有几个超过long long的数据没办法处理,需要用到高精度,等我回头学习一下,再来补充~先记录一下现在的思路,仅供参考首先还是来看一下题目~今年是国际数学联盟确定的“ 2000 ――世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰 90 周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友 XZ 也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目:设有一个长度
2021-02-03 13:31:55 518
原创 P1016 [NOIP1999 提高组] 旅行家的预算
P1016 [NOIP1999 提高组] 旅行家的预算这道题,哇,花了我好久的时间啊,我太菜了,所以决定好好地写一写博客,整理一下思路~先来看一遍题目一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的)。给定两个城市之间的距离D1、汽车油箱的容量C(以升为单位)、每升汽油能行驶的距离D2、出发点每升汽油价格P和沿途油站数N(N可以为零),油站i离出发点的距离Di、每升汽油价格Pi(i=1,2,…,Ni=1,2,…,N)。计算结果四舍五入至小数点后两位。如果无法到达目的地,则输
2021-01-31 19:21:53 853
原创 P1006 [NOIP2008 提高组] 传纸条
P1006 [NOIP2008 提高组] 传纸条题目小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排做成一个 mm 行 nn 列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标 (1,1),小轩坐在矩阵的右下角,坐标 (m,n)。从小渊传到小轩的纸条只可以向下或者向右传递,从小轩传给小渊的纸条只可以向上或者向左传递。在活动进行中,小渊希
2021-01-31 14:00:05 964
原创 P1004 [NOIP2000 提高组] 方格取数
P1004 [NOIP2000 提高组] 方格取数按照惯例,先来一遍题目~设有 N×N 的方格图 (N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字 0。某人从图的左上角的 A点出发,可以向下行走,也可以向右走,直到到达右下角的 B 点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字 0)。此人从 A 点到 B 点共走两次,试找出 2 条这样的路径,使得取得的数之和为最大。输入格式输入的第一行为一个整数 N(表示 N×N 的方格图),接下来的每行有三个整数,前两
2021-01-27 20:54:03 2312 4
原创 P1003 [NOIP2011 提高组] 铺地毯
P1003 [NOIP2011 提高组] 铺地毯当当~我又来了,铺地毯题解题目思密达~为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 nn 张地毯,编号从 11 到 nn。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。输入格式输入共 n + 2n+2 行。第
2021-01-26 15:54:42 759
原创 P1002 [NOIP2002 普及组] 过河卒
P1002 [NOIP2002 普及组] 过河卒最近在洛谷刷题,决定用博客把自己的解题思路以及踩过的坑整理总结一下~先来看看题目吧~棋盘上 AA 点有一个过河卒,需要走到目标 BB 点。卒行走的规则:可以向下、或者向右。同时在棋盘上 CC 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,AA 点 (0, 0)(0,0)、BB 点 (n, m)(n,m),同样马的位置坐标是需要给出的。现在要求你计算出卒从 AA 点能够到达 BB 点的
2021-01-26 14:32:05 5490 7
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人