自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

li_il的博客

还差得远呢

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

转载 C++里 const int* 与 int const*辨析

const在*的左边,值不能修改。const在*的右边,地址不能修改。

2022-09-17 10:22:14 318

原创 C语言之宏替换

1.宏替换的形式#define 名字 替换文本后续所有出现名字的地方都将被替换为替换文本。替换文本可以是任意的,例如#define forever for(;;) //无限循环该语句为无限循环定义了一个新名字。2.带参数的宏定义宏定义可以带参数,这样可以对不同的宏调用使用不同的替换文本。例如,下列宏定义了一个宏max:#define max(A,B) (A>B?A:B)再例如,下列宏定义了一个可交换两个变量值的宏swap(参数t为数据类型):...

2021-04-02 00:39:18 4115 3

原创 strlen()与sizeof()辨析

一.简介 头文件 功能 strlen() string.h 计算给定字符串的(unsigned int型)长度,不包括'\0'在内 sizeof() 无 判断数据类型长度符的关键字 二.区别strlen 是一个函数,它用来计算指定字符串 str 的长度,但不包括结束字符(即 null 字符)。sizeof是一个单目运算符,而不是一个函数,它返回的结果包含结束字符 null。示例代码#include<string.h>#incl.

2021-03-25 08:48:48 279

原创 在服务器部署一个可被外网访问的flask示例

一.Flask简介Flask是一个由Python语言写成的轻量级Web框架,最早由奥地利人Armin Ronacher于2010年发布。Flask最显著的特点是它是一个“微”框架,轻便灵活,但同时又易于扩展。默认情况下,Flask 只相当于一个内核,不包含数据库抽象层(ORM)、用户认证、表单验证、发送邮件等其它Web框架经常包含的功能。Flask依赖用各种灵活的扩展(比如邮件Flask-Mail,用户认证Flask-Login,数据库Flask-SQLAlchemy)来给Web应用添加额外功能。Fla

2021-03-16 15:39:11 14709 1

原创 python常用函数

print()作用:输出文本参数:end 指定在参数末尾打印什么 sep 指定在参数末尾打印什么 示例:

2021-02-20 09:44:53 78

原创 Anaconda安装pytorch-gpu出现PackagesNotFoundError报错的解决方法

问题描述Anaconda在已经添加了清华源的情况下安装pytorch-gpu还是出现了PackagesNotFoundError报错,如下(需添加截图)如果不使用官方源,速度又实在太慢,基本上就是停滞。解决方法通过一番查询后发现可通过修改.condarc文件来解决。这里的.condarc文件就是Anaconda用来记录下载源网址的文件,所以也可以通过命令来进行修改,不过直接修改文件更快。该文件的路径为“C:\用户\你的用户名\.condarc”打开文件后将内容更换为如下内容即可

2021-01-29 10:15:42 2568 3

原创 C++将十进制数以八进制/十六进制输出的2种方式

一.使用<stdio.h>的printf函数 %o 以八进制输出 %x 以十六进制输出 代码示例#include<iostream> using namespace std;int main(){ int a; scanf("%d",&a); printf("原始数据:%d \n",a); printf("以八进制输出:%o \n",a); printf("以十六进制输出:%x",a); return 0;

2020-11-27 17:15:45 3538

原创 火狐浏览器错误代码:SEC_ERROR_BAD_SIGNATURE

情况说明配置Fiddler的HTTPS时,不知怎么回事出现了这个问题,不能打开任何网页。百度了一下,没有发现很好的办法,自己随便试了一下,发现只要把火狐浏览器中之前添加的证书删除就可以了,而且删除后不影响Fiddler对https网页的抓取。这种方法只适用于你在火狐浏览器中添加了fiddler证书的情况,如果不满足这个条件就不用往下看了。操作步骤:1.在选项中查找证书2....

2020-02-16 19:54:58 11645 2

原创 C/C++的坏习惯总结

1.用地址输出字符数组例如下列代码#include<iostream>#include<cstdio>#include<string.h>using namespace std;int main(){ char n[20]={"hello world"}; cout<<n<<endl; return 0;}...

2019-12-05 17:04:08 210

原创 C/C++的移位运算

简介移位运算是位运算的一种,具有简介高效的特点。原理就是将存储数值的二进制数进行左移(<<)或者右移(>>)。左移位(<<)例如10对应的二进制数是1010,左移一位就变成了10100,位数增加了一位,数值扩大了两倍。就像十进制的10,左移一位,变成100,其值就扩大了10倍。示例代码#include<iostream>usi...

2019-12-02 00:47:20 1047

转载 C/C++读入整行字符串

