自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

UncleJokerly

Kill the boy and let the man be born.

  • 博客(451)
  • 资源 (1)
  • 收藏
  • 关注

原创 线段树入门讲解+模板(单点查询/更新、区间查询/更新)

先上模板:#include<bits/stdc++.h>using namespace std;struct node{ int l,r,w,lazy;//tree的l,r表示数组区间[l,r],w表示[l,r]区间和 }tree[400001];//lazy!=0是加值,lazy!=-1是改值 void build(int v,int l,int r)...

2019-04-21 17:34:10 2063 2

原创 博弈论模板

博弈论讲解 :【算法讲堂】【电子科技大学】【ACM】博弈论基础SWPU-ACM每周算法讲堂-博弈论入门博弈论题目有如下特征:1.有两名选手;2.两名选手交替操作,每次一步,每步都是在有限的合法集合中选取一种进行;3.在任何情况下,合法操作只取决于情况本身,与选手无关;4.游戏的败北条件为:当某位选手需要进行操作时,当前没有任何可以执行的合法操作,则该选手败北。...

2019-04-09 21:19:50 777

原创 博弈论总结及模板

博弈论讲解 :【算法讲堂】【电子科技大学】【ACM】博弈论基础SWPU-ACM每周算法讲堂-博弈论入门博弈论题目有如下特征:1.有两名选手;2.两名选手交替操作,每次一步,每步都是在有限的合法集合中选取一种进行;3.在任何情况下,合法操作只取决于情况本身,与选手无关;4.游戏的败北条件为:当某位选手需要进行操作时,当前没有任何可以执行的合法操作,则该选手败北。...

2019-04-09 21:00:43 1020 1

原创 2019年第十届蓝桥杯C/C++程序设计本科B组省赛 迷宫 输出路径(BFS记录路径&&模板)+赛后心得

昨天比赛刚结束 题目还没找着题意大致如下:给你一个30*50的图,图只有0和1组成,其中0是路1是墙,左上角和右下角是'0',输出最短路径并且按最小字典序输出,即按D<L<R<U的顺序输出。解题思路:BFS遍历过程中记录路径,既然题目中要求了遍历的顺序就按题目中的来遍历。记录路径不要忘记在扩展每一个点的时候把上一个点的信息先继承下来,因为这里使用的是数组...

2019-03-25 09:34:10 1263 5

原创 日期推算器

使用方法:输入三个整数用空格隔开,分别表示年月日再输入要推算的天数得到答案如:输入 1997 10 18 7823 输出 2019 3 20代码如下:#include<stdio.h>int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};int check(int y){ if((y%4=...

2019-03-20 10:51:14 934 1

原创 ZOJ - 4034 Mahjong Sorting(模拟)(阅读理解题!!! )

DreamGrid has just found a set of Mahjong withsuited tiles and a White Dragon tile in his pocket. Each suited tile has a suit (Character, Bamboo or Dot) and a rank (ranging from 1 to), and there...

2018-05-17 21:13:22 1409 5

原创 快速幂运算模板(求n^k以及前几位或后几位)

计算n^k的结果步骤:1.把n由十进制转换为二进制,按二进制来计算(最后结果还是一样的)2.把n由二进制转换为2^k相加的形式先举个例子:求5^22:接着就可以很好地理解了O(logn)计算幂运算的算法://无mod单纯求n^k #include&lt;stdio.h&gt;typedef long long ll;ll mod_pow(ll x,ll n){ ll res=1;...

2018-03-30 17:43:47 1520 2

原创 素数筛法打表模板

没有分析几种模板的效率,先记下一个用着吧#include&lt;stdio.h&gt;#include&lt;string.h&gt;#define MAXX 1000//求MAXX范围内的素数 int prime[MAXX+5],len=0;int p[MAXX+5];//p设为bool型较为合适,但int结果也对,注意把p数组加大一点防止越界 //思想:将范围内的合数全部筛掉剩余...

2018-03-30 10:25:38 265

原创 Prim输出无向图中所有的最小生成树

