摘要:
就是二分查找就够了,找到符合条件的那个最小值 不会二分可以去学一下,可以看看这个:https://www.cnblogs.com/wzl19981116/p/9354012.html include include include include include include include in 阅读全文
摘要:
就是括号匹配的题目,如果有交集就是NO include include include include include using namespace std; stack s; int a[200005]; int main() { int t,n,m,temp1,temp2,i; scanf(" 阅读全文
摘要:
最小生成树直接用kruskal就好了 include define sf scanf define scf(x) scanf("%d",&x) define scff(x,y) scanf("%d%d",&x,&y) define scfff(x,y,z) scanf("%d%d%d",&x,&y, 阅读全文
摘要:
就是dijkstra,只是他有很多个起点,那么我们只要用一个超级源点,让他到每一个七点的距离为0 include include include include include include include include include include define sf scanf defin 阅读全文
摘要:
就是找总共有多少个球星,可以用并查集或者targin就强连通分量有多少个 targin的 阅读全文
摘要:
先把所有的雪人当成都是第一天做的,然后存在优先队列里面,然后从第一天开始算总共化了多少,如果超过当前最小的雪人,那么就把雪人化到0,弹出就好 include define sf scanf define scf(x) scanf("%lld",&x) define scff(x,y) scanf(" 阅读全文
摘要:
一个人想要自己是最多的个数,开个优先队列,然后从第一个开始减一,直到自己是最大就好了 阅读全文
摘要:
平衡二叉树,找路径,直接套板子 阅读全文
摘要:
两种操作,1是加入数字,二是找最接近的 用set或者平衡二叉树就好了 只写了二叉树的,套版子就好 include define sf scanf define scf(x) scanf("%d",&x) define scff(x,y) scanf("%d%d",&x,&y) define scff 阅读全文
摘要:
直接map就好了,先把abc排序,关键字开ll,等于a×10000×10000+b×10000+c; 然后直接查就好了 阅读全文
摘要:
就是暴力的四种方法都算出答案,然后进行比较有没有这个答案就好了 include define sf scanf define scf(x) scanf("%d",&x) define scff(x,y) scanf("%d%d",&x,&y) define scfff(x,y,z) scanf("% 阅读全文
摘要:
就是一棵完全二叉树,然后两种操作,一种加收费,一种查收费 因为二叉树的根节点的编号是x/2,直接根据这个规律就好了,记得开ll include define sf scanf define scf(x) scanf("%d",&x) define pf printf define prf(x) pr 阅读全文
摘要:
这个就是从最后面开始浇水的,会使这条路上的所有沟都有水,可以用dfs做 阅读全文
摘要:
就是按要求排,然后输出,只要弄懂优先级别就好了,肯定先比十位数,然后比个位,但是个位数的优先度不一样,比如3,是和33的优先度一样的 桶排做法 用优先队列的,这个和sort类似 阅读全文
摘要:
数据范围不大,但是数字很多,用桶排序,不会的可以看这个:https://www.cnblogs.com/wzl19981116/p/9740426.html 阅读全文
摘要:
简单的迷宫,用bfs就好了 解题,1开一个队列,把初始位置放进去 2.取队列中的一个,上下左右走,可以走的放进去队列,然后他的步数加一 3.重复2,直到找到目标或者队列为空,都没找到 阅读全文
摘要:
就是找一定范围内,和最大的区间 解题,一种用区间最值的方法,先开一个前缀和数组,然后从每一个点开始找后面一定范围内的区间最大值,然后比较找出最大的就好了 阅读全文
摘要:
题意火车进入,然后要求以最大字典序输出 解题思路:先用一个数组储存当前位置之后最大的数字是什么,然后把已经进站的最后一节火车和还没进站的车的最大值,哪个更大,如果已经进站的更大,那么就先出站,否则就先一直把那些火车进站直到那个最大的火车,然后输出就好了。 阅读全文