题目链接:uva 11401 - Triangle Counting
题目大意:有多少种方法可以从1,2,3...n中选出3个不同的数组成三角形,给出n,求种数。
解题思路:加法原理,设最大边为x的三角形有c(x)个,那么另外两条边长分别为y和z,根据三角形的形式可以的y+z>x,所以z的范围即为x?yzx
根据这个不等式可以得到每个y值所对应的z值个数,为等差数列,所以
c(...
分类:
其他好文 时间:
2014-05-15 03:03:34
阅读次数:
248
题意:爬一层有n阶的楼梯,每次可以爬一阶或两阶,问爬到顶部有多少种方案
思路:dp,具体一点是斐波那契数列。f(i) = f(i-1) + f(i-2)
第i阶可以是从第i-2阶爬上来的,也可以是从第i-1阶爬上来的
进一步发现在迭代到第i阶时,我们只要保存前面的f(i-1)和f(i-2),
所以只要定义两个变量就可以,不用定义一个数组。...
分类:
其他好文 时间:
2014-05-15 02:52:36
阅读次数:
247
散列表(Hash table,也叫哈希表),是根据关键字(Key value)而直接访问在内存存储位置的数据结构。也就是说,它通过把键值通过一个函数的计算,映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。
一个通俗的例子是,为了查找电话簿中某人的号码,可以创建一个按照人名首字母顺序排列的表(即建立人名x到首字母F(x)的一个函数关系),在首...
分类:
编程语言 时间:
2014-05-15 02:27:50
阅读次数:
497
题意:最大连续子序列和,在一个数组中找到和最大的连续子数组
思路:dp, 对于第i个数,有两种选择:把它加入在子数组里,不加入子数组(子数组到此结束)
加不加入子数组,要比较它加入前后子数组的总和是变大了还是变小了,如果变大则加入,变小则不加入
所以,我们需要记录以i-1结尾的子数组的总和,最后的结果在这些总和中取最大的那个
f[i] = max(f[i-1]+a[i],f[i-1]);
max({f[i]})
实现时用两个变量,一个保存f[i-1],一个保存目前为止最大的f[i]
复杂度:时间O(n),空...
分类:
其他好文 时间:
2014-05-14 21:53:14
阅读次数:
250
1. 结构的基础知识
跟数组一样是成员的集合,但与数组有很大的区别,结构的元素不能通过下标法来访问,因为各个成员的大小可能不同,但是数组可以,因为数组元素保持一致。
1.1 结构声明
struct tag {member-list }
variable-list ;
上面黑色部分是可选部分,但是必须同时出现两个。
实例一:下面是实例:
struct{
i...
分类:
编程语言 时间:
2014-05-14 21:47:06
阅读次数:
522
题意:移除数组中出现的给定元素,并返回移除元素数组长度。要求在数组上操作
思路:遍历数组,将除给定元素外的其他元素赋值给“新数组”,不过这个“新数组”还是在原来的“旧数组”的内存空间
因为遍历旧数组的下标总大于等于新数组的下标,所以赋值并不会影响到还没有遍历到的元素
复杂度:时间O(n), 空间O(1)...
分类:
其他好文 时间:
2014-05-14 21:35:52
阅读次数:
257
(一)main函数调用
main函数作为程序运行时的入口函数,它是如何被调用的呢?首先必须清楚一点,main函数也是一个函数,它只有被调用才能够执行。其实,在执行可执行程序时,在调用main函数之前,内核会先调用一个特殊的启动例程,将此启动例程作为可执行程序的起始地址。启动例程是如何作为可执行程序的起始地址的?这是由链接编译器设置的,而链接编译器则是由C编译器(如gcc编译器)调用的。启动例程作...
分类:
系统相关 时间:
2014-05-14 19:43:53
阅读次数:
479
第6章分散和聚集6.1概述分散/聚集I/O是使用多个而不是单个缓冲区来保存数据的读写方法。一个分散的读取就像一个常规通道读取,只不过它是将数据读到一个缓冲区数组中而不是读到单个缓冲区中。同样地,一个聚集写入是向缓冲区数组而不是向单个缓冲区写入数据。分散/聚集I/O对于..
分类:
其他好文 时间:
2014-05-14 18:34:06
阅读次数:
215
1.对于有G个灰度级(一般是256)大小的M*N图像,创建一个长为G的数组H,并初始化为0.2.形成直方图:扫描每个像素,增加相应的H成员,当像素p具有亮度gp时,做
H[gp] = H[gp] + 13.形成累积直方图Hc: Hc[0] = H[0] Hc[p] = Hc[p-1]+Hc[p], ...
分类:
其他好文 时间:
2014-05-14 17:59:21
阅读次数:
219
问题:保存的cookie用firefox怎么刷新都刷不出来,而把cookie的值改为字符串或数字时正常,果断把数据源用json编码,然后存储,果然出来了。解决方法:在保存cookie值为对象或数组时,最好用json编码。
分类:
其他好文 时间:
2014-05-14 16:29:02
阅读次数:
212