思路: 给出n个顶点m条边。一棵最小生成树中有n-1条边,所以在m条边中选n-1条边判断能否构成最小生成树,如果能则直接输出。 判断是否能构成最小生成树的条件是 当前的n-1条边的权值的和是否是最小生成树的权值的和(代码里的ans)。 步骤: 先进行一次prim,只是为了求出MST的权值ans。 再对m条边进行深搜,当选中n-1条边时判断是否能构成最小生成树。代码:#include<std

2017-12-21 21:36:25 1913 3

原创 二叉树的建立(先序输入)与遍历输出模板

#include<iostream>using namespace std;typedef struct node{ struct node *lchild; struct node *rchild; char data;}BiTreeNode, *BiTree;void createBiTree(BiTree &T){ char c; cin >>

2017-08-08 21:39:50 3965 3

原创 LeetCode 383.赎金信(模拟,for(char c : 容器)的使用)

最后遍历记录字母出现次数的数组record,如果出现负数说明magazine中的字母不够ransomNote用,则返回false。如果没有出现负数说明ransomNote能由magazine里面的字符构成。因为输入数据都是小写字母,所以可以维护一个长度为26的数组record用于记录每个字母出现的次数。再遍历ransomNote数组,ransomNote数组中的字母每出现一次则减去对应字母的次数。先遍历magazine数组,将magazine数组中出现的字母都记录下来。

2024-04-20 10:20:52 160

原创 LeetCode 454.四数相加II(模拟,map.getOrDefault()的使用)

遍历nums3和nums4,在map中寻找是否存在-(nums3[k] + nums4[l]),存在则记录出现的次数,即为符合条件的元组个数。和对应出现的次数放到map中,次数可以使用map.getOrDefault获取。遍历nums1和nums2,将相加的结果。,请你计算有多少个元组。

2024-04-20 09:37:42 309

原创 LeetCode 1.两数之和(HashMap.containsKey()、.get、.put操作)

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。整数,并返回它们的数组下标。你可以想出一个时间复杂度小于。你可以按任意顺序返回答案。,请你在该数组中找出。

2024-04-17 10:16:07 239

原创 LeetCode 202.快乐数(HashSet + 按位取数)

所以这道题目使用哈希法,来判断这个sum是否重复出现,如果重复了就是return false, 否则一直找到sum为1为止。判断sum是否重复出现就可以使用unordered_set。这道题目看上去貌似一道数学问题,其实并不是!编写一个算法来判断一个数。

2024-04-16 10:48:00 443

原创 LeetCode 349.两个数组的交集(HashSet的使用)

输出结果中的每个元素一定是。[4,9] 也是可通过的。

2024-04-16 10:26:04 186

原创 LeetCode 242.有效的字母异位词

最后遍历数组record,如果有个数不为0的字母说明s和t不构成异位词,如果个数全为0,说明构成异位词/如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?注意:Java中获取数组int[]长度用.length,后不加括号。使用长度为26的数组record用于记录每个字母出现的个数。遍历字符串s,给当前出现的字母对应下标的位置个数+1,遍历字符串t,给当前出现的字母对应下标的位置个数-1,中每个字符出现的次数都相同,则称。,编写一个函数来判断。

2024-04-10 10:53:17 198

原创 LeetCode 142.环形链表II(数学公式推导)

给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(如果pos是-1,则在该链表中没有环。pos,仅仅是为了标识链表的实际情况。链表。返回索引为 1 的链表节点链表中有一个环,其尾部连接到第二个节点。返回索引为 0 的链表节点链表中有一个环,其尾部连接到第一个节点。返回 null链表中没有环。

2024-04-10 10:30:50 856

原创 LeetCode 面试题 02.07.链表相交(判断两个结点是否相同)

此时我们就可以比较curA和curB是否相同,如果不相同,同时向后移动curA和curB,如果遇到curA == curB,则找到交点。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,0,1,8,4,5]。从各自的表头开始算起,链表 A 为 [0,9,1,2,4],链表 B 为 [3,2,4]。从各自的表头开始算起,链表 A 为 [2,6,4],链表 B 为 [1,5]。在 B 中,相交节点前有 1 个节点。相交节点的值为 2 (注意,如果两个链表相交则不能为 0)。

2024-04-07 22:23:54 895

原创 LeetCode 19.删除链表的倒数第N个结点

