- 博客(11)
- 资源 (21)
- 收藏
- 关注
原创 紫书第八章-----高效算法设计(贪心法)
下面是刘汝佳《算法竞赛入门经典》(第2版)书上原始内容,讲解非常清晰, 直接放在这里: 下面这个算法也是贪心策略,具体证明紫书讲解比较清楚,不必赘述,具体实现如下: Huffman编码Wine trading in Gergovia UVA - 11054【分析】 此题思路非常好,一定要让相邻的两个村庄做交易,这就是贪心策略,从最左边或者最右边的村庄考虑都可以,这里从...
2018-02-10 17:15:36 479
原创 紫书第八章-----高效算法设计(二分查找、尺取法/滑动窗口法、三分查找)
二分查找本文参考刘汝佳《算法竞赛入门经典》(第2版)#include<iostream>#include<cstdio>using namespace std;//二分查找(左闭右开区间)int bin_search(int a[],int l,int r,int v){ int mid; while(l<r){ ...
2018-02-10 00:23:44 427
原创 紫书第八章-----高效算法设计(快速排序水题格式要求严)
sort HDU - 1425用流输入输出这道题过不了。加速也过不了。另外注意输出格式哦,多余空格需要注意哦 【代码一(原始快排)】#include<iostream>#include<cstdio>using namespace std;const int maxn=1000000+5;int a[maxn];void quick_sort(in...
2018-02-09 01:52:47 143
原创 紫书第八章-----高效算法设计(归并排序求逆序对数)
Brainman POJ - 1804【代码一(暴力)】#include<iostream>using namespace std;const int maxn=1000+5;int a[maxn],t[maxn];long long cnt;int T,N,kase=0;void solve(){ cnt=0; for(int i=0;i...
2018-02-09 00:54:54 605
原创 紫书第八章-----高效算法设计(算法分析初步)
/* 本程序参考刘汝佳《算法竞赛入门经典》(第2版) 下面的题目,不断优化,程序时间复杂度逐渐变小。 【题目叙述】 给出一个长度为N的序列:a1,a2,……,an,求最大连续和。 找到1=<I<=J<=N,使得ai+a(i+1)+……+aj尽量大。*/#includeusing namespace std;//数组下标从1开始//思
2018-02-05 18:08:02 381
原创 紫书第十一章-----图论模型与算法(最短路径Dijkstra算法Bellman-Ford算法Floyd算法)
最短路径算法一之Dijkstra算法算法描述:在无向图 G=(V,E) 中,假设每条边 E[i] 的长度为 w[i],找到由顶点 V0 到其余各点的最短路径。 使用条件:单源最短路径,适用于边权非负的情况Dijkstra算法求最短路径具体过程图解 结合上图具体搜索过程,我绘出下表,方便理解该过程!下表是按照上图的搜索过程来绘制的,当然,存储图的时候,节点存储顺序的不同也会导致搜索的
2018-02-05 14:53:04 409
原创 紫书第十一章-----图论模型与算法(最小生成树prim算法和kruskal算法)
最小生成树最小生成树定义引用来源 所谓最小生成树,就是在一个具有N个顶点的带权连通图G中,如果存在某个子图G’,其包含了图G中的所有顶点和一部分边,且不形成回路,并且子图G’的各边权值之和最小,则称G’为图G的最小生成树。 由定义我们可得知最小生成树的三个性质: •最小生成树不能有回路。 •最小生成树可
2018-02-05 14:50:55 503 1
原创 紫书第七章-----暴力求解法(迭代加深搜索Egyptian Fractions (HARD version) UVA - 12558)
本文参考刘汝佳《算法竞赛入门经典》(第2版) 【理解迭代加深搜】 迭代加深搜,本身是dfs算法,不过使得dfs不再是盲目地一搜到底,使得dfs在一定的搜索深度内结束掉,核心思想就是枚举搜索的深度(如果能枚举到的话,否则不能迭代深搜),而不是枚举整个解答树空间。针对Egyptian Fractions (HARD version) UVA - 12558这个题目,整个解答树似乎是无穷大的,用
2018-02-05 13:42:33 288
原创 紫书第七章-----暴力求解法(路径寻找问题之八数码问题---bfs+哈希判重)
本文参考刘汝佳《算法竞赛入门经典》(第2版)第199页八数码问题!思路是bfs,这里判重的问题,我采用紫书上的哈希方法,具体代码如下:#include#include#include#includeusing namespace std;const int maxn=1000000;//状态最大不超过9!,这里设置大一点int dx[]={-1,1,0,0};int dy
2018-02-04 16:26:26 749 1
原创 紫书第七章-----暴力求解法(回溯法---八皇后问题)
八皇后问题 OpenJ_Bailian - 2698【回溯法思想】参考《妙趣横生的算法》杨峰回溯法的基本思想是:在包含问题的所有解的解空间树中,按照深度优先搜素的策略,从根结点出发深度搜索解空间树。当搜索到某一结点时,要先判断该结点是否包含问题的解,如果包含,就从该结点出发继续搜索下去;如果该结点不包含问题的解,那就说明以该结点为根的子树一定不包含问题的最终解,因此要跳过对该结点为根的
2018-02-03 16:18:42 410
原创 紫书第七章-----暴力求解法(枚举子集)
本文参考可刘汝佳《算法竞赛入门经典》(第2版) 谨记:本篇算法都是在求0~n-1构成了n个数的子集二进制法/* 二进制法生成子集。 先看一个例子,集合{0,1,4,6,7,8,16,18}用32位的二进制数可以表示如下: (0代表所对应的数不在集合中,1代表所对应的数在集合中)0000 0000 0000 0101 0000 0001 1101 0011
2018-02-02 14:34:08 381
MySQL5.5服务端+MySQL-Front客户端+MySQL-JDBC驱动.zip
2020-01-18
spring-framework-4.3.0.RELEASE(源码已经成功编译)
2019-04-26
基于PageRank算法对不同品牌牙膏市场占有率的预测研究
2018-11-03
Java实现具有界面的人机对战五子棋(很强)
2018-10-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人