基础算法
文章平均质量分 64
ACHelloWorld
这个作者很懒,什么都没留下…
展开
-
线性筛选时间复杂度
今天可爱的Mayuyu带大家来学习线性筛选,以及分析它的时间复杂度。。。 首先,我们学过素数筛选,它也叫线性筛选,因为对于每一个数,我们只需要把它的倍数筛去就行了,这样以及筛出的就不再继续判断,Mayuyu写的的素数筛选代码如下: void isprime(){ cnt = 0; memset(prime,true,sizeof(prime)); fo原创 2014-04-12 09:53:35 · 2423 阅读 · 0 评论 -
异或最大
今天可爱的Mayuyu会带领大家来学习一个东西,那就是异或最大,Mayuyu的问题描述如下。 题目:给定一个数组a[],再给出m个询问,每个询问一个数x,在数组a[]中找出一个数y,使得x与y的异或值最大。 分析:最直观的思路就是对于每一个询问,直接暴力在数组a[]中比较,找最大的,但是这样做的时间复杂度会很大。 我们有一个很好的解法,那就是字典树,假设所有的数字范围均原创 2014-05-18 14:54:53 · 1723 阅读 · 0 评论 -
数论vs图论
最近Mayuyu遇到个神奇的数论题目,Mayuyu能做出来真的不容易啊,描述如下。 题目:给定一个正整数,满足条件,以为根节点进行扩展,对于每一个节点,它只能到达能整除 它的节点,如果存在节点,使得成立,则必定会经过点,对于每一个节 点,有一个值,这个值等于这个节点的最大深度,最后求输出每个节点的序号乘对应值的和。 分析:对于一个数,它只能到达它的所有因子,原创 2014-05-13 20:42:57 · 3317 阅读 · 0 评论 -
背包与构造
题目:给定一个数,,求它最少可以用多少个包含字符串"61"的数字来表示,并输出这些数。 分析:对于大于6161的任何一个整数,都有如下表示 对于小于1616的数,直接背包即可。 代码:#include #include #include using namespace std;typedef long long LL;const原创 2014-06-02 09:06:45 · 1133 阅读 · 0 评论 -
一道推理题
题目:http://115.28.76.232/problem?pid=1115 题意:初始给定两个完美数1和3,如果都是完美数,那么也是完美数。现在给定一个数,判断它 是否是完美数。 分析:嗯,这道题Mayuyu有两种方法,第一种方法是按照题意有,那么我们进行递归直接判断。 这样做的时间复杂度很高,通过打表对一些数的观察发现,只需要看这个数是否只由3和5组原创 2014-06-11 20:09:41 · 946 阅读 · 0 评论 -
一个组合问题
今天Mayuyu遇到了一道组合问题,题目描述原创 2014-05-13 20:20:38 · 832 阅读 · 0 评论 -
后缀树算法
今天主要来认识后缀树,在字符串处理中是一个很有用的工具。可以参考: 后缀树总结:http://blog.163.com/zqz_20003/blog/static/26945430201051622328883/ 后缀树原理详见:http://www.ibaiyang.org/2013/01/06/suffix-tree-introduction/ 开源代码参考:http:原创 2015-09-28 19:38:11 · 1560 阅读 · 0 评论