摘要: 题目 分析:求异或的前缀和后用莫队算法即可。#include#include#include#define MAXN 100000#define MAXM 100000#define MAXK 1000000using namespace std;int block[MAXN+10... 阅读全文
posted @ 2016-01-25 23:43 outer_form 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 题目 分析:另f[n]为Concatenate(1..N) Mod M的值,那么f[n]=(f[n-1]*10^length[n]+n)%MOD。 所以[f[n]n1]=[f[n−1]n1]∗⎡⎣⎢111011001⎤⎦⎥ 根据数字的长度分段做矩阵快速幂即可。#include#in... 阅读全文
posted @ 2016-01-25 23:38 outer_form 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 题目 分析: 1.由于矩阵只能限制路径的边数,不能限制长度,我们将一个字母拆成5个点,来限制长度; 2.通过在开头添加到任何字符差异度都为1的虚拟字符,来枚举长度比n小的单词;#include#include#include#define MOD 1000000007using n... 阅读全文
posted @ 2016-01-25 23:27 outer_form 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 题目 分析:题目大意即在一个无向图中,询问从起点到终点,走n步的最短路。最多100条边,所以最多100个点,对点进行离散化。用floyd求最短路,因为floyd就是向中间插点(插点法)所以只需要做n次floyd,同时使用倍增来加速。#include#include#includeu... 阅读全文
posted @ 2016-01-25 23:18 outer_form 阅读(248) 评论(0) 推荐(0) 编辑