- 2024-03-31L2-004 这是二叉搜索树吗?
这种题边界真的是每次都搞不清楚,我感觉现场估计也写不出来。#include<bits/stdc++.h>usingnamespacestd;constintN=1010;intismirror;intpre[N];vector<int>post;voiddfs(introot,inttail){//最后一个 if(root>tail)return; inti=root+1; intj
- 2024-03-31L2-011 玩转二叉树
和L2-006是一样的。正常建树,只是在BFS的时候先放右儿子。L2-006树的遍历https://www.cnblogs.com/chengyiyuki/p/18106375代码:#include<bits/stdc++.h>usingnamespacestd;constintN=40;intpre[N],in[N];intL[N],R[N];intbuild(intal,intar,intbl,int
- 2024-03-31L2-006 树的遍历
先建树,然后遍历数组。这种方式比较消耗空间,适用于数据量小的情况,如果形成一条链,那将是致命的这个空间。#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+10;intin[N],post[N];vector<int>tree(N,-1);voidbuild(introot,intstart,inted,intidx)
- 2024-03-30L1-087 机工士姆斯塔迪奥
注:某些行or列可能重复删除,所以需要记录那些已经被删除过了。#include<bits/stdc++.h>usingnamespacestd;intmain(){ intn,m,q; cin>>n>>m>>q;//行和列数 intssize=n*m; set<int>rows,cols; while(q--){ intop,t; cin>>op>
- 2024-03-30子串分值
一、题目描述P8715[蓝桥杯2020省AB2]子串分值二、问题简析记录字符串\(s\)的第\(i\)个字符\(s_i\)(\(0\leqi<s.size\))上一次出现的位置\(pre_i\)、下一次出现的位置\(nex_i\),仅包含\(s_i\)的字串个数为\((i-(pre_i+1)+1)*(nex_i-1-i+1)\),即\((i
- 2024-03-29L2-047 锦标赛
这题没做出来,查了一些博客,下面是我比较能接受的一种写法。读完题可以发现这是一个满二叉树,并且可以得到每场比赛失败者的信息(决赛是胜利者和失败者都可以得到)对于一场比赛,它的胜利者要么是左孩子中的胜利者,要么是右孩子中的胜利者,那我们就可以先假设是左孩子的胜利者,如果不行就