自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 中国石油大学(华东)计算机/软件考研经验分享

标题:2021中国石油大学华东计算机专硕,已拟录取,分享一下考研经验,希望能够帮助的2022的学生。写在前面我自己在备考时学长学姐们的经验贴为我指明了方向,因此上岸之后我也希望我的经验能够帮助到下一级的学生。有更多问题或者想要初试资料可以加qq群:480597791(请备注王道)。先介绍一下个人情况吧:本科山东科技大学自动化专业,有编程基础,由于种种原因,8月上旬开始考研,跨考+复习时长不到5个月,个人觉得自己的复习效率较高,初试成绩如下:总分政治英语二数学二859数据结构3

2021-04-01 22:30:05 4290 7

原创 LeetCode每日一题2020年5月(持续更新)

欢迎来访2020.5.1 21. 合并两个有序链表算法一:遍历/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution...

2020-05-01 00:51:45 1729

原创 56.数组中数字出现的次数 II

欢迎来访56.数组中数字出现的次数 II异或运算法则:x ^ y = y ^ x,交换律(x ^ y) ^ z = x ^ (y ^ z),结合律x ^ x = 0x ^ 0 = xx ^ y ^ x = y如果数组中有一个数是出现一次,其余的数出现两次,让我们找到这一个数,可以将所有的数异或一遍,记为sum,则最后的结果就是我们要找的数,其他的数在异或的过程中变为0。在...

2020-04-28 01:47:50 247

原创 卡特兰数

欢迎来访首先看一下卡特兰数。若一个数列hnh_nhn​满足:hn=∑i=0n−1hi⋅hn−1−ih_n = \sum_{i=0}^{n-1}h_i \cdot h_{n-1-i}hn​=i=0∑n−1​hi​⋅hn−1−i​则称hnh_nhn​为卡特兰数列。还有一种形式若:hn=C2nnn+1h_n = \frac{C_{2n}^n}{n+1}hn​=n+1C2nn​​也称hnh_n...

2020-04-20 20:47:05 372

原创 斐波那契数列的O(logN)求法

介绍求斐波那契数列时间复杂度为O(log⁡N)O(\log N)O(logN)的做法之前,我们先看一下快速幂。快速幂题目链接快速幂是数论中非常基础的算法。当我们要求abmodp,(1≤a,b,p≤109)a^b mod p, (1 \le a, b, p \le 10^9)abmodp,(1≤a,b,p≤109)时,如果是朴素做法,时间复杂度为O(N)O(N)O(N)显然会超时,而快速幂能...

2020-04-15 19:48:01 1988

原创 n皇后与数独

欢迎来访n皇后问题与数独问题可以说是搜索问题中非常经典的两个问题,因此放到一起总结一下。n皇后题目链接做法搜每一个格子,每一个格子有放与不放两种情况,按照这种顺序进行搜索。当然也可以按照行的顺序进行搜索。这里介绍一下,对角线与副对角线的表示方式:C++代码#include <iostream>#include <cstdio>#include &lt...

2020-04-14 14:48:41 234

原创 递归找子集、排列数与组合数总结

1.递归找子集:2n2^n2n①:无重复数字,题目链接②:有重复数字,题目链接2.递归找排列数:n!n!n!①:无重复数字,题目链接②:有重复数字,题目链接3.递归找组合数:CnmC_n^mCnm​①:无重复数字,题目链接②:有重复数字,题目链接找子集无重复数字对于每一个数都有选与不选两种选择,所以是指数级别。C++代码#include <bits/stdc++...

2020-04-05 22:29:59 280

原创 贪心 区间选点

题目题目链接分析做法:将所有区间按照右端点排序,遍历所有的区间,如果区间的左端点严格大于上一次选的点则答案+1,否则跳过该区间。证明:假设最优解的个数为ans,以这种做法选出点的个数为cnt。(证明两个数a,b相等,可以分别证明:a >= b,a <= b)1 证明ans <= cnt:ans为最优解,cnt为一种解,所以ans显然是小于等于cnt的。2 证明an...

2020-04-02 18:44:38 197

原创 波动数列

