自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从位运算看二进制枚举

位运算符在C语言中,数据是以二进制存在的,比如2的二进制表示就是10,3的二进制表示就是11……既然有二进制,那么肯定也有类似于十进制一样的运算方法了。C语言中提供了六种运算符:运算符&|^~<<>>说明按位与按位或按位异或取反左移右移解释:按位与(&):在二进制的位上,只有两个值都为1,按位与的结果才为1,否则为0,例如 1&1=1(001 & 001),2&1=0(010 &amp

2020-06-29 17:24:31 59

原创 4.22深搜题解

一、P1030求先序排列题目描述给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度≤8)。输入格式2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。输出格式1行,表示一棵二叉树的先序。输入输出样例输入 #1BADCBDCA输出 #1ABCD题解:题中给出了两个字符串,分别为二叉树的中序和后序排列,在后序排列中可知,后序排列的最后一个值为根节点,因此,我们只需要不停的寻找子节点的后序排列并且输出其最后的那个值就可以得到答案了

2020-06-01 11:41:05 90

原创 01背包问题

在动态规划问题中,常常会见到这种类型的问题:有一个贼偷东西,每件物品都有相应的价值以及重量,贼只带了一个能装下一定重量的包,问:贼该如何偷东西才能获得最大收益?作者第一次见着这样的题的时候,以为能用贪心算法计算,但是很快就否认了自己想法,反例如下:物品序号12物品价值2030物品重量23性价比1010当遇到上面的两种情况的时候,就不好进行选择了,况且,贪心算法只能计算在“当前”最优的结果,而不能保证一定正确,所以用贪心算法是不能解决的,所以,我们需要

2020-06-01 11:38:41 178

原创 从位运算到二进制枚举

