摘要:
题目 参考的题解 Solution f [ i ] [ j ] f[i][j] f[i][j]表示前 i i i个字符,在 t r i e trie trie树上 j j j的位置的期望 对于 u u u及其儿子 v v v,若v是危险节点,那么 u u u到 0 0 0连边,否则 u u u到 v 阅读全文
摘要:
题目 Solution 当模数为M,存在至少一个冲突的概率为p,有n个hash值 则总共有 C n 2 C_n^2 Cn2对hash值, p = ( M − 1 M ) C n 2 p=(\frac{M-1}M)^{C_n^2} p=(MM−1)Cn2 Code #include<cstdio 阅读全文
摘要:
题目 题解 Solution 如果 b a s e base base是偶数,那么 a . . . . . . . . . a a a ( > 64 a.........aaa(>64 a.........aaa(>64个 a ) a) a)与 b a . . . . . . . a a 阅读全文
摘要:
题目 令 l e n = r − l + 1 len=r-l+1 len=r−l+1,注意 k k k和 l e n len len要区分开 1 : a n s = 0 1:ans=0 1:ans=0,条件:选 4 4 4个连续的数,末尾是 10 , 11 , 00 , 01 10,11,00,01 阅读全文
摘要:
题目 并查集中的 1.. n 1..n 1..n表示上方, n + 1..2 n n+1..2n n+1..2n表示下方,合并时 2 n + 1..4 n 2n+1..4n 2n+1..4n用于右侧的上下方并查集 #include<bits/stdc++.h> using namespace std 阅读全文
摘要:
题目 线段树合并复杂度: O ( 合 并 的 两 棵 树 共 同 节 点 个 数 ) O(合并的两棵树共同节点个数) O(合并的两棵树共同节点个数)。 也就是说,大小为 n n n和 m m m的两棵线段树合并的复杂度是 O ( m i n ( n , m ) ) O(min(n,m)) O(min 阅读全文
摘要:
题目 每个权值都有一棵线段树维护在 [ l , r ] [l,r] [l,r]内出现的次数 复杂度 O ( n l o g 2 n ) O(nlog^2n) O(nlog2n) #include<bits/stdc++.h> using namespace std; typedef unsigned 阅读全文
摘要:
题目 写的第一道交互题,编译要加这么一句话(代码在 w a l l . c p p wall.cpp wall.cpp中): g++ -o wall grader.cpp wall.cpp 其他的,就是裸的线段树了 #include "wall.h" const int N=2000002; #de 阅读全文