题目链接前提同余运算及其基本性质:1.线性运算:{3x+5y+z7x−2y+4z−6x+3y+2z\begin{cases}3x + 5y + z \\7x - 2y + 4z \\-6x + 3y + 2z\end{cases}⎩⎪⎨⎪⎧​3x+5y+z7x−2y+4z−6x+3y+2z​分析假设第一个数为x,第二个数为x+d1,第三个数为x+d1+d2,…这里的d1...

2020-03-31 10:37:29 392

原创 树状数组与线段树

树状数组与线段树的关系是完全包含关系,就是说只要是树状数组能求解的问题用线段树也能求解,但是树状数组有他的好处:① 代码短 ② 常数很小,即运行效率高。树状数组lowbit操作看树状数组前,先看一下lowbit操作。假如x的末尾有k个零,则lowbit(x)返回的是2k2^k2k。举个例子:若x = 10010000则lowbit(x)返回的是242^424就是10000。那么如何写lo...

2020-03-26 02:39:19 234

原创 单例模式

单例模式所谓类的单例设计模式,就是采取一定的方法保证在整个的系统软件中,对某个类只能存在一个对象实例,并且该类只提供一个取得该对象实例的方法。如果我们要让一个类在一个虚拟机中只能产生一个对象,我们首先必须将累的构造器的访问权限设置为private,这样就不能通过new操作符在类的外部产生类的对象了,但在类的内部仍然可以产生该类的对象。因为在诶的外部开始还无法得到类的对象,只能通过调用该类的某个静...

2020-03-20 14:51:20 77

原创 LeetCode 5.最长回文子串

算法一:动态规划时间复杂度:O(4nln⁡n4n\ln n4nlnn)状态个数:内层循环为调和级数n1+n2+n3+...+nn=n(ln⁡(n+1)+r)\frac{n}{1}+\frac{n}{2}+\frac{n}{3}+...+\frac{n}{n} = n(\ln(n+1)+r)1n​+2n​+3n​+...+nn​=n(ln(n+1)+r)(r为欧拉常数)状态转移:4分析闫氏...

2020-03-20 14:50:09 117

原创 外卖店优先级

欢迎来访题目题目链接分析拿到题目之后,首先想想暴力的做法,暴力的做法按照时间枚举,在某个时间点上枚举所有的外卖店若是有订单优先级就加上cnt(订单的数量) * 2,否则就减去1,再按照优先级的数值判断是否在优先缓存中。枚举完所有时间以后,再看T时刻的优先缓存中的外卖店的数量。这种暴力的时间复杂度我写的代码是O(N∗T+M∗T)O(N * T + M * T)O(N∗T+M∗T),显然是会超...

2020-03-12 00:17:38 740 1

原创 LeetCode 1361.验证二叉树

分析若是二叉树应该满足下面3个条件:1.有且仅有一个根节点(入度为0)。2.其他的节点的入度均为1。3.所有的节点均在一棵树上(其实这个就相当于条件1了)。c++代码class Solution {public: bool validateBinaryTreeNodes(int n, vector<int>& leftChild, vector<...

2020-03-06 14:29:51 218

原创 LeetCode 1360.日期之间隔几天

自己写只能说写的太繁琐了class Solution {public: bool leap_year(int year){ if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) return true; return false; } int month[2]...

2020-03-06 13:18:05 159

原创 空间限制xxMB

一般题目中不会卡空间,但是还是需要会计算。首先看一下,各种数据类型的长度。在K&R的The C Programming Language中写道:char占用一个字节,int通常代表特定机器中整数的自然长度。short类型通常为16位,long类型通常为32位,int类型可以为16位或32位。各编译器可以根据硬件特性自主选择合适的类型长度,但要遵循以下限制:short与int类型至少为1...

2020-03-06 13:16:56 736

原创 stringstream sscanf sprintf

stringstream#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <sstream>using namespace std;// 从一行输入中扣数字int main(){ int a[1...

2020-03-06 13:13:15 160

原创 蓝桥杯 算法提高 和谐宿舍2

ADV-298 和谐宿舍2#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 110;int n, m;int h[N];int f[N][N]; // f[i][...

2020-02-28 10:08:52 869

原创 蓝桥杯 算法提高 秘密行动

ADV-302 秘密行动#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 10010;int n;int a[N];int f[N][2]; // 第二维为0的话...

2020-02-28 10:07:57 683 1

原创 蓝桥杯 算法提高 输出二进制表示

ADV-305 输出二进制表示#include <iostream>#include <cstdlib>using namespace std;char s[10];int n;int main(){ cin >> n; itoa(n, s, 2); int end = 0; while (s[end] !=...

2020-02-28 10:06:14 327

原创 蓝桥杯 递增三元组

题目题目链接分析直接暴力O(N3)O(N^3)O(N3),显然超时。将三个数组排序,遍历bbb数组,二分找到aaa中小于b[i]b[i]b[i]的个数AAA,找到ccc中大于b[i]b[i]b[i]的个数CCC,ansansans+=A∗CA*CA∗C。时间复杂度,排序O(Nlog⁡N)O(N \log N)O(NlogN),查找O(Nlog⁡N)O(N \log N)O(NlogN),...

2020-02-28 10:01:29 350

原创 合唱队型

题目题目链接在最长上升子序列问题中,朴素做法(这道题数据范围较小朴素算法也能过)中记录的是f[i]中的i是最大值的位置,这道题可以记录拐点的位置,左右分别为LIS问题,一个从左往右,一个从右往左。代码#include <iostream>#include <cstdio>#include <cstring>#include <algorith...

2020-02-28 10:00:32 132

原创 最长上升子序列模型(LIS)

题目链接,O(N2)O(N^2)O(N2)能过。题目链接,O(Nlog⁡N)O(N\log N)O(NlogN)能过。O(N2)O(N^2)O(N2)做法DP:f[i]表示,以第i个数结尾的最长子序列的集合的最大值。#include <iostream>#include <cstdio>#include <cstring>#include <...

2020-02-28 09:59:22 188

原创 糖果

题目题目链接题目描述由于在维护世界和平的事务中做出巨大贡献,Dzx被赠予糖果公司2010年5月23日当天无限量糖果免费优惠券。在这一天,Dzx可以从糖果公司的NNN件产品中任意选择若干件带回家享用。糖果公司的NNN件产品每件都包含数量不同的糖果。Dzx希望他选择的产品包含的糖果总数是KKK的整数倍,这样他才能平均地将糖果分给帮助他维护世界和平的伙伴们。当然,在满足这一条件的基础上,糖...

2020-02-28 01:36:47 413

原创 鸣人的影分身

题目题目链接题目描述在火影忍者的世界里,令敌人捉摸不透是非常关键的。我们的主角漩涡鸣人所拥有的一个招数——多重影分身之术——就是一个很好的例子。影分身是由鸣人身体的查克拉能量制造的,使用的查克拉越多,制造出的影分身越强。针对不同的作战情况,鸣人可以选择制造出各种强度的影分身,有的用来佯攻,有的用来发起致命一击。那么问题来了,假设鸣人的查克拉能量为MMM,他影分身的个数最多为NNN,那...

2020-02-28 01:35:28 873

原创 蓝桥杯 等差数列

题目题目链接题目描述数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一部分的数列,只记得其中NNN个整数。现在给出这NNN个整数,小明想知道包含这NNN个整数的最短的等差数列有几项?输入格式输入的第一行包含一个整数NNN。第二行包含NNN个整数A1A_1A1​,A2A_2A2​,⋅⋅⋅,ANA_NAN​。(注意A1A_1A1​∼ANA_NAN​并不一定是按等差数列中的...

2020-02-28 01:33:07 1004

原创 糖果传递

题目链接分析过程 1->2->3->4->...->n->1 构成一个环 x1 x2 x3 x4 .... xn xi表示xi给xi+1糖果的个数,xi可正可负可为零。 本题要求|x1|+|x2|+|x3|+.....+|xn|的最小值。 限制条件:最后每个人获得均等糖果。 av表示平均值,a数组表示每个人初始糖果的数量。 a[1]...

2020-02-28 01:31:38 494

原创 X的因子链

题目题目链接题目描述输入正整数XXX,求XXX的大于111的因子组成的满足任意前一项都能整除后一项的严格递增序列的最大长度,以及满足最大长度的序列的个数。输入格式输入包含多组数据,每组数据占一行,包含一个正整数表示XXX。输出格式对于每组数据,输出序列的最大长度以及满足最大长度的序列的个数。每个结果占一行。数据范围1≤X≤2201 \le X \le 2^{20}1≤X≤220...

2020-02-28 01:28:08 681

原创 二级指针做函数参数

本文将介绍二级指针做函数输出以及做函数输入的三种内存模型从内存四区的角度对程序执行的过程进行剖析,通过这中方式来加深对指针的理解。二级指针做输出(在被调函数中分配内存)模型:主函数:int main(){ char *p = NULL; int len = 0; getMem(&p, &len); printf("p=%s\n", p); FreeMem(&...

2020-02-28 01:12:39 886

原创 循环队列的操作

为充分利用向量空间,克服假溢出现象的方法是:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。存储在其中的队列称为循环队列(Circular Queue)。循环队列是把顺序队列首尾相连,把存储队列元素的表从逻辑上看成一个环,成为循环队列。#include<stdio.h>#include<stdlib.h>#define MAXSIZE 10#define...

2020-02-28 01:12:34 216

原创 Cpp类的基础练习:商店货物

某商店经销一种货物。货物购进和卖出时以箱为单位,各箱的重量不一样,因此,商店需要记录目前库存的总重量。现在用C++模拟商店货物购进和卖出的情况。#include<iostream>using namespace std;class Goods{private: int weight; static int total_weight;public: Goods *pN...

2020-02-28 01:12:27 1264

原创 数组指针类型与函数指针类型

由于数组类型与函数类型的定义方法很类似,因此放到一起。数组指针数组类型的定义typedef int (myArrayType)[10];int main(){ int a[10]; myArrayType b;//等价于int b[10]; a[0] = 1; b[0] = 1; cout << a[0] << " " << b[0] &l...

2020-02-28 01:12:17 142

原创 Cpp中数组类的实现以及操作符的重载

Cpp中数组类的实现以及操作符的重载。Array.h#pragma onceclass Array{public: int mLength; int* mSpace;public: Array(int length); Array(const Array& obj); int& operator[](int i); Array& operator...

2020-02-28 01:12:08 305

原创 数组模板类-MyVector

实现非常简单的数组模板类(MyVector)中用到了泛型编程(模板类编程)、运算符重载、友元函数等知识,最重要的是加深了对内存分配的理解。所有容器提供的都是值(value)语意,而非引用(reference)语意。容器执行插入元素的操作时,内部实施拷贝动作。所以STL容器内存储的元素必须能够被拷贝(必须提供拷贝构造函数)。开始的时候不理解这句话,然后自己敲代码就理解了。我们在往容器里存数据的...

2020-02-28 01:11:59 2401 1

原创 03-树1 树的同构

每次做课后布置的题就要做好久,这个题老师讲的时候用的是C语言,我想用C++中的vector做发现做的过程中遇到了许多的问题,老是出现程序宕掉的问题,但让我十分开心的是,改完以后居然一次就AC了别提有多激动了,不过这代码只是完成了功能,可读性做的很差,尤其是判断同构的函数,但是以后回过头来看还是很有意思的吧????????。#include<iostream>#include<vector...

2020-02-28 01:11:49 102

原创 03-树2-List-Leaves

这道题花费了我四个小时,但是很开心一次AC,记录一下。花这么长时间的主要原因是,在第一次想的时候在构造树的结点的时候,没有加入结点的下标,导致后面越做越麻烦,好在及时修改,只花了4个小时????????。题目描述Given a tree, you are supposed to list all the leaves in the order of top down, and left to right...

2020-02-28 01:11:33 95

原创 06-图2 Saving James Bond - Easy Version

Saving James Bond - Easy VersionThis time let us consider the situation in the movie “Live and Let Die” in which James Bond, the world’s most famous spy, was captured by a group of drug dealers. He w...

2020-02-28 01:11:22 75

原创 06-图3 六度空间

“六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”如图所示。{% asset_img Snipaste_2019-11-16_16-42-02.png This is an image %}“六度空间”理论虽然得到广泛的认...

2020-02-28 01:11:09 747

原创 AcWing789.数的范围

题目链接#include<iostream>using namespace std;const int N = 100010;int q[N];int n, m;int main(){ cin >> n >> m; for (int i = 0; i < n; i++) scanf("%d", &q[i]); while (...

2020-02-28 01:09:55 266

空空如也

空空如也

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

TA关注的人

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