![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
微处理小技巧
Anonytt
NWU本科在读,退役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 · 191 阅读 · 0 评论 -
codeforces698B 【合并树+拆环】
https://codeforces.com/contest/698/problem/B 题解: 好题!感觉这是cf 1700里面graph中比较有价值的一道题。 题意差不多就是把图转成树需要最少几步。 第一次接触拆环这个东西还是挺有感触的吧。大体思路就是:不断通过当前点访问其父亲结点,看其父亲结点是不是顶点或者已经被访问。如果父亲节点x已经被访问说明该链是x的一条子链,这在树里面是允许的。 判断...原创 2020-04-20 17:04:54 · 234 阅读 · 0 评论 -
【数据结构】骚操作--单调栈
以cf622(Div.2)的C2题为例讲解一下吧: **题意:**就是找单峰值。建设大楼,要求每栋楼有限高,而且不允许存在一栋楼两边都有比他更高的楼,要求建成的楼总高度最大。 这里我们引入一个单调栈的东西:花了2小时才算勉强搞明白了(感谢wucstdio大佬) 这里运用单调栈来做的话,时间复杂度只有O(n),难点在于这个单调栈该如何去写。下面上ac的代码,里面单调栈的部分运用了2次,分别是求上升...原创 2020-02-24 14:09:55 · 171 阅读 · 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 · 128 阅读 · 0 评论