自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 收藏
  • 关注

原创 递归算法(一)

写在前面:事实上,如今真正能够实现尾递归的编译器少之又少。在这里读者不必过分追求从普通递归转化到尾递归,可以仅仅将其作为知识的拓展,或者是为解题提供新的思路。之前一直觉得自己对递归算法思考深度不足,现在用Java做了一些经典的递归练习题,并尽量将代码优化成尾递归。回顾一下函数调用的大概过程:1)调用开始前,调用方(或函数本身)会往栈上压相关的数据,参数,返回地址,局部变量等。2...

2019-01-16 12:27:42 285

原创 labelme将JSON标记文件转换为PNG图像

要将labelme生成的JSON标记文件转换为PNG二值图像,只需运行labelme提供的官方程序labelme_json_to_dataset即可。当然,前提是你已经安装好labelme了哈。

2023-12-30 10:00:51 671

原创 Python实现校园网自动连接

用过校园网的小伙伴可能深有体会,在连接上校园网之后,需要再进行一个用户认证,才算真正的连接成功。这就会带来一些问题,比如若在长时间内没有网络请求,用户认证就会失效,它会自动断开校园网,这时,需要重新认证才能解决。我看了眼上网明细,发现系统喜欢在夜里3:00悄眯地下线,主打一个神不知鬼不觉~这对于一些经常需要远程控制桌面的小伙伴并不方便,连不上网自然也就无法在这边进行重连。解决的办法也很简单,只需要写一个代码,实现在指定时间内打开校园网认证的网页,输入账号密码并点击登录即可。具体如下。

2023-07-15 21:41:48 468 2

原创 Python中的主函数

在Python代码中,我们常常看到主函数是以if __name__ == '__main__'开头的,那么它的原理是什么呢?

2023-04-13 19:17:05 1912

原创 2022蓝桥杯省赛——卡片

小蓝有 k 种卡片, 一个班有 n 位同学, 小蓝给每位同学发了两张卡片, 一位同学的两张卡片可能是同一种, 也可能是不同种, 两张卡片没有顺序。没有两位同学的卡片都是一样的。小朋友们手中的卡片可能是: (1,1),(1,2),(1,3),(2,2),(2,3),(3,3)(1,1),(1,2),(1,3),(2,2),(2,3),(3,3)。可惜的是,由于无法将记忆化数组的长度设为10^9,通过率只有80%。对于 50% 的评测用例, 1≤n≤10^4。对于所有评测用例, 1≤n≤10^9。

2023-04-05 10:30:29 1035

原创 2022蓝桥杯省赛——砍竹子

从评测用例规模中我们可以看到,竹子的最大高度为10^18,通过循环我们易求出二维数组的列数最大值是m=6。魔法可以对连续的一 段相同高度的竹子使用, 假设这一段竹子的高度为 H, 那么用一次魔法可以把这一段竹子的高度都变为。再回来看第i和第i-1棵竹子在砍的时候是否有出现相同的高度,每出现一次计数器减1。这天, 小明在砍竹子, 他面前有 n 棵竹子排成一排,一开始第 i 棵竹子的 高度为 hi​。这样一来,我们就能很直观地看出来,有两次砍竹子的动作是多余的,于是执行两次计数器减操作。共需要 5 步完成。

2023-04-04 20:37:53 5830 1

原创 2022蓝桥杯省赛——数位排序

当两个数各个数位之和不同时, 将数位和较小的排在前面, 当数位之和相等时, 将数值小的排在前面。例如, 2022 排在 409 前面, 因为 2022 的数位之和是 6, 小于 409 的数位之和 13。1 到 13 的排序为: 1,10,2,11,3,12,4,13,5,6,7,8,9。给定正整数 n, m, 请问对 1 到 n 采用这种方法排序时, 排在第 m 个的元素是多少?又如, 6 排在 2022 前面, 因为它们的数位之和相同, 而 6 小于 2022。输出一行包含一个整数, 表示答案。

2023-04-03 21:14:37 1291

原创 2022蓝桥杯省赛——超级质数

