自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1511)
  • 问答 (5)
  • 收藏
  • 关注

原创 结构体(C)

C++中的类其实就是C语言中的结构体的延伸与扩展。

2020-03-03 23:35:11 282

原创 深搜练习——P1189SEARCH

深搜练习——P1189 SEARCH1.题目见 链接2.思想step 1.找出在某点可以行进的长度len,得到之后使用for循环遍历,再判断下个点。step 2.如果已经走了n次了,那么到达的该点就是可疑点。但是如果只是单纯的dfs,只能得到三个样例的分数。接下来就是剪枝的事儿了。那么该怎么剪枝呢?先看下面这张图。针对给出的城市地图,以及行进序列,我给出了两种dfs方式,其中cur...

2020-03-02 22:47:42 411

原创 单链表的实现(C++)

使用C++实现单链表。其实我个人是推荐使用python的,C++版的单链表写着是真费劲儿,奈何已经上了贼船~

2020-03-01 01:04:45 759 1

原创 【算法竞赛刷题模板12】单调队列

利用【单调队列】求区间m内的最小/大值。

2020-02-29 22:35:49 691 1

原创 快速幂

快速幂倍增

2020-02-28 20:34:30 541

原创 位运算详解

位运算1.常见的位运算2.位运算的主要应用

2020-02-28 13:11:26 929

原创 【算法竞赛刷题模板14】大整数乘法

大整数乘法本文不适合零基础选手1.要求实现大整数乘法。2.实现主要思想step1. 同大整数加减法,以先存低位,再存高位的方法,把一个大整数放到int型的数组中。step2.做乘法的时候,需要注意代码的写法。【重点】#include<iostream>#include<cmath>using namespace std;const int max...

2020-02-23 15:01:33 578

原创 C++实现循环移位

C++实现循环移位1.1 大循环1.2 小循环

2020-02-22 22:40:21 3195

原创 C++中常用容器介绍

详细介绍C++中的常用容器的常用方法,包括vector,map,string,set等等。

2020-02-22 10:23:51 557

原创 dfs刷题模板总结

dfs刷题模板总结0.前言本文主要讲解平常刷题中常用到的dfs,并总结出了基本套路模板。1.什么时候用dfs?(该用的时候用), 屁话dfs是经常使用的暴力解法。常常,其优化版本要么是记忆化搜索,要么就是dp。但是因为dfs很好想,而且很好实现(只要递归即可),所以dfs常常出现在题解中。2.如何用dfs?dfs出现的地方,常常对应的是多个选择的地方,选或者不选;放或者不放;做或者不...

2020-02-20 18:11:26 1382 1

原创 P3884 [JLOI2009]二叉树问题