双指针的经典应用,如果要删除倒数第n个节点,让fast移动n步,然后让fast和slow同时移动,直到fast指向链表末尾。删掉slow所指向的节点就可以了。给你一个链表,删除链表的倒数第。思路是这样的,但要注意一些细节。个结点,并且返回链表的头结点。你能尝试使用一趟扫描实现吗?

2024-04-07 11:33:34 334

原创 LeetCode 24.两两交换链表中的节点

交换完后,cur应该指向temp的前一个结点,此时的firstNode指针就是指向了temp的前一个结点,所以交换完后,cur的下一步应该到firstNode。给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。设置temp指针,指向secondNode后的结点,即cur后的第三个结点,用来保存下一步要成对交换的第一个结点。设置secondNode指针,指向cur后的第二个结点,设置firstNode指针,指向cur后的第一个结点,设置cur指针从头结点开始向后遍历,

2024-04-07 10:58:40 271

原创 LeetCode 206. 反转链表

pre和cur每往前走一步就修改当前结点指针的方向,这时候还需要一个指针temp来保存一下修改前该结点下一个结点的位置,为了修改后cur能走到修改前的下一个结点。为什么要保存一下这个节点呢,因为接下来要改变 cur->next 的指向了,将cur->next 指向pre ,此时已经反转了第一个节点了。之前链表的头节点是元素1, 反转之后头结点就是元素5 ,这里并没有添加或者删除节点,仅仅是改变next指针的方向。如果再定义一个新的链表,实现链表元素的反转,其实这是对内存空间的浪费。

2024-04-07 10:19:52 365

原创 LeetCode 707. 设计链表(单链表、(非循环)双链表 模板)

/ 链表变为 1->2->3。// 现在,链表变为 1->3。(什么时候加this什么时候不加?感觉刷题的时候好像不用考虑权限修饰符和this)myLinkedList.get(1);以指示链表中的上一个节点。假设链表中的所有节点下标从。你可以选择使用单链表或者双链表,设计并实现自己的链表。是指向下一个节点的指针/引用。

2024-04-04 21:49:03 364

原创 LeetCode 59 螺旋矩阵(模拟)

模拟最先要找到的就是每一趟填数的规律,最后归结为由哪几个变量的变化可以控制模拟的路径。把自然思考的方式转换成代码,按路径把数填到新数组中。所有元素,且元素按顺时针顺序螺旋排列的。

2024-04-02 22:41:45 209

原创 LeetCode 209 长度最小的子数组(滑动窗口,双指针实现)

给定一个含有n个正整数的数组和一个正整数target找出该数组中满足其总和大于等于target的长度最小的,并返回其长度如果不存在符合条件的子数组,返回0。2子数组[4,3]是该条件下的长度最小的子数组。10O(n)解题思路:(From:代码随想录)

2024-04-02 22:18:32 320

原创 LeetCode 977 有序数组的平方(双指针法)

平方后的数列两边大中间小,所以考虑使用双指针从左右两边往中间便利,两边的数进行比较逐一存到新开辟的同样大小的数组result中。平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100](Java刷题还是不太习惯)组成的新数组,要求也按。

2024-04-02 22:14:11 156

原创 LeetCode 27 移除元素(学习双指针法)

给你一个数组nums和一个值val,你需要移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下://是以“引用”方式传递的。也就是说,不对实参作任何拷贝// 在函数里修改输入数组对于调用者是可见的。

2024-03-28 10:04:26 336 1

原创 LeetCode 704 二分查找

重新开始刷题了,不过这次开始要用Java来写了。,如果目标值存在返回下标,否则返回。个元素有序的(升序)整型数组。二分,注意每次查找时的边界判断。

2024-03-28 09:40:31 242

原创 22吉林大学软件需求分析与规范(Software Requirements Analysis & Specification)

吉林大学软件需求分析与规范(Software Requirements Analysis & Specification)

2023-11-04 16:37:59 1733 2

原创 安装Anaconda后配置Pytorch环境

安装Anaconda后配置Pytorch环境

2023-10-06 18:29:54 533

原创 简易十字路口智能红绿灯系统

简易十字路口智能红绿灯系统

2023-08-12 13:45:45 263

原创 Win10右下角任务栏网络图标消失不见,设置中通知区域网络开关是灰色的解决办法

