摘要: 欧拉函数是少于或等于n的数中与n互质的数的数目 φ(1)=1(定义) 类似与莫比乌斯函数,基于欧拉函数的积性 φ(xy)=φ(x)φ(y) 由唯一分解定理展开显然,得证 精髓在于对于积性的应用: 一个练手题Hdu1286 1 #include <algorithm> 2 #include <iost 阅读全文
posted @ 2017-03-11 20:25 墨鳌 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 首先,你要知道什么是莫比乌斯函数 然后,你要知道什么是积性函数 最后,你最好知道什么是线性筛 莫比乌斯反演 积性函数 线性筛,见上一篇 知道了,就可以愉快的写mobius函数了 由定义: μ(n)= 1 (n=1) (-1)^k (n=p1p2...pk) /* 注意质因子次数为1因为次数大于等于2 阅读全文
posted @ 2017-03-11 19:44 墨鳌 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 和朴素的素数筛法一样,flag数组,记录x是否为素数 flag[x]=0,x为合数 falg[x]=1,x为素数 flag[1],无定义 其核心思想是,用x筛除与之差异最小的y,达到时间上O(n)的目的 何为差异最小,呢? 基于唯一分解定理,我们认为,x的素数分解集合(是可重集) 大小记为|x|,如 阅读全文
posted @ 2017-03-11 14:08 墨鳌 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 显然:f[i]=min{f[j]+(s[i]-s[j]+i-j-1-l)^p} 此题可以基于决策单调优化 证明,反正我现在不打算学 实际上就是双向队列 不停弹出队头的元素,直到当前位置在队头元素最优的范围内。 然后,每次把当前决策插入队尾,并弹出没它优的答案。 1 #include <algorit 阅读全文
posted @ 2017-03-10 23:03 墨鳌 阅读(88) 评论(0) 推荐(0) 编辑
摘要: poj3580 要求写一种数据结构; 对一个序列进行 区间增减(add); 区间翻转(reverse); 区间移动(revolve); 插入(insert); 删除(delete); 求区间最小值(min); 据说各种方法都可以做,但是只学了splay; 对于(revolve)是指,将区间[x,y] 阅读全文
posted @ 2017-03-04 21:12 墨鳌 阅读(166) 评论(0) 推荐(0) 编辑
摘要: bzoj1251权限题 题目点这里,你懂得 直接上板子,这个要好好体会 操作是最经典的。 阅读全文
posted @ 2017-03-01 13:58 墨鳌 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 错排问题: 编号为 1 , 2 ,……, n 的 n 个元素排成一列,若每个元素所处位置的序号都与它的编号不同,则称这个排列为n个不同元素的一个错排。记 n 个不同元素的错排总数为 D(n) D0=? n=0 <=>不存在元素=>不存在元素满足条件=>D0=1 D1=0,D2=1,D3=2 对于D3 阅读全文
posted @ 2017-02-20 23:00 墨鳌 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 题目 方格中取数若干,两两不相邻,求最大选数和。 样例: 3 3 1 2 3 3 2 3 2 3 1 输出: 11 ans=2+3+3+3=11 黑白染色 建成二分图: 中间这些边连成INF(即不限制流量) 其实就是求最大独立集 定理:|二分图最大独立集|=|顶点数|-|二分图最大匹配数| 这个,我 阅读全文
posted @ 2017-02-18 22:05 墨鳌 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 题目 ‘^’代表叉乘 ‘•’代表点乘 点积:a•b=ax*bx+ay*by 叉积:a^b=ax*by-bx*ay 有了这些,代码就呼之欲出了。 首先read(线段) 然后read(点) 发现满足二分性(点A一定在前t条线后,在后n-t条线前) 于是,二分优化查找 O(mlogn) 阅读全文
posted @ 2017-02-18 16:20 墨鳌 阅读(231) 评论(0) 推荐(0) 编辑
摘要: De Morgan定理 (1) (2) (*) 证明(*): 由于n=2,即(2)式,成立 根据数学归纳法,假设(*)成立 即:,则有 证毕。 容斥原理,定义|A|为集合A的元素个数 预备知识:若则|AUB|=|A|+|B| 若则|AUB|最多被计算一次 因此:|AUB|=|A|+|B|-|| 进一 阅读全文
posted @ 2017-02-18 00:40 墨鳌 阅读(1000) 评论(0) 推荐(0) 编辑