摘要: 代码如下。需要说明的是,之前一直WA,发现对这题来说,难点不是贪心,是对浮点数的处理,做题经验不足会导致一直不能AC。在代码第43行,用1.0*m*x[i].a/x[i].b就能AC,但是如果直接用x[i].re*m则会WA。其实计算re只是为了排序,在最后计算结果的时候如果还用这个浮点数就会导致多... 阅读全文
posted @ 2014-09-24 12:10 Sprink 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 背包九讲原文:题目有N种物品和一个容量为V的背包。第i种物品最多有n[i]件可用,每件费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本算法这题目和完全背包问题很类似。基本的方程只需将完全背包问题的方程略微一改即可,因为对于第i种物品有n... 阅读全文
posted @ 2014-09-13 23:33 Sprink 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 最近看背包九讲,对于我们这种小白来说需要仔细研读,由于里面有些思维跳跃,故在原文基础上加上自己的理解。题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子... 阅读全文
posted @ 2014-09-13 13:07 Sprink 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 循环节解法: 对于公式 f[n] = A * f[n-1] + B * f[n-2]; 后者只有7 * 7 = 49 种可能,为什么这么说,因为对于f[n-1] 或者 f[n-2] 的取值只有 0,1,2,3,4,5,6 这7个数,A,B又是固定的,所以就只有49种可能值了。由该关系式得知每一项只... 阅读全文
posted @ 2014-09-07 15:51 Sprink 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 记得在我们最开始学习C语言的时候,每当讲到递归,无论是课本上,还是老师,都会给出两个经典例子的递归实现,其中一个就是阶乘,另外一个就是Fibonacci(中文多译成斐波那契)数列了。用递归方法计算阶乘的代码如下://递归计算阶乘long Factorial(int n){ if (n 1) { r... 阅读全文
posted @ 2014-09-05 23:01 Sprink 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 看别人的博客没弄懂,自己再将不太容易懂的地方理解了仔细表达出来。 一个经典问题,对于一个包含负值的数字串array[1...n],要找到他的一个子串array[i...j](0array[p...q](因为此时如果跨两个子串选择,无论是array[m+1...j]+array[j+1...n]... 阅读全文
posted @ 2014-09-03 21:54 Sprink 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 在程序调试过程中发现,有一个程序一直死循环在文件的读取中。http://tuhao.blogbus.com/logs/21306687.html从这边文章了解到了相关信息主要在于eof()不只是读取文件的最后一个字符,它会接着往后读取,如果此函数返回ture时,则此时返回的文件结束符0xFF才是真正... 阅读全文
posted @ 2014-04-11 12:59 Sprink 阅读(11532) 评论(0) 推荐(1) 编辑
摘要: 今天看《libstdc++ manual 20110201》中提到这个hash_map是为了向后兼容SGI/HP的代码,但是已经被废弃了,取而代之的是C++0x中的unordered_map/unordered_multimap,在tr1文件夹中(老版本的编译器一般不带这个文件夹)。========... 阅读全文
posted @ 2014-04-02 16:00 Sprink 阅读(705) 评论(0) 推荐(0) 编辑
摘要: 1.C++里大写TRUE和小写true区别true是bool型的;TRUE是int型的,VC里这个是ms自己定义的;C++规定不允许只通过返回类型不同区别两个函数2.而”DWORD"和“HWND"分别指什么?DWORD类型表示“双字”,也就是四字节大小的整型值,在windef.h 中,DWORD的定... 阅读全文
posted @ 2014-03-26 16:22 Sprink 阅读(1422) 评论(0) 推荐(0) 编辑
摘要: feof()函数是我们在C语言中操作文件经常用到的一个函数。这个函数用来表示我们是否已经到了文件的末尾的下一个位置。不管是二进制文件,还是文本文件它都管用。对比EOF(一般宏定义为-1),EOF只能用来判断文本文件是否到达末尾,因为文本文件中的数字是用ASCII表示的,ASCII字符的取值范围是0~... 阅读全文
posted @ 2014-03-22 14:07 Sprink 阅读(665) 评论(0) 推荐(0) 编辑