上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 41 下一页
摘要: 传送门 n = A % 9973 -> n = A - A / 9973 * 9973 设 x = A / B(题目所述,B|A) -> A = B * x 所以 B * x - A / 9973 * 9973 = n 设 y = A / 9973 则 B * x - 9973 * y = n B 阅读全文
posted @ 2017-05-10 17:09 zht467 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 传送门 题意 给出若干个数n(n<=1000000),求每个n的最大质因子的排名。 质数的排名:如果素数p是第k小的素数,那么p的排名就是k。 给出若干个数n(n<=1000000),求每个n的最大质因子的排名。 质数的排名:如果素数p是第k小的素数,那么p的排名就是k。 思路 乍一看不知道怎么搞。 阅读全文
posted @ 2017-05-10 14:53 zht467 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 传送门 ax≡1(mod b) 这个式子就是 a * x % b == 1 % b 相当于 a * x - b * y == 1 只有当 gcd(a,b) == 1 时才有解,也就是说 ax + by = c 有解的充要条件是 c % gcd(a,b) == 0 一般,我们能够找到无数组解满足条件, 阅读全文
posted @ 2017-05-10 11:15 zht467 阅读(123) 评论(0) 推荐(0) 编辑
摘要: dalao博客,至少很好看。。 因为本人数论实在渣渣,但是考试确是得考的,只好尽早学,尽早掌握。 最大公因数 普通gcd O(log(min(a,b))) 1 inline int gcd(int x,int y) 2 { 3 return y == 0 ? x : gcd(y, x % y) 4 阅读全文
posted @ 2017-05-09 20:54 zht467 阅读(534) 评论(0) 推荐(1) 编辑
摘要: 传送门 先把所有串建一个AC自动机, 如果要找一个不包含任意一个串的串, 说明这个串一直在AC自动机上匹配但匹配不到, 也就是说,匹配时除去val值为1的点,除去fail指针指向val值为1的点,是否有环,dfs即可。 因为val值为1说明匹配上,fail指针指向的点x,根到x所形成的字符串是当前串 阅读全文
posted @ 2017-05-09 15:02 zht467 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 传送门 不停的枚举 l ,然后枚举长度,直到所有颜色都包含,这是 n2 做法,超时。 仔细想想,可以用个队列来维护。 还是枚举 l ,用队列来维护当前区间的包含所有颜色,l 增加时再判断。 ——代码 1 # include <iostream> 2 # include <cstdio> 3 # in 阅读全文
posted @ 2017-05-09 14:41 zht467 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 传送门 这个题显然可以用树链剖分做。 然而线段树也能做。 每个点都对它的子树有贡献,所以先求一边 dfs序,然后直接在 dfs序 中搞 线段树 就行。 ——代码 1 #include <cstdio> 2 #include <cstring> 3 #define root 1, 1, n 4 #de 阅读全文
posted @ 2017-05-08 21:00 zht467 阅读(131) 评论(0) 推荐(1) 编辑
摘要: 传送门 用两个树状数组,cr 维护 1....x 中 r 的数量 cl 维护 1....x 中 l 的数量 求答案的时候只需要求 y 前面 被作为左端点 的个数 - x 前面 被作为右端点的个数 ——代码 1 #include <cstdio> 2 3 using namespace std; 4 阅读全文
posted @ 2017-05-08 19:21 zht467 阅读(111) 评论(0) 推荐(0) 编辑
摘要: luogu P3374 【模板】树状数组 1 在大牛分站交能过,主站卡常。 时间复杂度为 n√n ≈ 3.5 * 108,我都不知道怎么过的。。 ——代码 1 #include <cmath> 2 #include <cstdio> 3 #include <iostream> 4 5 using n 阅读全文
posted @ 2017-05-08 10:49 zht467 阅读(135) 评论(0) 推荐(1) 编辑
摘要: 传送门 以为对于这类问题线段树都能解决,分块比线段树菜,结果培训完才知道线段树是一种特殊的分块方法,有的分块的题线段树不能做,看来分块还是有必要学的。 对于这个题,先分块,然后另开一个数组对于每个块内排序。 区间加的话,加一个标记,每一个整块区间加,里面的数的相对大小不变,而左右两边零散的块直接暴力 阅读全文
posted @ 2017-05-08 09:50 zht467 阅读(122) 评论(0) 推荐(0) 编辑
上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 41 下一页