- 博客(12)
- 资源 (21)
- 收藏
- 关注
原创 n 个骰子的点数
<br />2.n 个骰子的点数。<br />把n 个骰子扔在地上,所有骰子朝上一面的点数之和为S。<br />输入n,打印出S 的所有可能的值出现的概率。<br /><br />打算用动态规划来求解的,<br />C/C++ code 设T(n,m)为n个骰子和为m的概率 含有递推式如下: T(n,m)=T(n-1,m-1)*0.17+T(n-1,m-2)*0.17+T(n-1,m-3)*0.17+T(n-1,m-4)*0.17+T(n-1,m-5)*0.17+T(n-1,m-6)*0.17
2011-05-31 13:47:00 1478
原创 利用后缀数组求字符串中的最长公共字串——编程珠玑15章
<br />#include "stdafx.h" #include <iostream> #include <algorithm> using namespace std; /************************************************************************/ //函数功能:求字符串str1和str2的公共序列的长度 /*********************************************************
2011-05-31 11:47:00 1075
原创 动态规划经典问题——求矩阵相乘的最佳顺序
<br />// wy.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <algorithm> #include <cmath> using namespace std; /************************************************************************/
2011-05-28 13:32:00 3913
原创 分治法的经典问题——大整数相乘
<br />请设计一个有效的算法,可以进行两个n位大整数的乘法运算。<br /> 参考解答<br />设X和Y都是n位的二进制整数,现在要计算它们的乘积XY。我们可以用小学所学的方法来设计一个计算乘积XY的算法,但是这样做计算步骤太多,显得效率较低。如果将每2个1位数的乘法或加法看作一步运算,那么这种方法要作O(n2)步运算才能求出乘积XY。下面我们用分治法来设计一个更有效的大整数乘积算法。<br /> <br /><br />图6-3 大整数X和Y的分段 <br />我们将n位的二进制整数X和Y各分为2段
2011-05-26 12:32:00 48936 12
原创 求平面上N个点间最短距离(分治法的经典问题)
<br />#include <iostream> #include <ctime> #include <iterator> #include <functional> #include <algorithm> #include <cmath> #include <vector> using namespace std; struct Point { int x; int y; Point(){} Point(int m_x, int m_y) :x(m_x), y(
2011-05-21 13:23:00 26561 1
原创 最长公共子序列(经典的动态规划)
<br />该问题的详细分析:http://www.7747.net/kf/201104/87379.html<br />#include <iostream> #include <cassert> using namespace std; //最长公共子序列问题的一个一般的算法、时间复杂度为O(mn)。 // directions of LCS generation enum DIRECTION {LEFT = 1, UP, LEFTUP}; void Print_LCS(int **lsc_
2011-05-21 13:19:00 1062
原创 微软等数据结构100(第61题开始)
61.找出数组中两个只出现一次的数字题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。分析:这是一道很新颖的关于位运算的面试题。http://blog.csdn.net/terry84fun/archive/2009/11/19/4835712.aspxhttp://www.cnblogs.com/aLittleBitCool/archive/2011/04/14/2015720.html这道题主要考察“异或”运
2011-05-15 16:39:00 913
原创 二叉树删除节点
<br />#include <iostream> using namespace std; //树节点 struct Node { int element; Node *pLeft; Node *pRight; Node(int ele, Node *left = NULL, Node *right = NULL) :element(ele), pLeft(left), pRight(right){} }; //插入操作 Node *InserNode(Node *ro
2011-05-13 14:13:00 2233 1
原创 5月11日——中兴暑期实习笔试
<br />选择题都是具简单的选择题,简单的以至于不会做。<br /> <br />int a[2][2] = {0};是正确的,没个元素都为0.<br /> <br />int a[2][2] = {{0}, {2, 3}};也是正确的,元素分别为0,0,2,3.<br /> <br />软件模块间的接口有哪几种?每种接口的调用方式?<br /> <br /><br />软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,调用方要等待对方
2011-05-11 16:29:00 1341
原创 拓扑排序
如上图,为一有向图,想在要对其进行拓扑排序,算法可以参考:http://zh.wikipedia.org/wiki/%E6%8B%93%E6%92%B2%E6%8E%92%E5%BA%8F代码如下:#define N 7 //图的节点数 #define DELETE -1024 //获得入度为0的节点 int GetZeroIndegreeNode(int (*graph)[N]) { for (int i = 0; i
2011-05-09 21:02:00 721
原创 《编程之美》读书笔记17: 2.16 求数组中最长递增子序列
<br />http://blog.csdn.net/ztj111/archive/2008/07/31/2748152.aspx<br />#include "stdafx.h" #include <iostream> #include <algorithm> using namespace std; //复杂度为O(N2 + N) = O(N2) int MaxLength(int arr[], int length) { int *res = new int[length]; fo
2011-05-06 12:56:00 1282
原创 百度的一些算法
两个已排序的整型数组,求交集,最快算法输入:两个已排序的整型数组(int a[m], b[n])输出:两个数组的交集#include using namespace std; /* *问题描述:两个已排序的整型数组,求交集,最快算法 ×输入:两个已排序的整型数组(int a[m], b[n]) ×输出:两个数组的交集 *思想:二路归并,时间复杂度为0(min(len_A, len_B)) */ void GetIntersect(int A[], int B[], int len_A, i
2011-05-01 17:13:00 1611
信用评分模型技术与应用——陈建
2018-01-31
灰度直方图匹配算法VC++
2009-10-31
电信系统设计文档(非常详细).rar
2009-10-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人