自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构与算法——树相关(树的构造、遍历、小技巧等)

在一些基础的算法题目中,树相关的题目出现的频率非常高,无论是面试基础题、PAT考试、考研机试、还是期末考试,都有很大机会遇见到,这类题目总体上不难,并且具有一定的技巧性,掌握一些基础的题型,这类问题也就迎刃而解了!下面来直接看例题,从题目中总结。1. 判断二叉搜索树题目概述:给定一个序列,问这个序列是否能构成某个二叉搜索树或者其镜像的前序遍历,输出为是否能构成,如果能构成输出后序遍历。思路分析我们就只要假设这个给定的序列是可以构成某个二叉搜索树或者其镜像的前序遍历,那么中序遍历的结果排个.

2021-11-17 19:28:39 409

原创 基础算法模板总结

基础算法总结本着自己复习下学过的一些简单算法,来重新整理总结一下基础算法!ACM是不打了,但算法的学习号还需要继续!加油加油~~~

2021-11-15 15:58:10 92

原创 1021 Deepest Root (25 分)

先看代码:#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>#include <vector>using namespace std;const int N = 20010;int h[N], e[N], ne[N], idx;int p[N], n, max_depth = -1;void add(int a, int..

2021-11-12 10:35:05 337

原创 JavaWeb: IntelliJ IDEA集成开发环境下开发第一个servlet程序(JDBC)Tomcat

JavaWeb: IntelliJ IDEA集成开发环境下开发第一个servlet程序第一步:创建工程New Project:先创建一个空工程(Empty Projcet),起名为:javaweb。第二步:新建模块File --> new --> Module…这里新建的是一个普通的JavaSE模块,这个Module自动会被放在javaweb的project下面。起名为:servlet01。第三步:让Module变成JavaEE的模块让Module变成webapp的模块。符合web

2021-11-08 18:31:19 939

原创 配置Tomcat(m1 mac)

M1 Mac 配置Tomcat web服务器1.下载Tomcat到apache官网下载,tomcat,选择对应的版本。下载选择zip,下载后解压,最好解压在/Library/2.授予sh脚本权限步骤:使用终端,切换到tomcat的bin目录下:cd /Library/apache-tomcat-10.0.12/bin授予权限sudo chmod 755 *.sh3.运行Tomcatsudo sh ./startup.sh在浏览器中输入:http://localho

2021-11-07 16:35:33 950

原创 线段树板子

输入样例:10 51 2 3 4 5 6 7 8 9 101 1 50 1 30 4 81 7 50 4 8输出样例:113035分析题目:单点修改、区间查询!简单线段树的四个基本操作:pushup合并操作,一般是两个子节点合并得到父节点的信息。build建立一颗线段树。query区间查询:查询的内容不一定,这道题目为求和。modify单点修改:修改某个节点上的信息。分别介绍四个主要函数线段树的结构线段树的结构为:结构体数组,结构体来储存每个节点必..

2021-09-27 20:35:03 90

原创 山峰与山谷

bfs的简单应用#include <iostream>#include <queue>using namespace std;typedef pair<int,int> PII;const int N=1010;int w[N][N];bool st[N][N];bool is_higher=false,is_lower=false;int n;int dx[]={-1,-1,-1,0,0,1,1,1},dy[]={-1,0,1,-1,1,-1,0,1

2021-09-27 09:32:33 94

原创 C++快速幂

快速幂利用二进制优化的思想,求aba^b%cab的问题。代码:int qmi(int a,int b,int c){ int res=1; while(b) { if(b&1)res=res*(LL)a%c; b>>=1; a=(LL)a*a%c; } return res;}

2021-09-24 15:48:40 55

原创 天梯赛:L2-004 这是二叉搜索树吗? (25 分)

题目描述一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点,其左子树中所有结点的键值小于该结点的键值;其右子树中所有结点的键值大于等于该结点的键值;其左右子树都是二叉搜索树。所谓二叉搜索树的“镜像”,即将所有结点的左右子树对换位置后所得到的树。给定一个整数键值序列,现请你编写程序,判断这是否是对一棵二叉搜索树或其镜像进行前序遍历的结果。输入格式:输入的第一行给出正整数 N(≤1000)。随后一行给出 N 个整数键值,其间以空格分隔。输出格式:如果输入序列是对一棵二叉搜索树或