位运算符在C语言中,数据是以二进制存在的,比如2的二进制表示就是10,3的二进制表示就是11……既然有二进制,那么肯定也有类似于十进制一样的运算方法了。C语言中提供了六种运算符:运算符&|^~<<>>说明按位与按位或按位异或取反左移右移解释:按位与(&):在二进制的位上,只有两个值都为1,按位与的结果才为1,否则为0,例如 1&1=1(001 & 001),2&1=0(010 &amp

2020-06-01 11:37:07 55

原创 4.12大一深搜题解

明明是学深搜的一周,结果这里一道深搜的题解也没有~~一、洛谷P1082同余方程题目描述求关于x xx的同余方程 ax≡1(mod b) 的最小正整数解。输入格式一行,包含两个正整数 a,b 用一个空格隔开。输出格式一个正整数 x0,即最小正整数解。输入数据保证一定有解。输入输出样例输入 #13 10输出 #17说明/提示【数据范围】对于 40%的数据,2≤b≤...

2020-04-22 10:18:00 74

原创 神奇的STL容器之list

list 即双向链表,和数组一样是用来存储数据的容器,与数组比起来其有如下优缺点:优点:因为是链表,存储的数据都是在“一条链子上的”,增删数据的时候是不需要挪动没有改变的数据的位置的,所以增删数据效率高不需要划分一整片的空间来存储数据,通过首尾的指针变量即可存储前一个和后一个节点的位置缺点:因为是链表,所以不能像数组一样直接访问链表上的节点,只能通过类似于“顺藤摸瓜”的方式查找数组...

2020-04-10 11:47:35 22

原创 猴子都能看懂的DP(动态规划)入门

在吃了几次DP的亏以后,我终于开始着手准备DP的博文了……首先推荐一篇图文:https://mp.weixin.qq.com/s/3h9iqU4rdH3EIy5m6AzXsg转自程序员小灰,侵删图文所使用的JAVA代码我已经将其转换为了CPP代码并贴于文末,有兴趣自取~~首先让我们来了解一下,什么是动态规划动态规划(dynamic programming)是运筹学的一个分支,是求解...

2020-04-10 11:43:04 116

转载 C语言指针浅谈

大家都在说,指针是C语言里面的一个很重要的东西,那么,为什么他重要呢?指针的作用指针解决了一些编程中的基本问题:指针的使用使得不同区域的代码可以更加高效的共享内存数据,尤其是结构体等大型的数据,占用内存比较多指针能够使得链表,链式二叉树等的构建成为可能有些操作必须要使用指针,比如操作申请的堆内存,还有,C语言中的一切函数调用中,值的传递都是“按值传递的”,如果我们要在函数中修改被传递过...

2020-03-15 22:10:55 30

原创 通过SMTP协议发送邮件

前言:关于SMTP的介绍请看这里本文主要讲解的是如何通过Python自带的email库发送邮件包括 纯文本文件的发送以及带有附件的邮件发送这里我们使用的邮箱是网易的163邮箱,其他邮箱的操作类似,请自己测试开启smtp的教程在这儿,我们不再过多赘述,请牢记您的授权码发送一个简单的纯文本邮件在Python中,内置了对smtp协议的支持,内置了smtplib和email两个模块,其中,e...

2020-03-15 22:06:03 77

原创 STL的神奇容器之map

STL的神奇容器之map前言:STL是C++中的标准库之一,主要由迭代器,算法,容器,仿函数,内存配置器和配接器留部分组成,可以帮助程序员完成许多功能完善,形式多样的程序,而这在ACM竞赛中,STL也因此成为了AC利器我们这几篇博文都主要讲解一下STL的容器:STL的神奇容器之队列map与映射其实,map就是一种映射,只不过相当灵活,他可以做到向Python中的字典一样,形成唯一的键值...

2020-02-18 15:14:38 50

原创 STL的神奇容器之set

STL的神奇容器之set前言:STL是C++中的标准库之一,主要由迭代器,算法,容器,仿函数,内存配置器和配接器留部分组成,可以帮助程序员完成许多功能完善,形式多样的程序,而这在ACM竞赛中,STL也因此成为了AC利器我们这几篇博文都主要讲解一下STL的容器:set简介set是集合的意思,是一个内部自动排序且不重复的一个容器,可以用来自动去重和排序,其内部是依靠“红黑树”来实现的set...

2020-02-18 15:14:00 28

原创 STL的神奇容器之队列

队列与优先队列1、队列在了解优先队列之前,我们先了解一下队列:想象有一群人,他们排好队在食堂打饭,众所周知,打饭这事儿,还得遵循一个先来后到吧,所以,最早来的人,也是最早出去的,这就是队列那我们如何定义一个队列呢?首先,写一个头文件 #include <queue>或者可以直接使用万能头文件 <bits/stdc++.h>然后使用初始化命令:queue<...

2020-02-18 15:13:13 30

原创 两种搜索算法

两种搜索算法今天来讲一下常见的两种算法:广度优先搜索和深度优先搜索这两种算法呢各自都有自己的特点,下面我来详细的解析一下1.广度优先算法广度优先算法,顾名思义,广度优先,他是在借助队列的情况下,通过不停的切换起点来对树进行搜索为了给大家解释这个问题,我找来了一棵树假如我们以A作为起点,以H作为终点,于是,我们把目光投降A,我们先把A加入队列中,然后我们检查与A相连的节点,发现A与B,C...

2020-02-18 15:10:44 69

原创 求一个数的因子和

求一个数的因子和Input输入一个正整数T(T<=10000),表示有T组数据,每组数据包括一个整数n(1<=n<=1e12)Output输出这个数的因子和Sample Input12Sample Output3解析:利用唯一分解定理/算数基本定理来解决这道题因为题目所给的数据十分bigou,所以利用暴力枚举的方式应该是不太现实的那我们先来解释一下什...

2020-02-18 15:09:31 37

原创 STL容器之string

使用string类来让我快乐1979年,贝尔实验室的Bjarne Stroustrup设计开发了一款新的中级语言C++,进一步扩充和完善了C语言,而他的一个重要贡献就是引进了面向对象设计的新特性今天要讲的,就是C++里面的一个常用的类——stringstring的基本用法//头文件#include<string>using namespace std;string类的构...

2020-02-18 15:08:32 19

原创 素数筛法

素数筛自古以来,素数就是一个有众多人研究的东西,而素数筛也是这些研究成果中的一个素数筛是用来快速生成一个素数表的东西,比起生成素数的幼稚算法及其优化的方法,素数筛的速度更快,但是也常常会出现很多奇奇怪怪的bug,以后再说。今天先介绍一下欧拉筛和埃氏筛这两种筛法是素数筛里最常见的1.埃氏筛原理:​ 素数的倍数一定不是素数思路:​ 我们先生成一个数组vis,给上面每一个位置都初始化为...

2020-02-18 15:06:58 286

原创 C语言高精度

加法#include<bits/stdc++.h>using namespace std;char string1[100],string2[100];int number1[100],number2[100];void plus_number(){ int len; len=strlen(string1)>strlen(string2)?strle...

2020-01-28 11:47:36 167

原创 P1644奶牛碑文

奶牛碑文奶牛碑文题目链接以下是题目图片:在这个题目中,我们应该要考虑这样几种情况:WOC: C后面没有字母,这种情况下,答案应当为0WCOCOW: C出现在了O或者W的后面WO: 字母不全这类问题与括号配对问题不同(力扣:有效的括号),本题有三个需要配对的元素,因此,这里建议使用轴的思想来处理这道题例如:以O为轴,统计O左边的C的个数,然后再统计O右边的个数,然后...

2020-01-03 15:56:45 85

原创 二叉树的Python实现

class TreeNode: def __init__ (self,val,left=None,right=None): self.value=val self.leftChild=left self.rightChild=rightnode=TreeNode(1)node2=TreeNode(10)root=TreeNode(5,...

2020-01-01 23:18:53 19

原创 Python快速排序实现

利用Python实现快速排序def partition(left,right): global items pivot_position=right pivot=items[pivot_position] right-=1 while True: while items[left]<pivot: left+=1...

2020-01-01 22:18:01 23

原创 C&C++笔记

函数puts():puts()函数是用来向标准输出设备输出字符串并换行,具体来说就是把‘\0’转换为’\n’,用法:puts(str) puts()函数包含在头文件<stdio.h>中.fputs():fputs()函数的第2个参数指明要写入数据的文件。如果要打印在显示器上,可以用定义在stdio.h中的stdout(标准输出)作为参数。与puts()不同,fputs()不会...

2019-12-07 17:02:52 33

原创 凯撒密码的加密与解密C语言实现

解密#include <stdio.h>#include <string.h>int main() { char string[120]; int shift,length; while (scanf("%s",string)!=EOF){ scanf("%d",&shift); length=strl...

2019-12-02 23:37:22 1107

原创 数字黑洞

数字黑洞题目:给你一个数字n,我们把这个数字上的每一位的平方再相加起来再赋值给n,例如123进行这个操作之后会变为14,我们重复这个过程的话数字有可能就会变为1,这认为这个数字的黑洞是1。现在若给你的数字的黑洞是1的话请输出要进行多少步这样的操作给你的n会变为1,若给你的数字最终在某一个数字下循环的话,请输出最后的这个循环数字,(循环的含义见hint样例2)题解这道题,我们要用多开一个数组...

2019-12-02 23:35:26 29

原创 C语言排序算法(冒泡排序,选择排序,插入排序,归并排序)

排序算法是计算机科学领域中被广泛研究的一个课题,历时多年,它发展出了数十种算法,这些算法都着眼于一个问题: 如何将一个无序数组整理成升序?接下来,我讲介绍其中的三种常用的排序算法:冒泡排序,选择排序,插入排序1.冒泡排序冒泡排序通过不停的比较前后两个元素的大小,并将其排序,从而最终使大的元素排到数组末尾,从而达到排序的目的。代码如下:#include <stdio.h>i...

2019-11-26 17:12:29 226

原创 将字符串中相同部分分割

将字符串中相同部分分割最近看到一个题目,其中需要将字符串中的相同部分分割并添加到列表中例如:将122221122转换为:[1,2222,11,22]实现这个程序最主要的是利用两个类似指针的东西对字符串进行扫描,获取相同的字符段的序列,然后使用append函数将其添加到列表中def split() string="122221122"+" " k=0 list_1=[] for i...

2019-10-20 09:24:43 139

原创 一元一次方程的改良与求解

一元一次方程的改良与求解题目来源:洛谷P1022 题目链接这里我使用了Python来求解这道题,其中使用了eval()函数re.sub()函数那么首先来讲讲 eval() 函数,这个函数可以将字符串转化为可以运行的表达式将字符串转换为可以用于计算的式子,例如:dict_1={'a':1,'b':2}print(eval("a+b"),dict_1)#输出为 3d...

2019-10-18 22:03:51 53

原创 乘最多水的容器问题与双指针法

乘最多水的容器问题与双指针法最近在力扣上看到一个题目,链接在这:乘最多水的容器经过思考以后呢,我想出了两个办法:第一个是使用遍历的方法去暴力的将所有的结果进行计算然后再输出最大值代码如下:class Solution: def maxArea(self, height: List[int]) -> int: waters=[] for i...

2019-10-11 12:57:35 45

原创 一键登录校园网

利用requests库实现校园网一键登录

2019-10-02 21:52:17 856

原创 requests 中文乱码问题

最近在新电脑上遇到了 requests 的 get 方法的中文乱码问题经过在网上查询得知是因为编码问题导致的

2019-10-01 20:05:25 78

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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