摘要: 不难分析出我们就是要求是否有唯一一个出度为0的强连通分量。 Code: 阅读全文
posted @ 2018-09-09 15:21 EM-LGH 阅读(129) 评论(0) 推荐(0) 编辑
摘要: Code: 阅读全文
posted @ 2018-09-09 15:08 EM-LGH 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 没意义,注意方向别判错。 Code:#include#includeusing namespace std;const int maxn = 100000 + 3;char A[maxn][100];int face[maxn];int main(){ ... 阅读全文
posted @ 2018-09-08 23:14 EM-LGH 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 我们不难发现先被切开的两半一定比后被切开的两半大,这样就天然的生成了队列的单调性,就可以省去一个log。所以,我们开三个队列,分别为origin,big,smallorigin, big, smallorigin,big,small,每次查询时将三个队列的对... 阅读全文
posted @ 2018-09-08 20:39 EM-LGH 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 没想到这道题竟然这么水…我们发现m,n都非常小,完全可以O(nm)O(nm)O(nm)预处理出stripe数组,即代表(i,j)(i,j)(i,j)及其向上的一列的个数,然后进行递推即可。#include#includeusing namespace std... 阅读全文
posted @ 2018-09-06 19:18 EM-LGH 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 有些细节需要注意: 1.编号和元素种类都从0开始标号。 2.需要特判一下队列被弹空的情况。 Code:#include#includeusing namespace std;const int maxn = 1000000 + 4;int typ[maxn]... 阅读全文
posted @ 2018-09-06 18:30 EM-LGH 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 其实思路并不算太难,就是代码量相对较大。 我们将一次离队转换为一次删除和两次加入,这样就可以保证空间是动态分配的,最大也不会暴空间。 说实话写之前感觉会很恶心,但是代码量就还好吧,有些细节需要特殊注意一下。 Code: 阅读全文
posted @ 2018-09-05 20:33 EM-LGH 阅读(152) 评论(0) 推荐(0) 编辑
摘要: Code:#include#includeusing namespace std;struct Node{ int s,val,tag,v; Node *ch[2]; Node(int u){ s=1,val=1,tag=0,... 阅读全文
posted @ 2018-09-04 20:57 EM-LGH 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 非常繁琐,细节巨多。 1.尤其注意两个n出现时按常数算。 2.读入数字时要读整个字符串,而不是单个字符#include#include#include#include#includeusing namespace std;const int inf = 10... 阅读全文
posted @ 2018-09-04 00:51 EM-LGH 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 可以将高度定义为小数,这样就完美的解决了优先级的问题。 Code: 阅读全文
posted @ 2018-09-02 11:29 EM-LGH 阅读(200) 评论(0) 推荐(0) 编辑