会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
几缕清风依旧
博客园
首页
新随笔
新文章
联系
管理
订阅
上一页
1
···
7
8
9
10
11
2016年8月29日
并查集
摘要: 在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。 如果n比较大,那么反复询问你某个元素所在集合,你该怎么做? 如果每次都遍历,那么显然会超时,那么用一些数据结构比如建树什么的,很可
阅读全文
posted @ 2016-08-29 20:51 几缕清风依旧
阅读(461)
评论(0)
推荐(0)
编辑
2016年8月27日
KMP
摘要: KMP算法是用来求这类问题:求子串a在字符串b中的个数。 索引:如果我们按照普通方法求这个问题就是一一比较,然后移一位再一一比较,,,这样的结果显示是超时,因此前辈们总结出一种算法,它可以不需要一位一位的移,有时候可以移好多位,这样就可以很快得出答案了。 在这个算法中我们首先要对子串a进行分析,子串
阅读全文
posted @ 2016-08-27 15:41 几缕清风依旧
阅读(281)
评论(0)
推荐(0)
编辑
2016年8月26日
欧拉函数+素数筛
摘要: 欧拉函数,就是欧拉发现的一个关于求素数的的公式,然后我们编个函数实现这个公式。 欧拉发现求小于等于n的正整数中有多少个数与n互质可以用这个公式: euler(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…(1-1/pn),其中p1,p2……pn为x的所有素因数,x是不为0
阅读全文
posted @ 2016-08-26 17:01 几缕清风依旧
阅读(964)
评论(0)
推荐(0)
编辑
快速幂+大数取模
摘要: 快速幂,其实就是求(a^b)% p,(其中a,b,p都比较大在int范围内)这类问题。 首先要知道取余的公式:(a*b)%p=(a%p*b%p)%p。 那么幂不就是乘机的累积吗,由此给出代码: int fast(int a,int b,int p) { long long a1=a,t=1; whi
阅读全文
posted @ 2016-08-26 14:34 几缕清风依旧
阅读(2844)
评论(0)
推荐(0)
编辑
2016年8月25日
01背包
摘要: 以前在acm课上也讲过一些关于背包的题,不过那些比较简单,就是简单的贪心问题,先排个序再处理就完了,而01背包,感觉就是比那个上了一个难度的问题,这个需要遍历然后找其中合适的,简单原理就是这样。 例如:现在有容量为m的背包,还有重量为w,价值为v的k个不同的商品,问怎样买才能使价值最大化? 思路:如
阅读全文
posted @ 2016-08-25 21:42 几缕清风依旧
阅读(288)
评论(0)
推荐(0)
编辑
2016年8月23日
深搜,广搜
摘要: 在acm课上听陈宇讲过几个搜索题,当时就是照猫画虎,按照他给的代码改改就能过,那个代码比较巧,好记的: int dfs(int i,int j) { if(i<0||i>=n||j<0||j>=m||map[i][j]=='#||v[i][j]==1) //越界或搜索过退出 return 0; v[
阅读全文
posted @ 2016-08-23 15:07 几缕清风依旧
阅读(497)
评论(0)
推荐(0)
编辑
2016年8月18日
c++中stl容器的常用示例
摘要: 1、 set(集合)——包含了经过排序了的数据,这些数据的值(value)必须是唯一的。 也就是说输入set容器后得到数据,会去重并排序。 s.insert()插入一个元素 s.begin() s.end()分别返回首尾指针 s.clear() 清空集合 遍历需要利用迭代器set<类型>::iter
阅读全文
posted @ 2016-08-18 21:25 几缕清风依旧
阅读(1308)
评论(0)
推荐(0)
编辑
上一页
1
···
7
8
9
10
11
公告