P3884 [JLOI2009]二叉树问题1.题目见链接,看完题目之后,很多人可能对题目的描述存在疑问。查询两个节点的距离是,这两个节点是否有相对的左右关系?如果没有的话,那么请在测试数据中体现出来【这是一个很好的测试点】。应该是没有的。否则,还需要判断谁左谁右,这是一个麻烦的问题【因为仅仅通过给出的输入数据无法知道左右子树】-> 进而也就推导出【给出的求距离的两点是有左右关系的(...

2020-02-18 11:12:02 711

原创 判断链表序列是否对称

1.链表是否对称代码void isSymmetric(Node *L){ int arr[maxSize]; //链表中共有n个元素 Node *r; r = L->next; int i = 0; while(i < (linkListSize)/2){//当小于一半的时候 arr[i] = r->data; r = r->next;//循环 i++; }

2020-02-15 21:30:39 4115

原创 【算法竞赛bug经验谈】编程经验总结【C/C++】

写算法题时,悲催不是你的 wrong answer,而是在你写完代码之后,你却发现你的思路存在纰漏。这里总结了一些我写题时的一些常犯错误,供大家编程时参考。

2020-02-15 21:23:38 903

原创 【洛谷】P1057传球游戏

P1057传球游戏1.题意见链接2.分析这题需要使用手动简单的模拟一下,原题中的一个测试用例便是一个好的例子,传球只能往左边或右边传,相应的,传球次数减一,我们深搜这个状态直到最终传到第一个人手里。于是得到深搜的主要过程:f[i][j] = dfs( (i+1)%n,j-1 ) + dfs( (i-1 + n)%n,j-1 );。其中f[i][j]代表的是经过j次传球回到i号人手中3....

2020-02-08 18:23:51 551

原创 P1192 台阶问题

P1192 台阶问题1.问题见题目2.分析具有子问题特性,需分治(递归)解决类似Fibonacci数列问题建立适当的递推式即可需要在适当的地方运用数论的知识 [(a+b) mod n =((a mod n)+(b mod n)) mod n ]3.代码#include<iostream>using namespace std;const int maxN =...

2020-02-08 09:15:03 502

原创 【算法竞赛刷题模板14】大整数加法

大整数加法

2020-02-06 20:27:49 586

原创 【算法竞赛刷题模板2】归并排序

本文不适合零基础选手观看。

2020-02-06 01:03:39 675

原创 【洛谷】P1010 幂次方

络谷 P1010 幂次方1.题意见链接2.分析递归处理即可3.代码#include<iostream>using namespace std;//将数num的2次方表达式打印出来 void printNum(int num){ if(num == 2){ cout <<"2"; return ; } while(num>0)...

2020-02-05 21:07:01 420 1

原创 记忆化搜索专题

记忆化搜索专题训练0.前言有些时候朴素深搜会出现超时情况,所以诞生出一种记忆化搜索的dfs,其实它也是dfs,只不过在dfs的过程中,添加了赋值的过程,这个赋值的过程就叫做记忆。这里面会根据一些题目来讲解记忆化搜索。1.样例分析1.1 题目 络谷 P1434滑雪1.2分析找出每个坐标点*(x,y)* 的最大滑雪距离,并为其赋值,若下次还搜到了这个点,这直接返回这个值,而不用再次搜索...

2020-02-05 11:42:54 360

原创 OJ常用技巧

OJ常用技巧

2020-02-04 20:37:09 1155

原创 P1032 字串变换

P1032 字串变换1.题目2.代码3.坑点01.相同的某串字符竟然可以对应多个不同的字符串针对上述的情况,我们就不应该使用map<string,string> 这种方式来存储映射关系,而是应该使用两个数组,分别记录原数组,转换后的数组即可。(同时应该看到因为只有6个转换规则,使用两个数组存储还是很方便的)02.主串中的可替换的字符串可能不止一个。所以需要替换多...

2020-02-04 10:39:57 396

原创 lower_bound与upper_bound函数

在数组有序的前提下,可以使用 lower_bound,upper_bound 等函数迅速查找出某个位置的下标。其中 lower_bound 找出序列中第一个大于等于x的数upper_bound找出序列中第一个大于x的数。

2020-01-29 16:30:45 414

原创 求最长不下降子序列的个数

最长不下降子序列的个数0.问题1.计算一个序列的最长不下降子序列长度2.并且给出这个序列中最长不下降子序列的个数1.代码如下所示。其中1.len[i]存放以i为递增序列尾部元素的最长序列长度(注意是最长序列)2.cnt[i]存放以i为递增序列尾部元素的最长序列个数(注意是最长序列)#include<iostream>using namespace std;...

2020-01-27 11:34:11 947

原创 EOJ 3303. 1 的个数最多的整数

EOJ 3303. 1 的个数最多的整数1.ac代码#include<cstdio>#include<iostream>#include<cstdlib> #include<bitset>typedef unsigned long long ull;using namespace std;int main(){ int n,j ...

2020-01-05 13:08:12 436

原创 ECNU3337.我认识你

ECNU_3337.我认识你1.题意2.思路使用bitset进行图信息的存储,我尝试过使用bool型的王二维数组都不行!只能用bitset3.AC代码#include<cstdio>#include<iostream>#include<bitset>using namespace std;const int MAX_N = 4e4 + 10;...

2020-01-05 11:09:40 379

原创 c++中bitset的使用

c++中bitset的使用在对于数据量很大的情况下,使用bitset是个不错的选择。下面我给出一些平时不大能想起来的处理bitset 的方法。1. bitset的构造方法使用默认构造器,每位填充0。使用一个整数作为参数。【在构造的时候,会将这个整数转换成相应的二进制数,然后对bitset进行填充】使用一个0/1字符串对bitset进行填充。2. 常用方法1.可以对两个bitse...

2020-01-05 10:56:03 540

原创 3357.吉吉木的野望

3357.吉吉木的野望1.无数学规律,直接实现即可。需要理解的是:为何对于k=10^9这样的数,仍然可以把k取成一个定值(如100)也可以。原因就在于在某个k之后,对式子的结果在误差范围内已经没有影响了。下面我给出程序源代码以及在一定的测试用例,就可以验证上面的规律。#include<iostream>#include<cstdio>using names...

2020-01-04 13:15:53 690

原创 ECNU-2018计算机学院考研机试

ECNU 2018计算机考研上机测试1.3533 庙会不需要一轮一轮的模拟,直接取余输出即可。代码如下:#include<cstdio>#include<iostream>using namespace std;int main(){ int n,m,round; cin >> n >> m >> round; fo...

2020-01-03 17:00:03 703

原创 gdb使用入门

gdb入门使用一.gdb是什么?略二.gdb怎么用?略三.命令详解1.调试命令s或step(gdb) s4 for (i=1;i<=n;i++)(gdb) p i$11 = 0可以看到执行命令s之后,出现了一行4 for (i=1;i<=n;i++),这代表着即将执行的一行,我们打印i的值可以看到,此时的i的值仍然是0。再执行s命令,再打印i的值,...

2020-01-02 12:38:30 598 4

原创 PAT 1003 Emergency

PAT 1003 Emergency1. 题意找出最短路径的条数,并输出某种要求下(此题是救援队伍最多)的路径的特征值。2.分析dijkstra算法3.代码#include<cstdio>#include<iostream>#define maxn 500#define INF 100000using namespace std;int N ,M...

2019-08-14 21:07:47 329

原创 QQ邮箱`Could not connect to SMTP host: smtp.qq.com, port: 25`

报错Could not connect to SMTP host: smtp.qq.com, port: 25如果在windows的机器中使用代码发邮件(使用QQ邮箱)是没有问题的,但是如果使用云端服务器则可能会出现错误(报错如上所示)。1.报错Could not connect to SMTP host: smtp.qq.com, port: 252.报错原因如果是在windows的机...

2019-07-30 20:03:07 6399 2

原创 图书馆约座代码小结(2019-07-30)

图书馆约座代码小结(2019-07-30)1.前言每一段时间,都需要有一个自己的总结。这俩天没有去图书馆看书,因为我觉得我需要“搞点儿事情”,太安分的一个人注定一生平平淡淡,循规蹈矩,难有作为!之前在博文里提到过因为学校图书馆的座位采取了预约制,导致那些每天看书的人都需要登录加预约,有的时候竟然还需要进行抢座。这真的很不方便!于是我在7-28号午觉醒来便跟一个朋友商量,准备做一个方便同学约...

2019-07-30 19:55:19 1169

原创 处理Jsoup连接超时问题

处理Jsoup连接超时问题1.问题在使用jsoup进行爬虫时,发现有时候会因为网络的原因而中断了程序的执行。【正如《计算机网络》中所说的那样,因为网络层是不可靠的,必须由应用层的程序保持可靠性。所以在程序里就必须要考虑到连接不上服务器的情况!】2.解决方法这种问题的解决方法无异于以下几种:使用超时属性,将超时时间扩大成60s等【例如在Jsoup中,其超时时间默认是30s】修改的代码如下...

2019-07-17 08:39:07 2655

原创 Java 爬虫实战之模拟登陆

Java 爬虫实战之模拟登陆import java.io.IOException;import java.util.HashMap;import java.util.List;import java.util.Map;import org.jsoup.Connection;import org.jsoup.Jsoup;import org.jsoup.Connection.Metho...

2019-07-08 20:47:34 1073

原创 矩形面积交

矩形面积交1.题目http://oj.kfcoding.com/problem/1-122.简介3.分析求出相交的x轴长度;相交的y轴长度。然后输出面积值。因为x轴和y轴是相同的,所以我们可以按照一种方式计算出x轴的相交长度,同样的函数调用,就可以得到y轴的相交长度。根据上述的分析,代码如下:4.代码#include<cstdio>#include<io...

2019-05-19 20:09:15 1984 3

原创 单源最短路径算法总结

dijkstra算法问题总结

2019-05-14 21:34:53 750

原创 多条单源最短路径

多条单源最短路径 C++版1.题意给出一个图,找出到某个点的最短路径,并输出路径。如果最短路径有多条,则全部输出。2.分析step1:dijkstra 算法step2:dfs深搜3.代码#include<cstdio>#include<vector>#include<iostream>#include<algorithm>#...

2019-05-13 20:16:02 1792

原创 PAT 1123 Is It a Complete AVL Tree C++版

PAT 1123 Is It a Complete AVL Tree C++版1.题意给出一个整数列,判断由这个数列得到的平衡二叉树是否是一棵完全的平衡二叉树。2.分析主要分成两个步骤:step 1:得到一棵平衡二叉树step 2:判断是否完全第一部分在PAT中已经有题目(pat 1066)实现过了。第二部分也已经题目(记不清了)有实现过。简单的拼接一下即可。3.代码#inc...

2019-05-11 21:51:05 430

原创 PAT 1131 Subway Map

PAT 1131 Subway Map (C++版)【updating…】1.题意2.分析主要问题如下:1.如何标志是否换乘?使用一个 unordered_map<int, int> line;用于标记这两个站之间的到底是几号线。因为得到的路线是按照站台依次进行的,所以依次保存两个站台之间的线路信息即可。3.代码其它我怎么觉得这题跟 1018 Public Bike...

2019-05-11 20:43:17 449

原创 PAT 1066 Root of AVL Tree C++版

PAT 1066 Root of AVL Tree C++版1.题意给出一个整数序列,现在需要让你输出以这个序列构建得到的AVL树的根节点。2.分析之前我一直都是按照个人的理解做AVL ,对于考试题来说,则是相当简单的,但是如果让我单独实现一棵AVL树,我之前是不会的。但是今天看到晴神的书之后,恍然大悟,又进一步理解到**“算法只不过是一种抽象”**,而代码又只是将这种抽象实现起来罢了。...

2019-05-10 20:12:38 563 2

空空如也

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

TA关注的人

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