随笔分类 -  小技巧

摘要:题意:给你一个序列,让你找长度最长的字典序最小和最大的单峰序列,单峰序列就是满足先增后降的序列。 思路:先正着求一遍LIS,再反着求一遍LIS,然后用单调栈来模拟。 求字典序最小的话,首先找到第一个顶峰,然后往前找递减的序列中下标较小的,往后就依次找,这样能保证字典序最小。 最大的话找到最后一个顶峰 阅读全文
posted @ 2019-09-04 23:25 shuai_hui 阅读(438) 评论(0) 推荐(0) 编辑
摘要:自补图的定义: 原图为G , 补图为H (H是在G的完全图上面去掉关于G图的边得到的新图),G和H为同构 同构的定义: 关于图的同构(Isomorphic),最简单的例子就是五边形和五角星了: 上图中,G1和G2为同构的,因为: 从G1的结点到G2的结点,存在一个一对一的映上函数 f (one - 阅读全文
posted @ 2019-08-05 22:47 shuai_hui 阅读(11637) 评论(0) 推荐(2) 编辑
摘要:我们最常见的标记某一些数,直接开一个数组去标记;O(1)插入O(1) 查询;但是初始化需要o(n) ; 有一些题目是需要在一个for()循环里面进行初始化 , 也就是说每循环一次都需要初始化,如果我们只是用数组标记的化,时间复杂度太大了;所以我们可以想到用set去标记 , 我们在set里面存入标记数 阅读全文
posted @ 2019-05-09 15:44 shuai_hui 阅读(112) 评论(0) 推荐(0) 编辑
摘要:(n & m) == m 为奇数 C(n,0),C(n,1),C(n,2)…C(n,n).当中有多少个奇数 第一种想法是Lucas定理推导,我们分析一下 C(n,m)%2,那么由lucas定理,我们可以写成二进制的形式观察,比如 n=1001101,m是从000000到1001101的枚举,我们知道 阅读全文
posted @ 2019-05-04 14:17 shuai_hui 阅读(543) 评论(0) 推荐(0) 编辑
摘要:long long 最大只有19位 ; unsigned long long 最大有20位 ,原因牺牲了符合位来换取更大的记录 阅读全文
posted @ 2019-04-28 17:18 shuai_hui 阅读(592) 评论(0) 推荐(0) 编辑
摘要:/*num1/num2 保留bit 位小数 , 四舍五入*/ #include using namespace std; int OP[100]; int main() { int num1,num2,bit; cin>>num1>>num2; cin>>bit; int temp=0;///判断负数的个数 if(num1=5) { ... 阅读全文
posted @ 2019-04-28 16:50 shuai_hui 阅读(232) 评论(0) 推荐(0) 编辑
摘要:#include #include #include #include #include #include #include #include #include #include using namespace std; #define rep(i,a,n) for (int i=a;i=a;i--) #define pb push_back #define mp make_p... 阅读全文
posted @ 2019-03-17 23:25 shuai_hui 阅读(312) 评论(0) 推荐(0) 编辑
摘要:今天zyb参加一场面试,面试官听说zyb是ACMer之后立马抛出了一道算法题给zyb:有一个序列,是1到n的一种排列,排列的顺序是字典序小的在前,那么第k个数字是什么?例如n=15,k=7, 排列顺序为1, 10, 11, 12, 13, 14, 15, 2, 3, 4, 5, 6, 7, 8, 9 阅读全文
posted @ 2019-03-17 16:36 shuai_hui 阅读(1108) 评论(0) 推荐(0) 编辑
摘要://O(1)快速乘 inline LL quick_mul(LL x,LL y,LL MOD){ x=x%MOD,y=y%MOD; return ((x*y-(LL)(((long double)x*y+0.5)/MOD)*MOD)%MOD+MOD)%MOD; } //O(log)快速乘 inlin 阅读全文
posted @ 2019-03-17 09:30 shuai_hui 阅读(331) 评论(0) 推荐(0) 编辑
摘要:注意这里是将后台的所有数据都读入在计算 阅读全文
posted @ 2019-02-26 19:04 shuai_hui 阅读(627) 评论(0) 推荐(0) 编辑
摘要:很浅显我们只要减去多于这位的0.x5,即可 例如保留5位小数 , printf("%.5lf\n",ans-0.0000005); 阅读全文
posted @ 2019-02-18 21:56 shuai_hui 阅读(554) 评论(0) 推荐(0) 编辑
摘要:在用cin 与 cout 的时候 可以使用 这样在输入大数据的时候可以加快许多 阅读全文
posted @ 2019-01-28 13:29 shuai_hui 阅读(553) 评论(0) 推荐(0) 编辑
摘要:大数因数分解Pollard_rho 算法 复杂度o^(1/4) #include <iostream> #include <cstdio> #include <algorithm> #include <cmath> #include <cstring> #include <map> using na 阅读全文
posted @ 2018-12-02 12:46 shuai_hui 阅读(532) 评论(0) 推荐(0) 编辑
摘要:#include<stdio.h> #include<string> #include<string.h> #include<iostream> using namespace std; //compare比较函数:相等返回0,大于返回1,小于返回-1 int compare(string str1 阅读全文
posted @ 2018-11-21 15:43 shuai_hui 阅读(150) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示