如果一个质数 P 的每位数字都是质数, 而且每两个相邻的数字组成的两位 数是质数, 而且每三位相邻的数字组成的三位数是质数, 依次类推, 如果每相邻的 k 位数字组成的 k 位数都是质数, 则 P 称为超级质数。这题其实是质数排列组合问题。由一位数扩展到多位数:一位数的质数有2、3、5、7;这是一道结果填空的题, 你只需要算出结果后提交即可。本题的结果为一 个整数, 在提交答案时只填写这个整数, 填写多余的内容将无法得分。如果把超级质数 P 看成一个字符串, 则这个超级质数的每个子串都是质数。

2023-04-03 18:53:20 115

原创 2023蓝桥杯省模拟赛——滑行

小蓝准备在一个空旷的场地里面滑行,这个场地的高度不一,小蓝用一个 n 行 m 列的矩阵来表示场地,矩阵中的数值表示场地的高度。如果小蓝在某个位置,而他上、下、左、右中有一个位置的高度(严格)低于当前的高度,小蓝就可以滑过去,滑动距离为 1 。如果小蓝在某个位置,而他上、下、左、右中所有位置的高度都大于等于当前的高度,小蓝的滑行就结束了。小蓝不能滑出矩阵所表示的场地。小蓝可以任意选择一个位置开始滑行,请问小蓝最多能滑行多远距离。

2023-04-02 21:32:05 2058 1

原创 2022蓝桥杯省赛——顺子日期

涉及日期的问题,自己硬肝的话需要考虑各种限制条件(比如:大月31天,小月30天,2号闰年29天,平年28天等等),极易出错,最好的解决方法就是调用库函数的日期类。例如 20220123 就是一个顺子日期,因为它出现了一个顺子:123;而 20221023 则不是一个顺子日期,它一个顺子也没有。顺子指的就是连续的三个数字:123、456 等。顺子日期指的就是在日期的。小明想知道在整个 2022 年份中,一共有多少个顺子日期?表示法中,存在任意连续的三位数是一个顺子的日期。

2023-03-31 21:59:06 714

原创 2022蓝桥杯省赛——修剪灌木

爱丽丝在每天傍晩会修剪一棵灌木, 让灌木的高度变为 0 厘米。爱丽丝修剪灌木的顺序是从最左侧的灌木开始, 每天向右修剪一棵灌木。当修剪了最右侧的灌木后, 她会调转方向, 下一天开始向左修剪灌木。设其中一棵灌木为x,爱丽丝刚刚修剪完x,所以x此时的高度为0。爱丽丝继续向左/向右前进,一直修到最左端/最右端并折返,当重新到达x灌木处时,x灌木的高度为最大值。在第一天的早晨, 所有灌木的高度都是 0 厘米。因此,我们只需计算每一棵灌木距离左端更远还是距离右端更远,更远意味着灌木的生长时间更长。

2023-03-31 20:35:26 2218

原创 2023蓝桥杯省模拟赛——列名

【问题描述】在 Excel 中,列的名称使用英文字母的组合。前 26 列用一个字母,依次为 A 到 Z,接下来 26×26 列使用两个字母的组合,依次为 AA 到 ZZ……请问第 2022 列的名称是什么。这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个由大写字母组成的字符串,在提交答案时只填写这个字符串,填写多余的内容将无法得分。

2023-03-30 21:37:00 549

原创 01背包问题

可以看到,rec以(3,2)为参数调用了两次,浪费了一些时间。因此,我们可以通过记忆化数组,把第一次调用时的结果记录下来,以避免重复计算。【题目描述】有n个重量和价值分别为wi,vi的物品。从这些物品中挑选出总重量不超过W的物品,求所有挑选方案中价值总和的最大值。通过记忆化数组,时间复杂度从O(2^n)降到了O(nW)。但是在初始化数组时,要特别注意它的容量要足够大。【输入样例】第一行为n值,第二行为n个w值,第三行为n个v值,第四行为W值。先用最朴素的方法,针对每个物品是否放入背包进行搜索试试看。

2023-03-27 18:48:47 100

原创 matplotlib中文不能正常显示

