E Phone Network 2020ICPC·小米 网络选拔赛第一场

https://ac.nowcoder.com/acm/contest/7501/E看了看题解没太看懂怎么维护最小值的,学习了一下杭二oi爷的代码学会了按数字1-m的顺序求答案,因为求数字i的时候必须1-i-1都要出现过,所以求当前数字直接在之前的基础之上维护就行了我们维护从每个位置开始,1-i都出现过的最小右端点位置Ri,l,跟题解里面定义是一样的,按从左到右顺序枚举数字的位置,我们就是需要吧[last+1,id]这一段中小于id的更新为id,用树状数组维护前缀最大值,每个Ri,l等于prem
分类: 其他 发布时间: 10-29 16:45 阅读次数: 0

C 攀登山峰 2020计蒜之道决赛

https://nanti.jisuanke.com/t/49111没想到这个t<=20怎么用。。。因为t<=20,那么l,r这一区间最多只有t个位置能够数量>=v=(r-l+1)/t+1,也就是说直接上主席树,如果当前区间的数字总数<v就直接return,那么每次查询就最多向下跑t条链,复杂度是O(Mtlogn)的#include<bits/stdc++.h>using namespace std;const int maxl=1e5+10;in
分类: 其他 发布时间: 10-29 16:45 阅读次数: 0

codeforces1437G Death DBMS

https://codeforces.com/contest/1437/problem/G要找一个串是另一个串的子串,直接把所有名字建一个ac自动机,在它们的末尾节点搞个multiset存他们的值然后修改就直接找到那个人的名字在ac自动机上的末尾节点修改multiset查询就直接对着查询串跑一遍,暴跳fail链(这样据说一次是sqrt(n)的?),沿路记录multiset中最大值#include<bits/stdc++.h>using namespace std;typed
分类: 其他 发布时间: 10-29 16:45 阅读次数: 0

codeforces1437E. Make It Increasing

https://codeforces.com/contest/1437/problem/E看清楚是严格递增序列那么无解的情况就是相邻两个差得太少的情况,必须满足a[b[i]]-a[b[i-1]]>=b[i]-b[i-1]才行然后对每两段中间,如果跟左右限制a[b[i]]和a[b[i+1]]差得太少不行,直接ans++否则则搞一个最不下降子序列,由于是要严格递增,我们就给每个地方变成c[j]=a[j]-a[b[i]]-(j-b[i]),这样把按下标至少严格递增1也考虑进去了,那么搞个最长
分类: 其他 发布时间: 10-29 16:45 阅读次数: 0

G Tree Projection 2020ICPC·小米 网络选拔赛第一场

https://ac.nowcoder.com/acm/contest/7501/G把b中的数字变成对应a中数字的哪一个位置,dy[a[i]]=i,b[i]=dy[b[i]]然后从前往后枚举b[i],每次b[i]与之前出现最小的b[j]相连因为b[i]是dfs序,且从左到右枚举b[i],那么这棵树从b[1]开始是满足dfs序的又因为每次与之前出现最小的b[j]相连,且b[j]是原b[j]数字出现在a数组中的位置,越小越靠前,那么一定是b[i]=1也就是原b[i]=a[1]的地方为根节点,从上
分类: 其他 发布时间: 10-29 16:45 阅读次数: 0

codeforces1434A Perform Easily

https://codeforces.com/contest/1434/problem/A直接把每个音在6个弦上的位置全部丢进数组,然后按位置排个序然后从左到右枚举左端点,维护右端点r,是的[i,r]中间包含每个音,然后更新一下ans=max{c[r].val-c[i].val}#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxl=3e5+10;int n,m,cnt
分类: 其他 发布时间: 10-29 16:45 阅读次数: 0

codeforces1434B. Shurikens

https://codeforces.com/contest/1434/problem/B直接用栈模拟,并记录一个最大的最小值,表示当前栈中每个元素都大于这个最大的最小值,如果栈顶一个元素出队,就把这个最小值给新的栈顶更新一下。由于最大的最小值是不断增大的,而且每次操作是取出当前所有元素的最小值,所以这样模拟是肯定能找到答案,不然就无解的。#include<bits/stdc++.h>using namespace std;typedef long long ll;const
分类: 其他 发布时间: 10-29 16:45 阅读次数: 0

