上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 41 下一页
摘要: 传送门 比 P1439 排列LCS问题,难那么一点点,只不过有的元素不是两个串都有,还有数据范围变大,树状数组得打离散化。 不过如果用栈+二分的话还是一样的。 ——代码 1 #include <cstdio> 2 #include <algorithm> 3 4 const int MAXN = 3 阅读全文
posted @ 2017-05-16 10:23 zht467 阅读(214) 评论(0) 推荐(0)
摘要: 传送门 网上说这是偏序集最大反链,然而我实在不理解。 所以我换了一个思路,先用floyd,根据点的连通性连边, 问题就转换成了找出最多的点,使任意两个点之间不连边,也就是最大独立集。 ——代码 1 #include <cstdio> 2 #include <cstring> 3 #include < 阅读全文
posted @ 2017-05-16 08:34 zht467 阅读(338) 评论(0) 推荐(0)
摘要: 传送门 题意 N个点M条边的有向图 每个点有点权 从某一个结点出发 问能获得的最大点权和 一个点的点权最多被计算一次 N<=500000 M<=500000 思路 先tarjan缩点,然后就形成一个dag,无环,所以直接spfa求最长路就行。 也可以先缩点,然后拓扑排序 + dp 搞。 代码 1 # 阅读全文
posted @ 2017-05-15 20:56 zht467 阅读(124) 评论(0) 推荐(0)
摘要: 传送门 就是个单调队列+DP嘛。 ——代码 1 #include <cstdio> 2 3 const int MAXN = 1000001; 4 int n, m, h = 1, t = 1, ans = ~(1 << 31); 5 int q[MAXN], a[MAXN], f[MAXN]; 6 阅读全文
posted @ 2017-05-15 11:32 zht467 阅读(169) 评论(0) 推荐(0)
摘要: 传送门 这种水题没必要搞线段树了,单调队列就行啊。 ——代码 1 #include <cstdio> 2 3 const int MAXN = 2000001; 4 int n, m, h = 1, t = 1; 5 int a[MAXN], q[MAXN]; 6 7 int main() 8 { 阅读全文
posted @ 2017-05-15 10:56 zht467 阅读(177) 评论(0) 推荐(0)
摘要: 传送门 团队里的hash水题,数据小的不用hash都能过。。 也就是前缀hash,后缀hash,再比较一下就行。 ——代码 1 #include <cstdio> 2 #include <cstring> 3 #define ULL unsigned long long 4 5 int n, m, 阅读全文
posted @ 2017-05-15 10:41 zht467 阅读(249) 评论(0) 推荐(0)
摘要: 传送门 看着很吓人,其实就是个树链剖分模板。 可支持操作: 1.将节点 x 到 根 的路径上的值都变成 1 2.将以节点 x 为根的子树的值都变成 0 1A爽~ ——代码 1 #include <cmath> 2 #include <cstdio> 3 #include <cstring> 4 #i 阅读全文
posted @ 2017-05-15 09:40 zht467 阅读(161) 评论(0) 推荐(0)
摘要: 传送门 可以枚举被删除的位置,然后用hash表判重,然而网上好多题解都是用 sort 判重的。 不知道为什么,int 总是过不了,换成 long long 或者是 unsigned long long 就过了 QAQ ——代码 1 #include <cstdio> 2 #include <cstr 阅读全文
posted @ 2017-05-14 20:02 zht467 阅读(169) 评论(0) 推荐(0)
摘要: 传送门 k <= 109 暴力肯定超时 根据矩阵性质,可以发现 S(4) = A1 + A2 + A2 * (A1 + A2) S(5) = A1 + A2 + A2 * (A1 + A2) + A5 所以可以递归二分求解,分别判断 Ak,k 为奇数和偶数的情况 ——代码 1 #include <c 阅读全文
posted @ 2017-05-12 14:32 zht467 阅读(210) 评论(0) 推荐(0)
摘要: 向量满足一些与加法和乘法相关的结合律、交换律、分配律等,矩阵也满足某些定律,它们是: (1)A + B = B + A(加法交换律) (2)A + (B + C) = (A + B) + C(加法结合律) (3)A*(B*C) = (A*B)*C(乘法结合律) (4)A*(B + C) = A*B 阅读全文
posted @ 2017-05-12 10:55 zht467 阅读(14298) 评论(0) 推荐(1)
上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 41 下一页