利用matplotlib进行数据可视化时,常常会遇到中文不能正常显示的问题,这时只需将以下代码添加进去即可解决。

2023-03-25 13:13:54 200

原创 BFS(宽度优先搜索)的应用问题——走迷宫

BFS与DFS的不同之处在于搜索的顺序:BFS总是先搜索距离初始状态近的状态;而DFS是从某个状态开始,不断地转移状态直至无法转移,然后退到前一步的状态,继续转移其他状态,如此不断重复,直至找到最终的解。【问题描述】给定一个大小为M×N的迷宫。迷宫由通道和墙壁组成,每一步可以向邻接的上下左右四个的通道移动。下面是一个M×N的矩阵表示迷宫(其中‘#’、‘.’、‘S’、‘G’分别表示墙壁、通道、起点和终点)。小技巧:因为要向4个不同方向移动,用dx[4]和dy[4]两个数组来表示四个方向向量。

2023-03-24 20:35:24 230

原创 Python二维数组不同初始化方式的差异

但是第二种初始化方式就需要注意了,它是浅拷贝。0*n是将0的索引复制了n遍,然后[0*n]*m是将0*n的索引复制了m遍。所以如果某一行的某个元素发生了改变,其他行的对应列位置的元素也会跟着一起改变。初始化二维数组后没有改变元素的需求(这一点很难保证,因为说不定以后什么时候就需要改变了)。第一种初始化方式通过两层for循环,创建了m*n个元素,是深拷贝。极不推荐第二种初始化方式。只是初始化一维数组。

2023-03-23 20:18:24 209

原创 最大公约数和最小公倍数的关系

两个数的乘积等于这两个数的最大公约数与最小公倍数的乘积。假设有两个数是a、b,它们的最大公约数是p,最小公倍数是q。那么有这样的关系:ab=pq。拓展到n个数:n个数的乘积等于这n个数的最大公约数与最小公倍数的乘积。假设这n个数的最大公约数是p,最小公倍数是q,那么。

2023-03-08 18:52:00 653

原创 Python如何输入int型二维数组

有一点需要注意:Python中没有空数组这一说法,所以在定义数组时必须将其初始化。

2023-03-02 16:45:01 1217

原创 Anaconda如何打开Python IDLE Shell

我们都知道Anaconda中包含了Python,但是在开始菜单中却找不到Python自带的编译器,在Anaconda的安装路径中也没有。那么如何通过Anaconda打开Python Shell IDLE呢?第一步,打开Anaconda Prompt。第二步,输入idle。

2023-02-24 21:55:16 1721

原创 Add Python Interpreter 报错 Error code:2. XX can‘t open file XX [Errno 2] No such file or directory

刚下载Anaconda3,用conda create -n spytorch python=3.9命令创建了一个名为spytorch的虚拟环境;然后又下载了pycharm,结果往pycharm里配置时报错!下面是我踩坑的过程以及解决方法。

2023-01-02 11:58:20 8113 44

原创 用Python生成器输出杨辉三角

通过生成器输出杨辉三角

2022-06-02 21:00:00 1084

原创 DOS中的cd命令

DOS(Disk Operating System),即磁盘操作系统。cd命令用于改变当前目录,有以下几种用法:1、进入某个子目录(只能一级一级地进入,不能跨级,除非给出详细路径)。假设当前目录下有个子目录sp,若要进入这个子目录,就输入cd sp提示符由C:\>变成C:\SP>,说明已经成功进入,当前目录为sp。2、返回上一级。例如从目录sp返回上一级,就输入cd..3、直接返回根目录。cd/4、直接到某个根目录。这时不用cd.

2022-05-11 11:31:08 7013

原创 C++语言程序设计——知识点复盘(第六章 数组、指针与字符串)

目录数组数组的初始化数组作为函数参数对象数组指针内存空间的访问方式指针变量的声明与地址相关的运算“*”和“&”指针的赋值指针运算用指针处理数组元素例.设有一个int型数组a,有10个元素。用三种方法输出各元素例.利用指针数组输出单位矩阵用指针作为函数参数例.读入1个浮点数,将整数部分和小数部分分别输出指针类型函数指向函数的指针例.函数指针实例对象指针this指针指向类的非静态成员的指针指向类的静态成员的指针.

2022-05-05 10:04:07 482

原创 C++语言程序设计——知识点复盘(第五章 数据的共享与保护)

标识符的作用域是指一个标识符在程序正文中有效的区域。C++中包括以下几种作用域:1、函数原型作用域是C++程序中最小的作用域。2、局部作用域3、类作用域4、命名空间作用域

2022-04-28 11:09:40 1402

原创 C++语言程序设计——知识点复盘(第四章 类与对象)

面向对象程序设计的基本特点1、抽象包括数据抽象和行为抽象,分别得到数据成员和函数成员。2、封装就是将抽象得到的数据和函数相结合,形成类。同时通过对成员的访问权限合理控制,增强数据的安全性和建合伙程序编写工作。3、继承在原有类特性的基础上,进行更具体、更详尽的说明。只有继承,才可以在一般概念的基础上,派生出特殊概念。4、多态指一段程序能够处理多种类型对象的能力。包括强制多态、重载多态、类型参数化多态、包含多态4种形式来实现。虚函数是多态性的精华。类和对象在面向对象程序设

2022-04-19 23:36:43 1291

原创 C++语言程序设计——知识点复盘(第三章 函数)

目录函数的定义函数的参数传递1、值传递2、引用传递内联函数带默认形参值的函数函数重载C++系统函数函数的定义main函数是C++程序的主函数,一个C++程序可以由一个主函数和若干子函数构成。主函数是程序执行的开始点。调用其他函数的函数称为主调函数,被调用的函数称为被调函数。我们知道,变量在使用之前需要声明,类似地,函数在调用之前也需要声明(定义属于声明)。如果希望在定义一个函数前调用它,则需要在调用函数之前田间该函数的函数原型声明。格式如下:类型说明符 函数

2022-04-18 10:55:05 1635

原创 C++语言程序设计——知识点复盘(第二章 简单程序设计)

C++语言概述C语言具有许多优点:执行效率高、可以直接访问物理地址等。尽管如此,由于C语言毕竟是一个面向过程的编程语言,因此与其他面向过程的编程语言一样,已经不能满足运用面向对象方法开发软件的需要。C++便是在C语言基础上为支持面向对象的程序设计而研制的、通用的程序设计语言,于1980年在AT&T贝尔实验室中诞生。C++的两大特点:1、尽量兼容C(因此C++不是一个纯正的面向对象的编程语言);2、支持面向对象的方法。简单来说就是,既支持面向过程的程序设计,又支持面向对象的程序设计。关

2022-04-17 11:55:40 618

原创 C++语言程序设计——知识点复盘(第一章 绪论)

面向对象目的:为了能更直接地描述客观世界中存在的事物(即对象)以及它们之间的关系。面向对象的编程语言:将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性和行为,形成类。五个基本概念:对象、类、封装、继承、多态性。面向对象的软件开发软件危机:随着计算机应用领域的扩展,计算机所处理的问题日益复杂,软件系统的规模和复杂度增加,以至于软件的复杂性和其中包含的错误已达到程序员无法控制的速度,这也促进了软件工程的形成与发展。面向对象的软件工程:面向对象的分析(OOA)、面向对象

2022-04-16 20:18:00 414

原创 C++语言程序设计——知识点复盘(开篇)

写在前面上一次正儿八经地写博客已经是两年前了,两年的考研时光使人身心俱疲,深深的感受到考研这条赛道也许并不适合自己,后来想一想,可能通过本科竞赛和GPA走申请制的大学会更好一些。可惜没有及时全身而退,无奈在这个到处唯分数论、应试教育猖獗、劣币驱除良币的地方,被消磨掉了一点点学习的初心和热枕,成为了教育发展的牺牲品。 “时代的一粒尘埃,落在个人头上,就是一座山。” 调侃归调侃,离开学还有四个多月,这段时间我打算把本科学过的一些东西重新拎出来...

2022-04-15 22:03:30 288

转载 批量删除微博

进入微博自己的主页,打开后台Console,运行以下代码,即可删除当前页面的所有微博。PS:原理仍是逐条删除,需要耗费时间,不过可以节省人力。var s = document.createElement('script');s.setAttribute( 'src', 'https://lib.sinaapp.com/js/jquery/2.0.3/jquery-2.0.3.min.js');s.onload = function() { setInterval(function

2022-03-11 11:55:47 1783 1

原创 cmd中无法通过cd命令进入指定路径

在 cd 和指定路径之间添加 /d如:

2020-07-07 09:27:40 3114 4

原创 JSP两种路径写法的比较

1、如果路径以文件名或目录名开头,则目标路径是一个在当前路径下(或在当前所在文件夹中)的,与该指令所在文件同级的文件。2、如果路径以“/”开头,则该“/”表示省略了的根目录,比如省略了根目录“http://localhost:8080”。...

2019-12-05 16:09:17 183

原创 JDBC使用Statement和PreparedStatement实现简单的增删改查

数据库student中有一个学生信息表student(没错数据库和表的名字一样),如下:其中id是主码,设置成自动递增且不为null;name也设置成不为null。现欲通过JDBC的Statement和PreparedStatement,简单实现对该表的增删改查。首先是主菜单页面(index.jsp):<%@ page language="java" import="jav...

2019-11-01 17:22:15 442 1

原创 CSP201709-4通信网络

问题描述试题编号: 201709-4 试题名称: 通信网络 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   某机构由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只能单向传递信息,即一条从部门a到部门b的通路只能由a向b传递信息。信息可以通过中转的方式进行传递,即如果a能将信息传递到b,b...

2019-10-31 15:12:35 155

原创 对ArrayList存放的对象,按其某属性自定义排序

直接上代码,简单粗暴:import java.io.*;import java.util.*;class num{ int id; int value; public num(int id, int value) { super(); this.id = id; this.value = value; }}public class test { public s...

2019-10-31 15:03:16 262

原创 MySQL登录失败——ERROR 1045 (28000)

错误提示:或出现输入密码后回车闪退的现象。错误原因:因用户名或密码错误而拒绝访问解决步骤:1、停止MySQL服务我的电脑--右键--管理--服务和应用程序--服务--找到‘MySQL’--停止2、跳过验证找到MySQL安装路径下的my.ini配置文件,用记事本打开,在最后一行添加语句skip_grant_tables,意思是跳过验证,此时在dos上输入任意密码均...

2019-10-25 17:19:53 722

原创 阶乘

求n!当n比较大的时候,计算复杂度将会很高。此时引入斯特林公式:求n!的位数一个整数x的位数=lg(x)+1因此n!的位数=lg(n!)+1=lg(1*2*...*n)+1=lg(1)+lg(2)+...+lg(n)+1注意:计算过程中的数据类型用double,最后的输出要强制转换成整型。...

2019-10-03 12:26:43 130

原创 如何找数组中的最小值和次小值

遍历一遍数组即可找到最小和次小。设用s和ss分别表示最小和次小:(1)s=ss=首元素;(2)遍历各元素:如果 当前元素<s,则ss=s, s=当前元素。

2019-10-01 21:46:09 3416 3

原创 CSP201604-4游戏

问题描述试题编号: 201604-4 试题名称: 游戏 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   小明在玩一个电脑游戏,游戏在一个n×m的方格图上进行,小明控制的角色开始的时候站在第一行第一列,目标是前往第n行第m列。   方格图上有一些方格是始终安全的,有一些在一段时间是危险的,如果小明控制...

2019-09-14 09:50:54 236

原创 CSP201703-4地铁修建

运行超时,只得了80分。如果用C写应该就没有问题了。问题描述试题编号: 201703-4 试题名称: 地铁修建 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   A市有n个交通枢纽,其中1号和n号非常重要,为了加强运输能力,A市决定在1号到n号枢纽间修建一条地铁。   地铁由很多段隧道组成,每段...

2019-09-13 12:49:43 204

空空如也

空空如也

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

TA关注的人

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