题意:
给出一串括号
给出一些询问,问某个区间[l,r]内的能合法匹配的括号数有多少个
分析:
我们可以实现处理两个数组
sum[i] 1....i中已经能匹配的右括号的数目
left[i] 1....i中还不能匹配的左括号数目
这两个数组可以很简单的扫描一遍动态维护得出来
我们可以先求前缀和,即
1...m中有多少能匹配的右括号sum[m]
则,我们可以得到s...
分类:
其他好文 时间:
2014-08-31 15:54:31
阅读次数:
262
题意:
给出一张图和图上的一个顶点,求距离这个点距离为s(最短距离)的顶点或边上的点总共有几个(边上的点要保证也是最短距离)
分析:
先用DIJ求出最短路
然后对所有顶点,距离为s的点都算上
枚举每条边
边上的两个顶点如果距离不够,则看在边上能不能找到一个点,顶点上的距离加上这个顶点到点的距离能为s(注意保证这个距离是最小距离(即这个点通过另外一端的顶点距离源点的距离小...
分类:
其他好文 时间:
2014-08-31 15:54:01
阅读次数:
190
题目来源:URAL 1141. RSA Attack
题意:给你e n c 并且有m^e = c(mod n) 求 m
思路:首先学习RSA算法
here
过程大致是
1.发送的信息是m
2.随机选择两个质数 p和q, n = q*p, n的欧拉函数值φ(n)= (p-1)*(q-1)这个需要证明
3.选择一个与φ(n)互质的并且小于φ(n)的数e, 计算c = m^e(mod...
分类:
其他好文 时间:
2014-08-31 15:52:31
阅读次数:
262
UVA 10319 - Manhattan
题目链接
题意:一个城市,有南北和东西街道,每种街道都是单行道,现在给定几个起点和终点,要求起点和终点必须最多转一次弯可以到达,问是否可以满足所有的起点终点
思路:2-set,对于东西,南北街道,向西(北)为false,向东(南)为true,对于每个起点终点,肯定是走坐标对应的那4条街道,表示出来是(s1 & a2) | (s2 & a...
分类:
其他好文 时间:
2014-08-31 15:51:23
阅读次数:
255
题目来源:URAL 1204. Idempotents
题意:输入n(n = p*q p,q是质数) 并且x*x=x(mod n) 求x
思路: x*x=x(mod n) -> x*x+k*n=x -> x*(x-1)/n = k 所以 0 和 1 是一组解 因为n = p*q 且x*(x-1)%(p*q)== 0 x
1.x有p因子x-1有q因子
x%p == 0且(x-1)%q =...
分类:
其他好文 时间:
2014-08-31 14:33:11
阅读次数:
203
题目来源:URAL 1019. Line Painting
题意:求最长的一段全部为白色的区间
思路:线段树成段更新 区间合并 离散化 这里对应的是一段区间 所以每次不是m+1 而是 l m 和 m r 了 另外我加上了0 和 10^9 这两个点
每一段区间(l, r)我记录的是l和r之间有多少条线段
#include
#include
#include
using namesp...
分类:
其他好文 时间:
2014-08-31 14:31:41
阅读次数:
197
UVA 11294 - Wedding
题目链接
题意:有n对夫妻,0号是公主,现在有一些通奸关系(男男,女女也是可能的)然后要求人分配在两侧,夫妻不能坐同一侧,并且公主对面一侧不能有两个同奸的人,问方案
思路:2-set,建图,一共2n个人,设偶数是丈夫,奇数是妻子,左侧为false,右侧为true,然后丈夫妻子建一条true false 或 false true的边,然后然公...
分类:
其他好文 时间:
2014-08-31 13:17:41
阅读次数:
189
我发现我一直理解错题意了,这里的子序列指的是连续子序列,怪不得我写的LCS一直WA顺便复习一下并查集 1 //#define LOCAL 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 const...
分类:
其他好文 时间:
2014-08-31 13:06:51
阅读次数:
219
UVA 10765 - Doves and bombs
题目链接
题意:给定一个无向图,每个点的鸽子值为删去这个点后会有几个连通块,问鸽子值前m大的点的鸽子值,如果相同,按编号排
思路:就裸的双连通分量,在每个连通分量如果是割顶的点就加一,最后如果答案为0的点,答案应该是1
代码:
#include
#include
#include
#include
#in...
分类:
其他好文 时间:
2014-08-31 11:58:51
阅读次数:
186
题意:
一幅无向图 将尽量多的无向边定向成有向边 使得图强连通 无向图保证是连通的且没有重边
思路:
桥必须是双向的 因此先求边双连通分量 并将桥保存在ans中
每个双连通分量内的边一定都可以变成有向边(毕竟是圈组成的图) 边的定向方式分两种:
1、对于树枝边u->v 如果low[v]>dfn[u]说明v回不到u上面去 所以ans应该是v->u的边 否则是u->v
2、...
分类:
其他好文 时间:
2014-08-31 11:56:31
阅读次数:
213