关闭

详解Bellman-Ford

一、Bellman-Ford算法:     为了能够求解边上带有负值的单源最短路径问题,Bellman(贝尔曼)和Ford(福特)提出了从源点逐次绕过其他顶点,以缩短到达终点的最短路径长度的方法。    Bellman-ford算法是求解连通带权图中单源最短路径的一种常用算法,它允许图中存在权值为负的边。 同时它还能够判断出图中是否存在一个权值之和为负的回路。如果存在的话,图中就不存在最短路径(因...
阅读(4234) 评论(0)

短小精悍的线性筛法求素数

输入n,求n以内的所有素数算法用两个数组存储数据:一个是prime[],存储n以内所有的素数,其index为pi,初值为0一个是is_prime[i],表示自然数i(i...
阅读(3667) 评论(1)

快速幂

快速幂取模算法在网站上一直没有找到有关于快速幂算法的一个详细的描述和解释,这里,我给出快速幂算法的完整解释,用的是C语言,不同语言的读者只好换个位啦,毕竟读C的人较多~所谓的快速幂,实际上是快速幂取模的缩写,简单的说,就是快速的求一个幂式的模(余)。在程序设计过程中,经常要去求一些大数对于某个数的余数,为了得到更快、计算范围更大的算法,产生了快速幂取模算法。[有读者反映在讲快速幂部分时有点含糊,所...
阅读(3363) 评论(0)

扩展欧几里德算法求解线性同余方程

欧几里德算法  欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理:  定理:gcd(a,b) = gcd(b,a mod b)  证明:a可以表示成a = kb + r,则r = a mod b  假设d是a,b的一个公约数,则有  d|a, d|b,而r = a - kb,因此d|r  因此d是(b,a mod b)的公约数  假设d是(b,a mod ...
阅读(3260) 评论(0)

N皇后问题

#include #include #include using namespace std; int search(int); int print(); int n,sum = 0; int f[1001],b[1001] = {0},c[2002] = {0},d[2002] = {0}; int main(){ cin>>n; search(1); s...
阅读(3543) 评论(0)

noip2010普及 排队接水问题

Description 校里有一个水房,水房里一共装有 m 个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为 1。 现在有 n 名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从 1到 n 编号,i号同学的接水量为 wi。 接水开始时,1 到 m号同学各占一个水龙头,并同时打开水龙头接水。 当其中某名同学 j 完成其接水量要求 wj 后,下一名排队等候接水的同学 k...
阅读(7122) 评论(0)

2014年华为上机题目

华为2014校园招聘的机试题目和2013年的完全一样。 一、题目描述(60分): 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。 比如字符串“abacacde”过滤结果为“abcde”。 要求实现函数:void stringFilter(const char *pInputStr, long lInputL...
阅读(17799) 评论(5)

各种内部排序

#include using namespace std; void swap(int &x,int &y) { if (x != y) { int temp = x; x = y; y = temp; } } /////////////////////////////////////////////////////////////////////////InsertSor...
阅读(3793) 评论(0)

排序题目一网打尽

排序 一、选择题 1.某内排序方法的稳定性是指(    )。 A.该排序算法不允许有相同的关键字记录      B.该排序算法允许有相同的关键字记录 C.平均时间为0(n log n)的排序方法        D.以上都不对 2.下面给出的四种排序法中(    )排序法是不稳定性排序法。     A. 插入           B. 冒泡              C. 二路归并   ...
阅读(3999) 评论(1)

qq机制问题

登陆采用TCP协议和HTTP协议,你和好友之间发送消息,主要采用UDP协议,内网传文件采用了P2P技术。总来的说: 1.登陆过程,客户端client 采用TCP协议向服务器server发送信息,HTTP协议下载信息。登陆之后,会有一个TCP连接来保持在线状态。 2.和好友发消息,客户端client采用UDP协议,但是需要通过服务器转发。腾讯为了确保传输消息的可靠,采用上层协议来保证可靠传输。如...
阅读(3726) 评论(0)

华为2012上机题

输入一个int N   ,统计1-N中含有7或能被7整除的数的个数 思路: 能被7整除的数很好求       N/7 个    。 再求1-N中含有7的数字个数。最后要减去重叠部分 检测含有7的个数的代码如下:#include #include #include #include using namespace std; clock_t start,finish; int...
阅读(3598) 评论(0)

Effective C++ 读书笔记(七) 模板与泛型编程

7 模板与泛型编程 面向对象virtual         运行时多态     显示接口      重载、template和泛型   编译期多态      隐式接口 •    条款41:了解隐式接口和编译期多态                     Understand implicit interfaces and compile-time polymorphism. –...
阅读(3478) 评论(0)

Effective C++ 读书笔记(六) 继承与面向对象设计

条款32:确定你的pubilc继承塑模出is-a关系                                    Make sure public inheritance models “is-a” –  C++进行(OOP)面向对象编程,最重要的一个规则是:public inheritance (公开继承)意味“is - a”(是一种)关系。 –  如果你令class D(“de...
阅读(3363) 评论(0)

编程之美3.6——编程判断两个链表是否相交

问题: 给出两个单向链表的头指针,而两个链表都可能带环,判断这两个链表是否相交,并且给出他们相交的第一个节点。 解法:参考http://blog.csdn.net/ldong2007/article/details/4544203 (1)判断链表是否存在环 设置两个链表指针(fast, slow),初始值都指向链表头结点,然后连个指针都往前走,不同的是slow每...
阅读(3375) 评论(0)

数组分割

问题: 1. 有一个无序、元素个数为2n的正整数数组,要求:如何能把这个数组分割为两个子数组,子数组的元素个数不限,并使两个子数组之和最接近。 1. 解法1: 由于对两个子数组和最接近的判断不太直观,我们需要对题目进行适当转化。我们知道当一个子数组之和最接近原数组之和sum的一半时,两个子数组之和是最接近的。所以转化后的题目是:从2n个数中选出任意个数,其和尽...
阅读(4388) 评论(0)
130条 共9页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:333978次
    • 积分:4197
    • 等级:
    • 排名:第7595名
    • 原创:81篇
    • 转载:46篇
    • 译文:3篇
    • 评论:83条
    博客专栏
    最新评论