随笔分类 - 算法心得
摘要:int quickMul(int x,int k,int mod) { //用来求逆元 if(k == 0) return 1; int tmp = quickMul(x,k / 2); tmp = (tmp * tmp) % mod; if(k & 1) tmp = (tmp * x) % mod
阅读全文
摘要:LIS是动态规划中经典的问题。 首先我们令f[i]表示前i个元素中最长上升(不下降同理)子序列长度,那么我们有: 朴素的算法当中我们在外层枚举1~n,内层枚举1~i-1来挨个比较转移,这样的时间复杂度是 $ O(n^{2})
阅读全文
摘要:在素数筛法当中,首先先讲一下朴素的筛法和埃氏筛。 朴素筛法:对于任何一个数 ,我们从2到 挨个枚举看是不是i都无法整除这些数,如果是的话那么就说明 是素数,反之则不是 埃氏筛:我们发现,在朴素筛法当中我们希望枚举每个数的因子,也就是说,当我们判断4是不是素数,我们
阅读全文
摘要:原题在这里 题目大意:给定n个数,求出这n个数中第k小的数。 做法: 1.首先直接想到的肯定是直接排序然后 输出即可。这样的时间复杂度是 ,由于题目中n的数据范围过大我们无法接受。 2.再想到,我们在进行快速排序的过程中,随机选取一个数作为基准,每次将比它大的数放
阅读全文
摘要:万能头: #include<bits/stdc++.h> cin加速: ios::sync_with_stdio(0); cin.tie(0); 快读: inline int read() { int x=0,f=1;char ch=getchar(); while (ch<'0'||ch>'9')
阅读全文