ctrl+alt+.打开任务管理器,选中Windows资源管理器,重新启动,解决。这个问题总时不时出现,有时自己好了有时又消失不见有点烦人,写个博客记录一下。

2023-04-10 16:49:50 1142 1

原创 PyCharm2022配置conda环境 选择Conda Environment

5.点击Load Environments,可以加载出创建的环境,选择点击ok即可。2.选择conda中的环境,点击Add Interpreter。4. 选择conda安装路径,找到_conda.exe。1.点击新建项目(New Project)6.可以使用conda中的环境了。3.选择conda环境。

2023-04-10 15:58:28 2022

原创 jupyter notebook的使用

或者直接在所在文件夹的上方地址栏中输入jupyter notebook同样可以在这个文件夹中打开编辑器。在.ipynb文件所在的文件夹中直接进入cmd,输入jupyter notebook命令打开编辑器。

2023-04-03 09:53:55 101

原创 jupyter notebook默认快捷键

Jupyter 笔记本有两种不同的键盘输入模式。允许您将代码或文本输入到一个单元格中,并通过一个绿色边框的单元格来表示将键盘与笔记本级命令绑定在一起,并通过一个灰框、左边距蓝色的单元格显示。F: 查找并且替换Ctrl-Shift-F: 打开命令配置Ctrl-Shift-P: 打开命令配置Enter: 进入编辑模式P: 打开命令配置Shift-Enter: 运行单元格, 选择下面的单元格Ctrl-Enter: 运行选中的单元格Alt-Enter: 运行单元格并且在下面插入单元格。

2023-04-03 09:30:39 404

原创 复试上机KY175连通图

初始设定每个结点的老大是自己,当输入一条边之后,这条边的两个结点要打一架(归并),靠左原则确定双方老大哪一个上位。最后检查所有结点的老大(注意是findfather()而不是father【】,因为要看最终老大)是否是同一个,若是则连通。随后有 m 行数据,每行有两个值 x 和 y(0

2023-03-20 09:33:23 116 1

原创 复试上机KY179搬水果(哈夫曼)

在一个果园里,小明已经将所有的水果打了下来,并按水果的不同种类分成了若干堆,小明决定把所有的水果合成一堆。每一次合并,小明可以把两堆水果合并到一起,消耗的体力等于两堆水果的重量之和。假定每个水果重量都为 1,并且已知水果的种类数和每种水果的数目,你的任务是设计出合并的次序方案,使小明耗费的体力最少,并输出这个最小的体力耗费值。可以先将 1,2 堆合并,新堆数目为3,耗费体力为 3。解题思路:运用哈夫曼的思想,找到最小值后将最小值的值和位置记录下来,将数组中最后一个值放到最小值所在位置并n--。

2023-03-19 21:46:13 168 2

原创 复试上机KY176排列与二进制

从n个不同元素中取出m(m

2023-03-19 10:58:24 88 1

原创 复试上机KY177平方因子

对于每一个输入的整数,在单独的一行输出结果,如果有不为1的完全平方数因子,则输出Yes,否则输出No。给定一个数n,判定它是否有一个不为1的完全平方数因子。也就是说,是否存在某个k,k>1,使得k*k能够整除n。解题思路:注意k*k整除n,n是被除数,所以要想整除就要k*k

2023-03-18 18:02:16 86

原创 复试上机KY178数字之和

对于每个输入数据,计算其各位数字之和,以及其平方值的数字之和,输出在一行中,之间用一个空格分隔,但行末不要有空格。对于给定的正整数 n,计算其十进制形式下所有位置数字之和,并计算其平方的各位数字之和。每行输入数据包括一个正整数n(0

2023-03-18 17:37:13 107

原创 复试上机KY174翻牌

在本题目中,还引入另外一种洗牌方式,就是把前一半(如果总数是奇数,就是(n-1)/2)牌翻转过来,这种操作称之为翻转(flip)。给定n张牌,初始次序为从1到n,经过若干次的shift和flip操作后,结果会是什么样?n表示牌的数目,1

2023-03-18 16:41:24 91

安阳工学院软件测试考试复习试卷以及答案.rar

ayit计算机科学与信息工程学院软件测试考试复习题 整理完毕

2019-06-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除