自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hackbuteer1的专栏

走别人没走过的路,让别人有路可走。

  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 汽车加油行驶问题

http://poj.org/problem?id=2431   Expedition/*n个加油站,,邮箱容量不限,,,,每个加油站可加的油量有限,,,求最少的加油次数因为邮箱容量不限,,,可以这样贪心,,,如果邮箱的油能到达下一站,,则直接到达下一站,,否则,,,从已经走过的加油站中选择油量最多的站加一次油*/#include#include#include#includ

2012-03-28 11:20:55 9255

原创 二分图的最大匹配

二分图指的是这样一种图,其所有顶点可以分成两个集合X和Y,其中X或Y中任意两个在同一集合中的点都不相连,所有的边关联在两个顶点中,恰好一个属于集合X,另一个属于集合Y。给定一个二分图G,M为G边集的一个子集,如果M满足当中的任意两条边都不依附于同一个顶点,则称M是一个匹配。图中包含边数最多的匹配称为图的最大匹配。     二分图的最大匹配有两种求法,第一种是最大流;第二种就是我现在要讲的匈牙利

2012-03-27 10:51:44 35873 8

原创 位压缩

http://ac.jobdu.com/problem.php?pid=1402 特殊的数#include#include#includeusing namespace std;#define MAX 1000001unsigned char hash[MAX/4]; //用两位来保存一个数字,所以这里是MAX/4,而不是MAX/8,如果是用一位来保存一个数字,那么数组的

2012-03-25 22:21:47 3656 3

原创 POJ1753 棋盘翻转(位压缩+广度优先搜索)

http://poj.org/problem?id=1753题目大意:有一个4*4的方格,每个方格中放一粒棋子,这个棋子一面是白色,一面是黑色。游戏规则为每次任选16颗中的一颗,把选中的这颗以及它四周的棋子一并反过来,当所有的棋子都是同一个颜色朝上时,游戏就完成了。现在给定一个初始状态,要求输出能够完成游戏所需翻转的最小次数,如果初始状态已经达到要求输出0。如果不可能完成游戏,输出Impo

2012-03-25 15:46:03 11507

原创 用位运算实现四则运算之加减乘除(用位运算求一个数的1/3)

听同学百度二面中,不准用四则运算操作符来实现四则运算。一想就想到了计算机组成原理上学过的。位运算的思想可以应用到很多地方,这里简单的总结一下用位运算来实现整数的四则运算。加法运算:int AddWithoutArithmetic(int num1,int num2){ if(num2==0) return num1;//没有进位的时候完成运算 int sum,carry; sum=

2012-03-24 14:35:17 21435 4

原创 根据树的两种遍历序列求第三种遍历序列

只知道先序序列和后序序列是无法求出唯一的树,所以不做讨论。#include#include#includeusing namespace std;struct BinaryTreeNode{ char c; BinaryTreeNode *lchild, *rchild; BinaryTreeNode() { lchild = NULL, rchild = NULL;

2012-03-24 11:37:47 4004 1

原创 最短路径Dijkstra(静态邻接表+优先队列模板)+ 记忆化搜索

这道题的解题步骤是这样的:(1)用Dijkstra求出每个点到house(也就是2号点)的最短距离,我是记录在数组dist[]中;(2)我们要求的是office(1号点)到house(或2——>1)最短路径的条数;(3)记忆化搜索部分是基于这样的事实,我们利用Dijkstra找到的从2号点到1号点的最短路径中的每个点v,dist[v]都小于dist[1]。http://acm.hd

2012-03-19 16:46:14 5752 1

原创 天平秤重问题(三进制)

[问题描述]: 有一只天平和N只砝码,如何设计这N只砝码,才能使这天平能够连续秤出的重量最大?假设砝码的最小单位为1克,秤物时物品放在天平的左边,砝码可以放在右边也可以放在左边,不管放在哪一边只要天平能够平衡就行,物品的重量应是右边砝码总重量减去左边砝码的重量。输入一个物品的重量,输出其秤重方案。 [分析与算法选择]: 这个问题是从一个经典的数学问题变化而来,这个数学问题的大意是:

2012-03-15 21:40:04 5752 1

原创 背包问题扩展

http://acmpj.zstu.edu.cn/JudgeOnline/showproblem?problem_id=2574   砝码称重Description 设有1g 2g 3g 5g 10g 20g的砝码各若干枚(其总重Input 有多个测试数据 每个测试数据一行,由6个整数组成,分别是1g 2g 3g 5g 10g 20g砝码的数量 最后一行是0 0 0 0 0

2012-03-15 16:03:50 5159 2

原创 百度最新面试题集锦

1、实现一个函数,对一个正整数n,算得到1需要的最少操作次数。操作规则为:如果n为偶数,将其除以2;如果n为奇数,可以加1或减1;一直处理下去。例子:func(7) = 4,可以证明最少需要4次运算n = 7n-1 6n/2 3n-1 2n/2 1要求:实现函数(实现尽可能高效) int func(unsign int n);n为输入,返回最小的运算次数。给出思路(

2012-03-13 15:10:40 129277 110

转载 memset()的效率以及源码分析

void *memset(void *s, int ch, size_t n);作用:将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作。不知道有没有像我一样把memset当作万能的初始化工具,例如:int arr[n];memset(arr,1,n*sizeof(int));这样得到的a

2012-03-11 23:11:07 21990 9

原创 2008--2009年北京航空航天大学计算机研究生机试真题

http://ac.jobdu.com/problem.php?pid=1165 字符串匹配#include#include#includeusing namespace std;char str[1005][500],temp[1005][500],pattern[1005];inline bool pre_match(int j,int start,int end){ i

2012-03-08 11:28:36 5002 4

原创 C++简单笔试题

(1)下列(  B   )不是计算机病毒的特性。     A)传染性          B)结构性     C)隐蔽性          D)可激发性第(2)~(4)题基于如下所示的二叉树。 (2)该二叉树对应的树林包括(    )棵树。      A)1      B)2      C)3      D)4(3)如果用liink-rlink法存储该二叉

2012-03-07 14:28:57 3125 2

原创 POJ 2083 递归画分形图

http://poj.org/problem?id=2083    Fractal方法一:/*度数为n的盒形分形,其大小是3^(n-1)*3^(n-1).可以用字符数组来存储盒形分形中各个字符,因为n<=7,而3^6=729,因此可以定义一大小为731*731的字符数组来存储度数不超过7的盒形分形.度数为n的盒形分形可以有以下递推式子表示:

2012-03-05 16:53:54 6714 1

原创 KMP算法详解及各种应用

KMP算法详解:KMP算法之所以叫做KMP算法是因为这个算法是由三个人共同提出来的,就取三个人名字的首字母作为该算法的名字。其实KMP算法与BF算法的区别就在于KMP算法巧妙的消除了指针i的回溯问题,只需确定下次匹配j的位置即可,使得问题的复杂度由O(mn)下降到O(m+n)。在KMP算法中,为了确定在匹配不成功时,下次匹配时j的位置,引入了next[]数组,next[j]的值表示P[0.

2012-03-04 22:42:57 15083 4

原创 2011年上海交通大学计算机研究生机试真题

http://ac.jobdu.com/problem.php?pid=1103 二次方程计算器#include#include#includeusing namespace std;int main(void){ int i,index,a,b,c,m,sign,ra,rb,rc; char str[200]; double rt,first,second; whil

2012-03-01 21:22:54 4360

快速筛选素数

快速筛选出10亿以内的素数和非素数

2012-04-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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