codeforces1434C. Solo mid Oracle

https://codeforces.com/contest/1434/problem/Cvp的时候没写出来,写了一年= =,看了下前面人的代码,发现可以巨简单的直接计算。。。经典计算题搞不清楚首先如果a>b*c的话,也就是一次伤害比回血多,那么就无限血也可以击杀了否则如果c<=d,也就是在回血结束之后,才能放新的技能,由于a<=b*c,可知从第二次放技能开始肯定没第一次放技能血量低,那么答案就直接是a那么我们可以计算出当释放k=a/b/d+1次技能时,血量会达到最小值
分类: 其他 发布时间: 10-29 16:45 阅读次数: 0

E. 矩阵 2020计蒜之道决赛

https://nanti.jisuanke.com/t/49109学习自https://www.cnblogs.com/BOZHAO/p/13880947.html求最大全1子矩阵可以左开右开这样对应高度找最大宽度但是有时候涉及全1子矩阵中间的计数,需要左开右闭,即左边严格小于,右边<=这题我们统计以第i行为底边,必须经过(i,j)这个点的满足的矩阵数对于最高高度为h[j],左边界为l[j],右边界为r[j],首先我们可以得到(r[j]-l[j]+1)*h[j]这一整个矩阵中所有
分类: 其他 发布时间: 10-29 16:45 阅读次数: 0

A. Finding Sasuke(构造思维)Codeforces Round #679 (Div. 2, based on Technocup 2021 Elimination Round 1)

原题链接: https://codeforces.com/contest/1435/problem/A测试样例input221 10041 2 3 6output-100 11 1 1 -1NoteFor the first door Naruto can use energies[−100,1][−100,1][−100,1]. The required equality does indeed hold: 1⋅(−100)+100⋅1=01⋅(−100)+100⋅1=01
分类: 其他 发布时间: 10-29 16:45 阅读次数: 0

B. A New Technique(思维)Codeforces Round #679 (Div. 2, based on Technocup 2021 Elimination Round 1)

原题链接: https://codeforces.com/contest/1435/problem/B测试样例input22 36 5 41 2 31 62 53 43 12313 1 2output1 2 36 5 4312NoteConsider the first test case. The matrix is 2×32×32×3. You are given the rows and columns in arbitrary order.One
分类: 其他 发布时间: 10-29 16:45 阅读次数: 0

B. Reverse Binary Strings(思维)Educational Codeforces Round 97 (Rated for Div. 2)

原题链接: https://codeforces.com/contest/1437/problem/B测试样例input321040110811101000output012NoteIn the first test case, string 10 is already alternating.In the second test case, we can, for example, reverse the last two elements of s and g
分类: 其他 发布时间: 10-29 16:45 阅读次数: 0

还在犹豫写不写博客吗?

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
分类: 其他 发布时间: 10-29 16:45 阅读次数: 0

二叉树:层序遍历登场!

登场之后,我要打十个!
分类: 其他 发布时间: 10-29 16:45 阅读次数: 0

二叉树:你真的会翻转二叉树么?

简单问题可以不简单
分类: 其他 发布时间: 10-29 16:45 阅读次数: 0

「leetcode」101. 对称二叉树

又是一道“简单题”?
分类: 其他 发布时间: 10-29 16:45 阅读次数: 0

「leetcode」104&559:求树的最大深度

二叉树的最大深度会求了,那么顺手把N叉树也做了吧
分类: 其他 发布时间: 10-29 16:45 阅读次数: 0

「leetcode」111.二叉树的最小深度(与求最大深度还有所不同的)

和求最大深度一个套路?
分类: 其他 发布时间: 10-29 16:45 阅读次数: 0

「leetcode」110.平衡二叉树

和求最大深度一个套路?
分类: 其他 发布时间: 10-29 16:45 阅读次数: 0

「leetcode」222.完全二叉树的节点个数

完全二叉树的节点个数
分类: 其他 发布时间: 10-29 16:45 阅读次数: 0