题目地址:light oj 1007
第一发欧拉函数。
欧拉函数重要性质:
设a为N的质因数,若(N % a == 0 && (N / a) % a == 0) 则有E(N)=E(N / a) * a;若(N % a == 0 && (N / a) % a != 0) 则有:E(N) = E(N / a) * (a - 1)
对于这题来说,首先卡MLE。。只能开一个数组。。所以把前缀和也存到...
分类:
其他好文 时间:
2015-08-10 10:38:10
阅读次数:
154
B-tree(多路搜索树,并不是二叉的)是一种常见的数据结构。使用B-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度。按照翻译,B通常认为是Balance的简称.这个数据结构一般用于数据库的索引,综合效率较高。B-tree中,每个结点包含:1、本结点所含关键字的个..
分类:
编程语言 时间:
2015-08-09 07:18:25
阅读次数:
160
B-tree(多路搜索树,并不是二叉的)是一种常见的数据结构。使用B-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度。按照翻译,B通常认为是Balance的简称.这个数据结构一般用于数据库的索引,综合效率较高。B-tree中,每个结点包含:1、本结点所含关键字的个..
分类:
编程语言 时间:
2015-08-09 07:17:08
阅读次数:
231
在和刘同学长谈之后,我再次对前一段时间的想法进行了反思,结合聊天中的新感受,整理在这里。(注:标题里的算法,指机器学习算法,或者说“算法工程师”这个职位名称里的“算法”,不是“算法与数据结构”里的那个算法。谁能告诉我有没有什么更好的名字来区别这它们,或许是“机器学习算法”与“传统算法”?)算法与算法...
分类:
编程语言 时间:
2015-08-09 00:19:06
阅读次数:
118
题目地址:codeforces #pi (DIV2) E
题目很水。。就是先求两边最短路,然后把可能为最短路的边挑出来,然后判断是否yes只需要转化成无向图跑一遍tarjan,找出割边,割边就是yes,然后剩下的边就让它的值为最短路-1就行了,如果-1后变成了非正数,就是no.
但是!!!居然卡spfa!!那是不是说cf以后就不能用可以卡的算法了。。完全可以出组数据来卡这些算法。。。比如spfa...
分类:
其他好文 时间:
2015-08-07 20:19:51
阅读次数:
145
题目地址:E. Paths and Trees
模拟了一场CF,这场实在太水了。。边玩边做的。。最后半分钟交了一发E题。。不幸AK绝杀失败。。。。
首先的思路肯定是先求最短路,把可能为最短路的边挑出来,然后第二步我本来写的是直接用无向图的最小生成树,于是绝杀失败。。。后来才发现这样是不行的。。因为边是有向边,而且每个点的入度要保证只有一个才行。于是我就把最小生成树的边弄成有向边,然后判定一下每个...
分类:
其他好文 时间:
2015-08-07 20:12:32
阅读次数:
135
数据结构是学习编程路上的重要一步,也为以后学习算法打下基础,数据结构又称算法与数据结构,与算法密不可分,是计算机软件专业的核心课程,其重要性不言而喻。
递归分为递推与回归两个过程,递归的优点是容易理解,方便编程,可以解决很多问题,缺点是需要不断的调用递归,时间效率慢,空间占用大。
递归示例:
# include
int f(int n)
{
//printf("1");...
分类:
其他好文 时间:
2015-08-05 10:30:49
阅读次数:
88
题目地址:HDU 4630
这题一看数据范围,于是一直在思考n*logn的算法。。实在没想到好方法,找了找题解,发现都是用的n*sqrt(n)*logn的方法。。。算了算,这个复杂度的确可以过。。好吧。。
然后就可以先离线下来将询问按r值排序,然后枚举每个数,并且用sqrt(n)的方法枚举所有的约数,然后对于每个约数,对最近的一次出现的这个约数的地方进行更新。因为对于当前区间来讲,只要最近的这个...
分类:
其他好文 时间:
2015-07-28 13:15:05
阅读次数:
164
题目地址:ZJU 3886
这个题需要想到一点,因为对一个数x不断取模的话,而且设定他小于模才会进行取余操作的话,那么最多只会进行logx次,因为每次取模都会使x最少折半。然后想到了这点就很好做了。对于区间取模更新操作可以直接暴力更新,维护一个最大值,如果这个区间的最大值小于模的话, 就不用继续向叶子更新了。然后其他的大于模的就更新到叶子节点。
然后对于NicoNumber来说,只有6,2的幂次...
分类:
其他好文 时间:
2015-07-27 23:14:55
阅读次数:
425
题目地址:HDU 4628
这题没想到怎么快速枚举子状态。。。看了题解才知道的。
用for(state=i;state>0;state=(state-1)&i)就可以了。
这题的具体做法是先预处理出所有的状态是不是回文串,然后就是普通的DP了。
代码如下:#include
#include
#include
#include <q...
分类:
其他好文 时间:
2015-07-25 16:58:25
阅读次数:
136