摘要: 题目说要n个字符串串内随意组合以后将这些串放在一起,然后求最长的括号匹配的长度,并不要求是连续的 因为不需要是连续的,所以可以先把已经匹配好的括号加入到答案里面去,先把这些删掉,以为并不影响结果,然后最后就只剩下))))((((这些的序列,然后接下来对剩下的考虑 因为剩下的括号最多只有四种情况就是 阅读全文
posted @ 2018-07-24 20:07 Jiaaaaaaaqi 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 就是一个点从开始的点在一个矩形内往某个方向一直运动,如果碰到了矩形的边,那么就反弹,我们可以把这个矩形拓展开,那么就是问题变成了我有没有一个点,这个点的坐标(Tx, Ty)满足n|Tx,m|Ty 那么假设有的话,那么这个直线的方程化简以后就是就是n*xx+m*yy = y-x,然后问题就变成了这个方 阅读全文
posted @ 2018-07-24 17:49 Jiaaaaaaaqi 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 给出n个立方体,要你求这些立方体至少被覆盖三次的部分。 先把这个立方体的信息存在来,发现Z的范围不大,z范围是是[-500,500],所以我们可以先离散化,然后枚举Z, 然后对于每一段Z的区域内,在当前的区域内对xoy轴使用一次扫描线,找到当前这个区域内被覆盖三次的体积,然后每次枚举Z,每次相加,就 阅读全文
posted @ 2018-07-24 15:53 Jiaaaaaaaqi 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 给你一段长度为n的区间,然后在给你m个小区间,要求这m个小区间里的每个人都不能重复,请你输出字典序最小的方案. 我们可以开一个suf数组,表示我到我后面的不出现重复数字的区间至少需要到达的位置。所以对于给出的每一个l,r,suf[l] = max(suf[l], r); 处理好suf数组,在开一个容 阅读全文
posted @ 2018-07-24 00:53 Jiaaaaaaaqi 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 求n个矩阵面积相交的部分,和求面积并一样,不过这里需要开两个数组保存覆盖一次和覆盖两次以上的次数的部分,还是模板,主要注意点就是pushup部分,如果我已经被两次覆盖,那我的两个数组在这个root点的宽度就可以直接算了,如果我被一次覆盖,那么我一个覆盖的部分可以直接计算,两次覆盖的部分取决于sum1 阅读全文
posted @ 2018-07-23 21:15 Jiaaaaaaaqi 阅读(251) 评论(0) 推荐(1) 编辑
摘要: 扫描线的模板题,先把信息接收,然后排序,记录下上边和下边,然后用一条虚拟的线从下往上扫。如果我扫到的是下边,那么久用线段树在这个区间内加上1,表示这个区间现在是有的,等我扫描到上边的时候在加上-1,把之前的消掉,然后线段树维护区间内的长度,这里不是直接用下标维护,而是需要另一个数组来维护,每次记录我 阅读全文
posted @ 2018-07-23 19:00 Jiaaaaaaaqi 阅读(303) 评论(0) 推荐(0) 编辑
摘要: tarjan裸题 先用tarjan缩点 然后找出每个连通块的入度和出度 入度为0的连通块就是taskA需要的和别的连通块连接的数量 入度和出度为0的连通块中最大值就是需要taskB的添加ans条边可以让全图都是一个强连通块 如果原先就是强联通块,则特判 1 #include<stdio.h> 2 # 阅读全文
posted @ 2018-06-07 00:57 Jiaaaaaaaqi 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 给定一个无向图,求最少需要多少边可以让这个无向图里两两点之间都有两条路可以走。 先tarjan算法进行缩点,得到一颗无向树 对于无向树中非叶子结点,只要叶子结点连通了,就都有两条路可以走 所以变成了需要多少条边可以把所以叶子结点连通 当叶子结点是奇数时 答案就是ans =(ans)/ 2 + 1 当 阅读全文
posted @ 2018-06-07 00:57 Jiaaaaaaaqi 阅读(123) 评论(0) 推荐(0) 编辑
摘要: tarjan+LCA。 先用tarjan进行缩点。 然后用dfn[u] < low[v]判断是不是桥。 讲桥标记起来并且计算出桥数。 对于每个案例的u和v 利用LCA用fath数组先找到u和v的祖先,如果在路径中出现的桥,就把桥标记成普通边并将桥数–。 然后输出对应的桥数 1 #include<st 阅读全文
posted @ 2018-06-07 00:56 Jiaaaaaaaqi 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 用tarjan缩点 然后用dfn[u] < low[v]缩点并且保存起来 在sort一遍输出 1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 5 using namespace std; 6 7 const int m 阅读全文
posted @ 2018-06-07 00:55 Jiaaaaaaaqi 阅读(120) 评论(0) 推荐(0) 编辑