其他
搞么子啊小子
这个作者很懒,什么都没留下…
展开
-
贪心算法
贪心算法的基本思想是找出整体当中每个小的局部的最优解,并且将所有的这些局部最优解合起来形成整体上的一个最优解。因此能够使用贪心算法的问题必须满足下面的两个性质:1.整体的最优解可以通过局部的最优解来求出;2.一个整体能够被分为多个局部,并且这些局部都能够求出最优解。使用贪心算法当中的两个典型问题是活动安排问题和背包问题。 在对问题求解时,总是作出在当转载 2014-07-17 09:00:07 · 780 阅读 · 0 评论 -
sort函数用法
头文件:#include using namespace std;1.默认的sort函数是按升序排序。 sort(a,a+n); //两个参数分别为待排序数组的首地址和尾地址2.可以自己写一个cmp函数,按特定意图进行排序。例如 :1).对数组a降序排序int cmp( const int &a, const int &b ){原创 2014-07-07 21:41:37 · 889 阅读 · 0 评论 -
最长子序列
最长子序列最常见的有两种,一种是最长公共子序列(LCS),还有一个是最长上升子序列(LIS)。一:最长公共子序列(LCS) 题目描述:给你两个数组,可以是数字的,也可以是字符串,我们假设是数字的!举个例子: X = 1, 5, 6, 4, 1, 3, 7 Y = 1, 1, 6, 8, 3, 4, 7 求一个新的数组S,该数组中的每个转载 2014-07-09 11:46:15 · 727 阅读 · 0 评论 -
归并排序
归并排序是用分治思想,分治模式在每一层递归上有三个步骤: 分解:将n个元素分成个含n/2个元素的子序列。 解决:用合并排序法对两个子序列递归的排序。 合并:合并两个已排序的子序列已得到排序结果。算法很其的关键应该在如何合并上,这一点算法导论上讲的很清楚。void Merge(int Left,int Middle,int Right){转载 2014-07-09 19:59:31 · 645 阅读 · 0 评论 -
Java在ACM中的使用
1、基本框架import java.oi.*;import java.util.* public class Main { public static void main(String args[]) { Scanner cin = new Scanner(System.in));} } 2、Java的输入原创 2014-07-05 18:39:21 · 674 阅读 · 0 评论 -
并查集
并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图、求最小生成树的 Kruskal 算法和求最近公共祖先(Least Common Ancestors, LCA)等。使用并查集时,首先会存在一组不相交的动态集合 S={S1,S2,⋯,Sk},一般都会使用一个整数表示集合中的一个元素。每个集合可能转载 2014-07-14 10:46:44 · 579 阅读 · 0 评论 -
Hash表
Hash表 算法的详细解析什么是Hash Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息转载 2014-07-15 17:32:39 · 809 阅读 · 0 评论 -
函数参数传递方式
一、三道考题考题一,程序代码如下:void Exchg1(int x, int y){ int tmp; tmp = x; x = y; y = tmp; printf("x = %d, y = %d\n", x, y);}main(){ int a = 4,b = 6; Exchg1(a, b); pri转载 2014-09-01 21:35:27 · 578 阅读 · 0 评论 -
表达式树
在表达式树中,叶子通常是常数值或者变量名,统称为操作数(operands)。而其他非叶子结点则包含各种操作符(operators)。转载 2014-07-21 09:06:09 · 662 阅读 · 0 评论 -
查找
查找#include#include#includeusing namespace std;typedef int KeyType; typedef struct { KeyType key; }ElemType; typedef struct{ ElemType *elem; int length;}Stable;void Create(原创 2014-12-11 09:38:23 · 488 阅读 · 0 评论 -
位操作基础篇之位操作全面总结
原文地址:http://blog.csdn.net/morewindows/article/details/7354571在计算机中所有数据都是以二进制的形式储存的。位运算其实就是直接对在内存中的二进制数据进行操作,因此处理数据的速度非常快。在实际编程中,如果能巧妙运用位操作,完全可以达到四两拨千斤的效果,正因为位操作的这些优点,所以位操作在各大IT公司的笔试面试中一直是个热点问题。因此本...转载 2018-08-22 21:04:02 · 567 阅读 · 0 评论 -
快速幂取模
快速幂取模算法在网站上一直没有找到有关于快速幂算法的一个详细的描述和解释,这里,我给出快速幂算法的完整解释,用的是C语言,不同语言的读者只好换个位啦,毕竟读C的人较多~所谓的快速幂,实际上是快速幂取模的缩写,简单的说,就是快速的求一个幂式的模(余)。在程序设计过程中,经常要去求一些大数对于某个数的余数,为了得到更快、计算范围更大的算法,产生了快速幂取模算法。[有读者反映在讲转载 2014-08-01 20:25:51 · 578 阅读 · 0 评论 -
搜索题集
poj1010——邮票问题 DFSpoj1011——Sticks dfs + 剪枝poj1020——拼蛋糕poj1054——The Troublesome Frogpoj1062——昂贵的聘礼poj1077——Eightpoj1084——Square Destroyerpoj1085——Triangle War(博弈,極大極小搜索+alpha_beta剪枝)po原创 2014-07-07 21:48:49 · 751 阅读 · 0 评论 -
HDU题目分类
分类二:基础题:1000、1001、1004、1005、1008、1012、1013、1014、1017、1019、1021、1028、1029、1032、1037、1040、1048、1056、1058、1061、1070、1076、1089、1090、1091、1092、1093、1094、1095、1096、1097、1098、1106、1108、1157、1163、1164、1170、转载 2014-07-17 20:44:57 · 654 阅读 · 0 评论 -
hdu DP题集
Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955 背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱 最脑残的是把总的概率以为是抢N家银行的概率之和… 把状态转移方程写成了f[j]=max{f[j],f[j-q[i].v]+q[i].money}(f[j]表示在概率j之下能抢原创 2014-05-25 19:14:28 · 814 阅读 · 0 评论 -
邻接表
邻接表#include #include #define CLR(arr,val) memset(arr,val,sizeof(arr)) #define Max_n 100005 #define Max_e 10005 struct Vertex { int head; //head记录某点的的信息,即从E中的哪个下标开始原创 2014-07-24 09:05:16 · 610 阅读 · 0 评论 -
最短路径
2.1 Dijkstra算法 Dijkstra算法是典型最短路算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。Dijkstra算法是很有代表性的最短路算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。 2.2转载 2014-07-22 10:04:13 · 1057 阅读 · 0 评论 -
最大流
最大流总体上来说,最大流算法分为两大类:增广路 (Augmenting Path) 和预流推进重标号 (Push Relabel) 。也有算法同时借鉴了两者的长处,如 Improved SAP 。本篇主要介绍增广路类算法,思想、复杂度及实际运行效率比较,并试图从中选择一种兼顾代码复杂度和运行效率的较好方案。以下我们将会看到,有时理论分析的时间复杂度并不能很好的反映一种算法的实际效率。1转载 2014-07-24 14:46:34 · 574 阅读 · 0 评论 -
网络流
网络最大流 两大类算法 1.增广路算法 Ford-Fulkerson算法: 残留网络中寻找增加路径 STEP0:置初始可行流。 STEP1:构造原网络的残量网络,在残量网络中找s-t有向路。如果没有,算法得到最大流结束。否则继续下一步。 STEP2:依据残量网络中的s-t有向路写出对应到原网络中的s-t增广路。转载 2014-07-11 11:06:32 · 717 阅读 · 0 评论 -
各大OJ题集
http://pythontip.sinaapp.com/acm/problemCategory原创 2014-07-24 21:53:17 · 822 阅读 · 0 评论 -
ACM各类题集
基础算法:枚举:POJ1573—Flip Game ACpoj2965—The Pilots Brothers' refrigerator贪心:http://blog.csdn.net/u013487051/article/details/26944649递推:http://blog.csdn.net/u013487051/arti转载 2014-07-07 21:45:15 · 733 阅读 · 0 评论 -
回溯法
回溯法在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。算法搜索至解空间树的任意一点时,先判断该结点是否包含问题的解。如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向其祖先结点回溯;否则,进入该子树,继续按深度优先策略搜索。回溯法:为了避免生成那些不可能产生最佳解的问题状态,要不断地利用限界函数(bounding function)来处死那些实际上不可能产生所需解的活结点转载 2014-07-07 21:45:30 · 647 阅读 · 0 评论 -
jupter notebook 如何修改默认打开的文件夹路径
1、打开Anaconda Prompt2、输入命令:jupyter notebook --generate-config3、打开文件:C:/Users/你的用户名/.jupyter/jupyter_notebook_config.py4、在jupyter_notebook_config.py文件中修改 ## The directory to use for noteboo...转载 2018-11-27 19:53:07 · 3586 阅读 · 1 评论