方法一:scanf()读入char[]使用方法:char str[1024];scanf("%[^\n]",&str);getchar();说明:在scanf函数中,可以使用%c来读取一个字符,使用%s读取一个字符串, 但是读取字符串时不忽略空格,读字符串时忽略开始的空格,并且读到空格为止,因此只能读取一个单词,而不是整行字符串。  其实scanf函数也可完成这样的功...

2019-11-30 17:28:12 882

原创 01背包问题

题目描述给定N种物品和一个容量为V的背包,物品i的体积是wi,价值为vi。从这些物品中挑选出总重量不超过W的物品,求所有挑选方案中价值总和的最大值。限制条件1<=n<=1001<=wi,vi<=1001<=W<=10000样例输入n=4(w,v)={ (2,3) , (1,2) , (3,4) , (2,2) }W=5...

2019-11-29 17:39:46 271

原创 pyqt5:删除树控件(QTreeWidget)的子节点/根节点

主要代码 # 删除控件树子节点/根节点 def deleteItem(self): try: # 尝试删除子节点(通过其父节点,调用removeChild函数进行删除) currNode = self.tree.currentItem() parent1 = currNode.parent(...

2019-11-28 15:49:58 8530 1

原创 pyqt5之信号-槽(pyqtSignal)

简介pyqt的信号槽机制就是可自定义一个信号,可将信号与一个槽函数绑定,每当发送这个信号时,就将调用绑定的槽函数,并将信号包含的参数传递给该槽函数。代码示例from PyQt5.QtCore import pyqtSignal, QObjectclass signal(QObject): # 自定义一个信号 my_sighal = pyqtSignal(str)...

2019-11-27 23:01:45 12390 7

原创 Fence Repair(POJ3253)

题目描述DescriptionFarmer John wants to repair a small length of the fence around the pasture. He measures the fence and finds that he needsN(1 ≤N≤ 20,000) planks of wood, each having some integ...

2019-11-26 01:00:47 101

原创 C++将字符串赋给char数组/数组指针

赋值给字符数组方法一按字符的逐个赋值给数组,如下所示#include<iostream> #include<string.h>using namespace std;int main(){ char s2[5]={'h','e','l','l','o'}; for(int i=0;i<5;i++) cout<<s2[i];...

2019-11-24 16:34:57 9117 2

原创 pyqt:在按键处显示新窗口

简述在按键处显示窗口,关键之处在于获取按键在桌面的位置。我们可以先通过self.x()/self.y()获取窗口相对于桌面的位置,然后在获取按键相对于窗口的位置,将对应坐标相加就是按键相对于桌面的大致位置了。效果新窗口的位置会随着按键的位置而变化,但总是在按键的下方示例代码from PyQt5.QtCore import *from PyQt5.QtWidgets im...

2019-11-19 01:26:01 885

原创 pyqt:点击按键打开新/子窗口的两种方法

方法一在主函数中,将点击按键的动作关联到子函数的show函数。代码示例from PyQt5.QtWidgets import *import sysclass MainWindow(QWidget): def __init__(self): super().__init__() self.initUI() def initU...

2019-11-18 09:43:26 19379 12

原创 基于UDP协议编写一个简单的通讯软件

简介本小项目使用python+PyQT编写一个基于UDP的通讯软件。客户端只有两个界面,如下所示软件结构项目分为两部分,一部分是客户端,一部分是服务器。服务器不断监听指定的端口,并将接收到的消息再重新发到该端口。客户端包含一个线程,负责监听从服务器发来的消息,当在客户端按下发送按键时,会将输入框中的内容发送到服务器。代码服务器import sockets ...

2019-11-01 00:27:37 1478

转载 PyQt5代码报错"name 'QColor' is not defined"

解决方案添加下面的引用from PyQt5.QtGui import QColor

2019-09-23 10:53:47 3266 3

原创 不用制作启动盘的win10正版系统重装系统教程

制作成启动盘,对u盘来说是有坏处的,u盘的速度可能会下降,但是对于装win10系统来说,有一种不用制作启动盘的方法。一.下载官方装机工具从这个网站下载微软官方的装机工具:https://www.microsoft.com/zh-cn/software-download/windows10二.启动工具,并对u盘进行设置选择对应的版本选择u盘选择你自己的u盘...

2019-08-31 11:16:58 4445 3

原创 《统计学习方法》学习笔记之第一章:统计学习方法概论

1.1 统计学习1. 统计学习关于数据的基本假设是同类数据具有一定的统计规律性,这是统计学习的前提2. 统计学习主要分为:监督学习(supervised learning) 非监督学习(unsupervised learning) 半监督学习(semi-supervised learning) 强化学习(reinforcement learning)3. 本书主要讨论监督学习,...

2019-07-21 14:31:40 463

