- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 欧拉函数求法
欧拉函数是计算在1-n中n的质因数的个数;φ(x)=x*(p1-1)/p1*(p2-1)/p2*(p3-1)/p3…*(pn-1)/pn 其中p1,p2,p3…是x的质因数;若x是质数: φ(x)=x-1 若x是质数p的k次幂(即x=p^k):φ(x)=p^k-p^(k-1)=(p-1)p^(k-1)积性: φ(n*m)=φ(n)*φ(m) 其中m、n互质。具体的证明和其他介绍就不多说了=.
2017-07-07 11:35:01
1050
原创 素数筛法 埃氏筛 线性筛
素数筛法? 呃~,太暴力的试1~sqrt(n)时候是因数就不说了。 这里介绍埃氏筛和线性筛。埃氏筛埃氏筛主要原理是: 每次搜索到一个质数将他的倍数标记为合数; 本质原理就是:一个合数一定表示为一个质数*一个数;一些tips: 1、循环时从2-sqrt(n)就好,不然小心爆掉哦~2、内层循环从i²开始: 假设x=i*k(k#include<iostream> #include<cs
2017-07-06 22:10:13
629
2
原创 P2870 (poj 3617) [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold 可爱的贪心
so easy 的贪心
2017-05-20 07:19:37
245
原创 P1115 最大字段和 动态规划
题目描述 给出一段序列,选出其中连续且非空的一段使得这段和最大。 输入输出格式 输入格式: 输入文件maxsum1.in的第一行是一个正整数N,表示了序列的长度。 第2行包含N个绝对值不大于10000的整数A[i],描述了这段序列。 输出格式: 输入文件maxsum1.out仅包括1个整数,为最大的子段和是多少。子段的最小长度为1。
2017-05-02 18:34:13
361
原创 cogs1398 最长单调子序列 单调栈改进
cogs原题:点击打开链接 单调栈改进: ~从前往后扫描序列维护单调栈h ~h【i】表示当前扫描到的位置中,存在长度为i的最长上升子序列,序列中最后一个数(即最大值)的值。 ~当扫描到某一数据时有两种情况:①大于最大值:则直接放入h的堆顶。②小于最大值:在已有的h中通过二分找到相邻两值并用其替换刚好比插入值大的数。 (更新某个点并不是意味着更改当前最长子序列的值,而是意味着未来有某一
2017-04-30 21:11:09
1391
原创 cogs1398 最长上升子序列 动态规划初级
本宝宝写动态规划的第一道题=.= 写完就比较傻了...(大概的确是我比较水) cogs原题:点击打开链接 基本动态规划思路: 搜索整个序列:对于每个数据pos,寻找前面的数据x,如果前面某个数据x小于当前数据pos,f【pos】取f【x】+1和f【pos】的最大值。 注意:1、别忘了初始化!!!!!(因为我曾经懵懂无知就没有写...) 2、ans的更新!
2017-04-30 20:34:15
184
原创 P2234 HNOI2002 营业额统计——splay
洛谷原题:点击打开链接 splay的模板?是的吧=_= 又臭又长的splay完美的契合了这个题~~~~ 题意: 对于每一个数据,找到出现在其前面的一个与他最接近的数据。做差,并将所有差求和输出。 做法: 逐个将每个数插入splay树中: 1、寻找每个点的前驱、后继。 2、将当前数据分别与找到的前驱、后继做差,取小。 3、将每次取到的差求和。 贴代
2017-04-30 20:26:38
384
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人