
微处理小技巧
易橙
FDU硕士在读,退役ACMer。
展开
-
【语法小技巧】重载运算符
以cf1063B为例#include<bits/stdc++.h>#define ll long long#define rep(i,a,n) for(int i=a;i<=n;i++)#define per(i,n,a) for(int i=n;i>=a;i--)#define endl '\n'#define mem(a) memset(a,0,sizeof...原创 2020-04-25 15:37:41 · 232 阅读 · 0 评论 -
codeforces698B 【合并树+拆环】
https://codeforces.com/contest/698/problem/B题解:好题!感觉这是cf 1700里面graph中比较有价值的一道题。题意差不多就是把图转成树需要最少几步。第一次接触拆环这个东西还是挺有感触的吧。大体思路就是:不断通过当前点访问其父亲结点,看其父亲结点是不是顶点或者已经被访问。如果父亲节点x已经被访问说明该链是x的一条子链,这在树里面是允许的。判断...原创 2020-04-20 17:04:54 · 271 阅读 · 0 评论 -
【数据结构】骚操作--单调栈
以cf622(Div.2)的C2题为例讲解一下吧:**题意:**就是找单峰值。建设大楼,要求每栋楼有限高,而且不允许存在一栋楼两边都有比他更高的楼,要求建成的楼总高度最大。这里我们引入一个单调栈的东西:花了2小时才算勉强搞明白了(感谢wucstdio大佬)这里运用单调栈来做的话,时间复杂度只有O(n),难点在于这个单调栈该如何去写。下面上ac的代码,里面单调栈的部分运用了2次,分别是求上升...原创 2020-02-24 14:09:55 · 203 阅读 · 0 评论 -
对于数组的一些不错的微处理
Codeforces 873B - Balanced Substring(思维)题目链接:http://codeforces.com/problemset/problem/873/B题目大意:一个字符串全部由‘0’和‘1’组成,当一段区间[l,r]内的‘0’和‘1’个数相等,则称为平衡子串,求最长的平衡子串。解题思路:将0换成-1,算出每个点的前缀和,若两个点前缀和相同,从第一个点到第二个点...原创 2019-11-15 12:32:35 · 154 阅读 · 0 评论