摘要: 51nod1239 给你一个n(n <= 1e10),求euler[1] + euler[2] + euler[3] + ... + euler[n] 用线性筛预处理一部分,然后递归,递归的时候用map存计算的结果会快很多 1244 求一段区间内的莫比乌斯函数和。 51nod1237 for (in 阅读全文
posted @ 2017-10-16 10:36 zd11024 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给出n(1e5)条线段(长度为整数,<=1e5),求任取3条线段能组成一个三角形的概率。 用cnt[i]记录长度为i的线段的个数,通过卷积可以计算出两条线段长度之和为i的方案数sum[i]:先用FFT计算出cnt[i]的卷积sum[i],为取两条线段长度和为i的排列数(包括自己和自己), 阅读全文
posted @ 2017-10-15 16:05 zd11024 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 多校时找规律做过。。。 题意,给你一个数列a[1], a[2], a[3], a[4], ... , a[n],操作一次后变为a[1], a[1] ^ a[2], a[1] ^ a[2] ^ a[3], ..., a[1] ^ a[2] ^ a[3] ^...^a[n], 让你计算出m次操作后的数列 阅读全文
posted @ 2017-10-14 20:22 zd11024 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 给你一棵有n个节点的二叉树,每个节点有一个权值,对于一棵子树u,将u的子树中的节点权值从大到小排序,令sz[u]为子树u的大小, 则ans[u] = 1 * a[1] + 2 * a[2] + ... + sz[u] * a[sz[u]],其中a[1] >= a[2] >= ... >= a[u]。 阅读全文
posted @ 2017-10-14 11:49 zd11024 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 1 int reverse(int x, int len){ 2 int t = 0; 3 for (int i = 1; i > 1); ++k){ 18 Complex x = A[j + k]; 19 Complex y = w * A[j + k + (i >> 1)]; 20 ... 阅读全文
posted @ 2017-10-13 21:11 zd11024 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 第二类斯特林数 第二类Stirling数:S2(p, k) 1.组合意义:第二类Stirling数计数的是把p个互异元素划分为k个非空集合的方法数 2.递推公式: S2(0, 0) = 1 S2(p, 0) = 0 ( p >= 1) 显然p >= 1时这种方法不存在 S2(p, p) = 1 显然 阅读全文
posted @ 2017-10-12 23:12 zd11024 阅读(1084) 评论(0) 推荐(1) 编辑
摘要: project euler 113 对于1个数字,如果他数位不减或者不增称为bouncy number,比如1233,33210。统计1~10^100中的bouncy number 思路:分为两种计算 1.这个数中只出现了一个数字,那么对于i位的数字有9种,故总计有9 * 100种 1.这个数中只出 阅读全文
posted @ 2017-10-11 23:48 zd11024 阅读(198) 评论(0) 推荐(0) 编辑