转载 WPF-DataGrid-获取选中单元所在行数和列数

这种方法是通过使用函数来实现,调用函数时便可获得选中单元所在的行数和列数public int rowIndex;public int columnIndex;private bool GetCellXY(DataGrid dg, ref int rowIndex, ref int columnIndex) { var _cells = dg.Se...

2019-07-10 11:17:50 6375 7

原创 Python-OpenCV之模板匹配

简介模板匹配:模板匹配和卷积原理很像,模板在原图像上从原点开始滑动,计算模板与当前图形被模板覆盖的地方的差别程度,然后将每次计算的结果放入一个矩阵,作为结果输出。假如原图形是A*B大小,而模板是a*b大小,则输出结果的矩阵是(A-a+1)*(B-b+1)计算模板和图像差别程度的六种方法1.TM_SQDIFF:计算平方不同,计算出来的值越小,越相关2.TM_CCORR:计算相关性...

2019-07-04 02:32:28 1417 1

原创 Github Desktop(Windows桌面版)简单教程

简介Github是世界上最大的开源及私有软件项目的托管平台。简单来说就是你可以的你的代码放在上面,然后别人可以下载你的代码,也可以参与你的代码的修改和完善。Github传统的使用方式是Git,用很多命令来进行操作。具体操作可以看这个

2019-05-25 01:15:52 5713

原创 汇编语言的简单了解

汇编语言是什么?对于人类来说,二进制程序是不可读的,根本看不出来机器干了什么。为了解决可读性的问题,以及偶尔的编辑需求,就诞生了汇编语言。汇编语言是二进制指令的文本形式,与指令是一一对应的关系。比如,加法指令00000011写成汇编语言就是 ADD。只要还原成二进制,汇编语言就可以被 CPU 直接执行,所以它是最底层的低级语言。来历为了解决二进制指令的可读性问题,工程师将那些指令写...

2019-05-18 11:47:10 2439 1

原创 数据结构之树

基础知识树的定义:树是n (n≥1) 个结点的有限集合T,并且满足有一个被称之为根(root)的结点 其余的结点可分为m(m≥0)个互不相交的集合Tl,T2,…,Tm,这些集合本身也是一棵树,也有自己的根结点,它们被称为根结点的子树(Subree)。树结构中的概念有序树:计算机的存储是有序的,为方便计算机处理,往往把子结点按从左到右的次序顺序编号,即把树作为有序树(orde...

2019-03-24 23:22:15 298

原创 动态规划之扔鸡蛋(或手机)问题

引入有2个鸡蛋,从100层楼上往下扔,以此来测试鸡蛋的硬度。比如鸡蛋在第9层没有摔碎,在第10层摔碎了,那么鸡蛋不会摔碎的临界点就是9层。问:如何用最少的尝试次数,测试出鸡蛋不会摔碎的临界点?分析注意:题目的一个隐含在该最少次数下,一定能测出。完美解决这个问题的思路是先逆向假设存在一个最优解x,第一次就应该从x层开始扔。为什么要从第x层开始扔呢?假设第一次扔在第x+1层...

2019-03-23 16:17:09 994 3

原创 2018年第九届蓝桥杯省赛题解

第一题:第几天2000年的1月1日,是那一年的第1天。那么,2000年的5月4日,是那一年的第几天?注意:需要提交的是一个整数,不要填写任何多余内容。可以用Excel,也可以用计算器,也可以用日历,也可以。。。口算。嗯。答案是125。但是我在比赛的时候填的是124。因为我以为填的是时间间隔。第二题:明码汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广...

2019-03-22 01:29:15 1054 1

原创 最长上升子序列问题(LIS)

题目有一个长为n的数列a0,a1,...,a(n-1)。请求出这个序列中最长的上升子序列的长度。上升子序列指的是对于任意的i<j都满足ai<aj的子序列。限制条件:1<=n<=1000, 0<=ai<=1000000样例输入:n=5 a={4,2,3,1,5}输出:3(a1,a2,a4构成的子序列)分析最长上升子序列...

2019-03-21 11:19:23 664

原创 C++连续读入个数未知的数字

背景在很多题目中都会需要连续读入若干个数字,而数字的个数可能是未知的,这时候要怎么办呢?这里假设需要读入一行未知个数的数字。从命令行读入方法一先以字符的形式的读入,再将字符转换成数字方法二读入一个数字,再读入一个空格,再读入一个数字...循环往复,直到读到换行符为止。代码示例int a[100],t=1;cin>>a[0];while(cin.ge...

2019-03-21 01:11:31 5142 5

原创 二叉搜索树(基于C/C++)

简介搜索树是一种可以进行插入,搜索,删除等操作的数据结构,可以用作字典或优先级队列。二叉搜索树是最简单的搜索树。其左子树的键值<=根节点的键值,右子树的键值>=根节点的键值。如果共有n个元素,那么每次操作需要的O(log n)的时间.常用知识点满二叉树 :一棵深度为k,且有2^k-1个节点的二叉树,称为满二叉树。这种树的特点是每一层上的节点数都是最大节点数。 完...

2019-03-20 01:53:46 886

原创 关于数据结构的基础知识

1.数据结构的三要素:数据的逻辑结构 数据的物理结构 数据的运算2.数据的逻辑结构集合结构:数据元素间的次序是任意的 线性结构:数据元素之间构成一个有序序列 树状结构:数据元素之间形成一个层次结构 图状结构:最一般的逻辑结构,图中的每个元素的前驱和后继数目都不限3.数据结构常见的运算有以下几种创建 清除 插入 删除 搜索 更新 访问 遍历4.数据结构的实现...

2019-03-19 01:21:07 447

原创 《挑战程序设计竞赛》学习笔记(例题分析)

深度优先搜索深度优先搜索(Depth-First Search,简称DFS)是最常用的搜索方法之一,它的思想为“一条路走到底”。例如要遍历下图图片来源若以0为起点,则dfs的遍历路径为0->1->4->5,此时已无路可走,于是便开始回退,直到1的位置,然后再沿另外一个方向开始遍历1->6->2。其算法常为如下结构void dfs(int ste...

2019-03-15 00:12:12 478

原创 C++之读写文件的常用操作

头文件C++中与文件输入输出相关的函数定义在头文件<fstream> 中<fstream>读写类型fstream中定义了三个类型来支持文件的读写,分别是ifstream 从一个给定文件中读取数据 ofstream 向一个给定文件写入数据 fstream 读写给定文件 常用操作假设创建一个未绑定的文件流:fstrea...

2019-03-08 11:38:31 413

原创 python与C/C++的语法差异(慢更)

因为需要,经常两种语言之间转换,总是会出些小问题,在此慢慢总结记录,以便后续使用判断c++if(条件): 需执行代码;else if(条件): 需执行代码;else: 需执行代码;pythonif 条件: 需执行代码elif 条件: 需执行代码else: 需执行代码总结C++判断的条件要写在括号里,而py...

2019-03-07 00:05:51 462

原创 Linux常用快捷键和命令

快捷键光标操作Ctrl+B 光标向前移动 Ctrl+F 光标向后移动 Ctrl+A 光标跳回首字母 Ctrl+E 光标移动到尾字母 删除Ctrl+D 删除光标后面的字符 Ctrl+W 删除光标位置(前)的单词 Ctrl+U 擦除从当前光标位置到行首的全部内容 Ctrl+K 擦除从当前光标位置到行尾的全部内容 ...

2019-02-27 14:11:55 765

原创 金士顿U盘修复

因为装系统,做启动盘,新买的金士顿64G u盘的速度变得很慢,经常低于了1MB/s,难以忍受,这可是USB3.1的啊。从格式化到量产工具,折腾了一圈,最终用一个金士顿的官方修复软件,把问题勉强解决了。不能确保和原先速度一样,但是比格式化后的效果要好。我的U盘信息软件链接:金士顿U盘修复工具Kingston Format Utility 1.0.3.0官方免费版使用过程:自需要启动软...

2019-02-25 18:12:42 10441 3

原创 python-OpenCV之轮廓的查找,绘制,特征,近似,外接矩形

轮廓查找简述轮廓即是以某种方式表示图像中的曲线的点的列表,可以把轮廓理解为一个有序的点集。OpenCV函数原型cv2.findContours(img, mode, method)参数解释img 输入的原图片 mode 轮廓检索模式 RETR_EXTERNAL :只检索最外面的轮廓; RETR_LIST:检索所有的轮廓,并将其保存...

2019-02-24 23:19:34 16851 2

原创 Python-OpenCV之图像金字塔

高斯金字塔向下采样(缩小)步骤:将原图像与高斯核进行卷积 将所有偶数行和列去除向上采样(放大)步骤:将图像在每个方向扩大为原来的2倍,新增加的行和列用0填充 使用先前同样的内核(乘以4)与放大后的图像进行卷积,获得近似值。图片来自OpenCV函数原型向上采样cv2.pyrUp(InputArray src, OutputArray dst...

2019-02-11 22:16:21 200

《计算机科学速成课》笔记

我是为了复习计算机组成原理而看得视频,所以看了和组成原理相关的小结。笔记主要是直接复制字幕的,然后自己改动了些,使其更有逻辑。图片也都是从视频中截取。 感谢字幕组的翻译

2018-12-21

空空如也

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

TA关注的人

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