2021-04-23 16:10:53 64

原创 4-21做题总结

传球游戏这道题呢首先可以用bfs的思想,但是AC不了,考虑dp。我觉得做到此题的时候,很可能的一件事情就是无从下手,qs首先可能会手动模拟下,但是发现过于混乱。再仔细一想,每次不是左,就是右,这种转移方式,bfs或者dfs搜索下不就成了吗,过不去,我再剪枝,可以尝试,不过最终还是过不去,就算你剪枝,每一步进行一个判断就是一路向前看是否能到达目的地,你会发现还是不行(最终转换到dp:那么接下来我们又要想了,此时状态的转移基本已经明了了,不是左,就是右所以状态表示是什么?我们看看有哪些.

2021-04-22 23:19:21 57

原创 字符串相关

1.读取一行的话:string str;getline(cin,str);cout<<str.size()<<endl;getlinegetlinegetline可以过滤掉回车符!也可以使用fgets,fgets()fgets()fgets()是不会过滤掉回车符的!char str[110];fgets(str,110,stdin);int len=0;for(int i=0;str[i]&&str[i]!='\n';i++)len++;cout

2021-04-16 23:44:13 46

原创 基础算法复习

快速排序:就是基于一个递归的思想,每一次排序就让左右两部分一边小于,一边大于某个选出的数;小细节太多了,用不到,记住就行(void quick_sort(int a[], int l, int r){ if(l >= r) return; int i = l - 1, j = r + 1, x = a[l + r >> 1]; while(i < j) { do i ++; while(a[i] < x); .

2021-04-10 14:45:03 120

原创 2017蓝桥杯A组C++省赛做题心得

第一题 迷宫一个小的填空题,考试直接数就行了(或者dfs,bfs都能做或者最暴力的方式循环也行,每个点都move100次看能不能出范围就行了下面给出部分代码:dfs、bfs写法:#include <bits/stdc++.h>using namespace std;typedef pair<int,int> PII;const int N = 110;char g[N][N];int ans;bool st[N][N];bool dfs(int

2021-04-09 23:47:54 192 1

原创 2021-04-07做题总结

2021.4.7做题总结没事写了几道牛客寒假集训营的题目(1.红和蓝给你一颗树,问你能否按如下方式进行染色:你拿到了一棵树,请你给每个顶点染成红色或蓝色。要求:每个红点周围有且仅有一个红点,每个蓝点周围有且仅有一个蓝点。“周围”的定义:某点周围的点指通过邻边直接连接的点。所谓树,即没有自环、重边和回路的无向连通图。我们应该关注的是叶子结点,叶子结点必须与其父节点有相同的颜色,并且一个节点最多只能有一个子节点是叶子节点(且颜色相同—)。dfs1:给每个节点染色,同一个cnt,代表同一种颜色!v

2021-04-09 10:31:19 254

原创 2021-04-06做题总结

2021.4.6做题总结(dfs专题)1.旅游规划考点 dfs + 树形dp 难度: ⭐⭐两次dfs1.dfs1:子节点信息去更新父节点信息,找出以每个结点为根节点的向下的最大和次大的两个长度,并且记录一下最长的那条路径对应的u的儿子是谁。int dfs1(int u, int father){ for(int i = h[u]; ~i; i = ne[i]) { int j = e[i]; if(j == father) continue;

2021-04-06 20:45:30 56

原创 DP专题(题目总结)

DP做题总结一、背包问题(nnn件物品,背包总体积是vvv,如何选择,使得获得的总价值最大?)背包问题的状态表示都是f[i][j],只从前i个物品中选,且总体积不超过j的所有选法的集合,每一个f[i][j]都有一个值,这个值就是集合的属性,一般有Max,Min,Count。状态的转换对应的就是集合划分的过程。1)0-1背包easy2)完全背包与0-1背包的区别就是:0-1背包每个物品只能选择一次,而完全背包可以选择无限次。(前提是不超过背包的体积容量)以第i个物品选的个数进行划分f[i,j]

2021-04-02 11:15:48 152

空空如也

空空如也

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

TA关注的人

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