星星之火
摘要: 1.统计末尾1的个数 int count = 0; int flag = 1; while(flag){ if(num & flag){ count++; } flag = flag << 1; } return count;2.判断奇偶 return x&1==1 若是奇数返回q否则返回03.交换 阅读全文
posted @ 2018-06-08 16:07 星星之火OIer 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 一.欧几里德法求逆元 定理:对于方程$ax+by=1$,得到解x y,x就是a关于b的逆元,同理y就是b关于a的逆元 如何证明呢? 如下: 已知方程$ax+by=1$ 在等式两边同时模b,得: 得$ax≡1(mod b)$ 证毕 二.费马小定理求逆元 根据费马小定理,$a^{p-1} \equiv 阅读全文
posted @ 2018-06-08 09:52 星星之火OIer 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 我要讲的其实是下面这道题: 对于n个数,一直它们间m对关系(即pi>pj),问至少还需要知道多少堆关系才能将它们排序。 问题理解起来很简单,相信有的读者一眼看去就知道是拓扑排序(我一开始也是这么认为的),那么我就仅仅附上拓扑排序的代码,因为我真正要讲的,并不是拓扑排序法 之所以不讲,是因为我认为我还 阅读全文
posted @ 2018-06-08 09:51 星星之火OIer 阅读(263) 评论(0) 推荐(1) 编辑
摘要: 逆序对的概念我就不讲了,关于这个求逆序对的问题,通俗的方法自然是要么遍历O(n^2),要么归并排序(nlog n ),那么如何用树状数组实现呢? 下面看一道题目 涵涵有两盒火柴,每盒装有 n 根火柴,每根火柴都有一个高度。 现在将每盒中的火柴各自排成一列, 同一列火柴的高度互不相同, 两列火柴之间的 阅读全文
posted @ 2018-06-08 09:51 星星之火OIer 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 缩点,就是把一张有向有环图中的环缩成一个个点,形成一个有向无环图。 首先我介绍一下为什么这题要缩点(有人肯定觉得这是放屁,这不就是缩点的模板题吗?但我们不能这么想,考试的时候不会有人告诉你打什么板上去吧) 根据题目意思,我们只需要找出一条点权最大的路径就行了,不限制点的个数。那么考虑对于一个环上的点 阅读全文
posted @ 2018-06-08 09:50 星星之火OIer 阅读(1700) 评论(8) 推荐(3) 编辑
摘要: 定义int *lsh[maxn],把要离散化的数据取地址(&)然后之前存进去,work一次就ok了 阅读全文
posted @ 2018-06-08 09:43 星星之火OIer 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 关于一个很强的操作,整体二分 最基本的运用就是洛谷的主席树模板——静态区间的k大 下面说一说思路 所谓整体,就是所有的询问全部一起处理,这是因为如果单个单个二分的话无疑会超时。那么如何可以做到这点呢?首先对于数组中原来的数和询问,把它们封装在同样的结构体里。这个结构体包括x,y,k,id,type 阅读全文
posted @ 2018-06-08 09:42 星星之火OIer 阅读(201) 评论(0) 推荐(0) 编辑