题目:约瑟夫环,有一个环先删掉第一个元素,然后每隔m个数字删掉,问最后剩下的是2号元素,
则应该去的最小m为多少。
分析:数论,模拟。将元素编号0~n-1,最后剩下编号的递推关系:f(i,m)=(f(i-1,m)+m)%i。
因此,问题转化成n-1元素,剩下第一个元素的约瑟夫环,按循序枚举m找到第一个成立的即可。
说明:╮(╯▽╰)╭。
#...
分类:
其他好文 时间:
2015-06-18 11:42:40
阅读次数:
119
交换排序:通过依次交换逆序的元素使其有序化的过程。
介绍两种交换排序: 冒泡排序,快速排序
冒泡法:从第一个元素开始,依次比较相邻的两个元素,如果逆序则交换,第一趟比较结束后,序列中最大的元素将移动到序列末尾,即第n个位置,第二趟将次大元素移动到n-1位置…… 多趟比较后,会形成有序序列,排序方法类似气泡慢慢向上浮动,因此成为冒泡法。
快速排序: 对冒泡的改进...
分类:
编程语言 时间:
2015-06-17 11:35:37
阅读次数:
156
一维数组与指针
int a[10];
int *pa;
一维数组的数组名代表的就是该数组第一个元素的地址,所以复制语句pa=&a[0]等价于pa=a。对数组元素a[i]的引用等价于*(a+i)。在计算数组元素a[i]的值时,C语言实际上先将*(a+1)后再进行求值,所以用指针编写的程序比用数组下标编写的程序执行速度快。
数组名和指针之间有一个不同之处,指针是一个变量,pa=a和pa++都是合...
分类:
编程语言 时间:
2015-06-15 09:17:26
阅读次数:
142
dyaddown功能:对时间序列进行二元采样,每隔一个元素提取一个元素,得到一个降采样时间序列。格式:1.y = dyaddown(x, EVENODD)当EVENODD=0时,从x中第二个元素开始采样(偶采样);当EVENODD=1时,从x中第一个元素开始采样(奇采样)。2.y = dyaddow...
分类:
其他好文 时间:
2015-06-14 15:08:26
阅读次数:
174
最近在写一个jQuery插件的时候,需要用到一个条件:一组img标签,每一个元素都需要被它前面的元素值src替换,如果是第一个(序列为0)则其值为最后一个元素值,如果是最后一个,那么其值为第一个元素值,以此形成一个闭环。为此,我使用了三元运算符?:,其表达式为:var next=$(this).ne...
分类:
编程语言 时间:
2015-06-14 12:07:08
阅读次数:
141
Pair类型概述pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的定义如下:pair a;表示a中有两个类型,第一个元素是int型的,第二个元素是string类型的,如果创建pair的时候没有对其进行初始化,则调用默认构造函数对其初始化。pair a("James", "Jo...
分类:
编程语言 时间:
2015-06-12 18:57:03
阅读次数:
128
List介绍Lists将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢. assign() 给list赋值back() 返回最后一个元素begin() 返回指向第一个元素的迭代器clear() ...
分类:
其他好文 时间:
2015-06-12 11:36:53
阅读次数:
89
JavaScript push() 方法定义和用法push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。语法arrayObject.push(newelement1,newelement2,....,newelementX)参数描述newelement1必需。要添加到数组的第一个元素。...
分类:
编程语言 时间:
2015-06-07 20:06:11
阅读次数:
613
线性表线性表是最简单、最基本、最常用的数据结构。数据元素 1 对 1的关系,这种关系是位置关系。特点(1)第一个元素和最后一个元素前后是没有数据元素,线性表中剩下的元素是近邻的,前后都有元素。(2)线性表中的元素是有限的(List),线性表中的数据类型一致。(3)线性表表示方法 L={a1,a2,a...
分类:
编程语言 时间:
2015-06-05 19:09:51
阅读次数:
201
1. $("p.intro")->所有 class="intro" 的 元素 $("div#intro .head")->id="intro" 的 元素中的所有 class="head" 的元素 $("ul li:first")->每个 的第一个 元素2. jQuery 使用 XPath...
分类:
Web程序 时间:
2015-06-03 21:15:35
阅读次数:
116