flyinghearts的专栏

flyinghearts#qq.com 新博客地址: www.cnblogs.com/flyinghearts

多重背包O(N*V)算法详解(使用单调队列)

多重背包问题:有N种物品和容量为V的背包,若第i种物品,容量为v[i],价值为w[i],共有n[i]件。怎样装才能使背包内的物品总价值最大?网上关于“多重背包”的资料倒是不少,但是关于怎么实现O(N*V)算法的资料,真得好少呀,关于“单调队列”那部分算法,又没说明得很清楚,看了几遍没看懂原理,只好...

2010-09-20 23:41:00

阅读数 26126

评论数 1

编程之美读书笔记——目录

      最初看《编程之美》时,总觉得有些解法与自己的最初想法差得太多,于是就有了将自己的想法记下来的冲动。三个月下来,也才弄了十几篇,这些笔记都发给了该书的编辑。静下心来,翻翻自己所做的笔记,总觉得写得很杂乱,有不少错处,现将这些笔记贴出来,希望能得到大家的指正。   目录: 编程之美读书笔记...

2010-05-18 23:49:00

阅读数 2836

评论数 2

面试题: 找出数组中三个只出现一次的数

题目:数组中有三个数只出现一次,其它的数恰好出现两次,找出这三个数。       先考虑“只有两个数出现一次”的情况:可以找到一种方法,将数组划分为两部分,且让这两个数分别在不同部分,这样每部分所有数的异或值,恰好分别等于这两个数。一种简单的分法就是,先计算出这两个数的异或值M(等价于求数组中...

2013-03-21 21:58:28

阅读数 2800

评论数 0

mingw gcc的头文件存在结构定义错误!!

准确的讲是mingw所用的sdk ——  w32api,存在结构定义错误。    打开wingdi.h 定位到 tagGCP_RESULTSW 的结构定义位置,     typedef struct tagGCP_RESULTSW {     DWORD lStructSize;   ...

2013-03-21 21:47:46

阅读数 1380

评论数 0

面试题精解之二: 字符串、数组(1)

面试题精解之二: 字符串、数组(1)   本篇文章发表在下面三个博客中,如果出现排版问题,请移步到另一个博客。 http://www.cppblog.com/flyinghearts http://www.cnblogs.com/flyinghearts http://blog.csdn...

2012-03-20 21:07:19

阅读数 2577

评论数 0

避免计算过程中出现溢出的一个技巧

先看一道面试题:   长度为n的数组,由数字1到n组成,其中数字a不出现,数字b出现两次,其它的数字恰好出现一次。怎样通过只读遍历一次数组,找出数字a和b。     由于只能遍历一次,在遍历数组arr时,算出 a和b的差值,以及a和b的平方差,通过解方程,即可求得a和b。具体做法为: ...

2012-03-20 21:05:23

阅读数 2454

评论数 0

Fibonacci数计算中的两个思维盲点及其扩展数列的通用高效解法

http://www.cppblog.com/flyinghearts http://www.cnblogs.com/flyinghearts http://blog.csdn.net/flyinghearts pdf版本下载 ㈠ Fibonacci数 刚接触Fibonacc...

2012-02-28 22:14:38

阅读数 1055

评论数 0

面试题精解之一: 二叉树

面试题精解之一: 二叉树   本篇文章发表在下面三个博客中,如果出现排版问题,请移步到另一个博客。 http://www.cppblog.com/flyinghearts http://www.cnblogs.com/flyinghearts http://blog.csdn.net/f...

2012-02-28 20:59:10

阅读数 8933

评论数 0

喝汽水问题

喝汽水问题                                                  by flyinghearts   有1000瓶汽水,喝完后每3个空瓶能换1瓶汽水,问最后最多可以喝几瓶汽水,此时剩余几个空瓶?     不妨假设,共有n瓶汽

2011-09-23 19:48:23

阅读数 1293

评论数 0

数组左旋转k位 —— C++标准算法库中最悲剧的函数:rotate

<br /> <br />要将一个数组的所有元素向左旋转k位,通常有三种算法:<br /> <br />算法1(分组交换):<br />若a长度大于b,将ab分成a0a1b,交换a0和b,得ba1a0,只需再交换a1 和a0。<br...

2011-05-27 21:08:00

阅读数 1208

评论数 0

一道C++面试题的误区

一道很简单的题目,一般有下面 4种解法:1 遍历两次,每次分别找出最小值和最大值。2 只遍历一次,每次取出的元素先与已找到的最小值比较,再与已找到的最大值比较。3 每次取两个元素,将较小者与已找到的最小值比较,将较大者与已找到的最大值比较。4 分治:将数组划分成两半,分别找出两边的最小值、最大值...

2011-05-03 23:16:00

阅读数 1781

评论数 1

螺旋矩阵 之二

<br /> <br /> <br />问题<br />1 按顺时针方向构建(或螺旋访问)一个 n * n的螺旋矩阵,效果见下图。<br />2 在不构造螺旋矩阵的情况下,给定坐标 i、 j值求其对应的值 f(i, j)。<...

2011-01-01 00:19:00

阅读数 1285

评论数 0

螺旋矩阵

<br />问题<br />1 按顺时针方向构建一个m * n的螺旋矩阵(或按顺时针方向螺旋访问一个m * n的矩阵):<br />2 在不构造螺旋矩阵的情况下,给定坐标i、j值求其对应的值f(i, j)。<br />比如对11 * 7矩阵, f(6...

2010-12-23 23:19:00

阅读数 965

评论数 0

螺旋矩阵

<br />问题<br />1 按顺时针方向构建一个m * n的螺旋矩阵(或按顺时针方向螺旋访问一个m * n的矩阵):<br />2 在不构造螺旋矩阵的情况下,给定坐标i、j值求其对应的值f(i, j)。<br />比如对11 * 7矩阵, f(6...

2010-12-23 23:17:00

阅读数 1102

评论数 0

25匹马取前5

<br /><br />问题:  <br />一共有25匹马,有一个赛场,赛场有5个赛道,就是说最多同时可以有5匹马一起比赛。假设每匹马都跑的很稳定,不用任何其他工具,只通过马与马之间的比赛,试问最少得比多少场才能知道跑得最快的5匹马?<br /> ...

2010-12-03 21:31:00

阅读数 4696

评论数 4

编程之美读书笔记_1.1_让CPU占用率曲线听你指挥

<br />题目:写一个程序,让用户来决定Windows任务管理器(Task Manager)的CPU占用率。程序越精简越好,计算机语言不限。例如,可以实现下面三种情况:<br /> <br />1.    CPU的占用率固定在50%,为一条直线;<br ...

2010-12-02 23:17:00

阅读数 1357

评论数 0

N个数计算24点

<br />N个数计算24点<br />问题:<br />    N个1到13之间的自然数,找出所有能通过加减乘除计算(每个数有且只能用一次)得到24的组合?<br /> <br />计算24点常用的算法有:① 任取两个数,计算后,将结果...

2010-09-21 00:08:00

阅读数 2165

评论数 0

编程之美读书笔记_1.3 一摞烙饼的排序 (补充)

<br /> 几个月前写了 编程之美读书笔记_1.3 一摞烙饼的排序 , 对书上的例子{3,2,1,6,5,4,9,8,7,0},将搜索次数由原来的172126次降到29次,本以为要进一步降低搜索次数,要强化剪枝条件,要添加大量的代码,而实际上只要改动一处,就能将搜索次数降到11次。遍...

2010-08-21 23:45:00

阅读数 1536

评论数 1

编程之美读书笔记22 1.16 24点游戏

<br />编程之美读书笔记22    1.16  24点游戏<br /> <br />给定4个数,能否只通过加减乘除计算得到24?由于只有4个数,弄个多重循环,就可以。如果要推广到n个数,有两种思路:<br />①采用前缀/后缀表达式。相当于将n个...

2010-08-01 22:49:00

阅读数 1217

评论数 0

《编程之美》读书笔记21: 2.4 1的数目

<br />《编程之美》读书笔记21: 2.4 1的数目<br /> <br />问题:<br />    给定一个十进制正整数N,写下从1开始,到N的所有整数,<br />    然后数一下其中出现的所有“1”的个数。<br /&...

2010-08-01 22:45:00

阅读数 766

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