摘要: 分数规划问题,是指这样一类问题: 要求f(x)/g(x)的最值,其中f(x),g(x)都是线性函数,而其中被研究的最多的是01分数规划,即求这样的一个式子的极值 r=(∑(ci*xi))/(∑(di*xi)),其中xi∈{0,1} 我们可以把这个式子变换一下: 令 z=(∑(ci*xi))-r'*( 阅读全文
posted @ 2018-03-02 14:49 月亮茶 阅读(135) 评论(0) 推荐(0) 编辑
摘要: stl的全排列: 看代码。 、 unique() 去重函数:STL中unique的函数 unique的功能是去除相邻的重复元素(只保留一个), 还有一个容易忽视的特性是它并不真正把重复的元素删除。 使用时头文件要加#include<iostream>。 因为unique去除的是相邻的重复元素,所以一 阅读全文
posted @ 2018-03-02 12:03 月亮茶 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 1,lower_bound用法: a[] 中查询k的位置 找的是大于等于他的第一个数,返回值为对应下标x=lower_bound(a+1,a+n+1,k)-a; 2,upper_bound用法: a[] 中查询k的位置 找的是大于他的第一个数,返回值为对应下标x=upper_bound(a+1,a+ 阅读全文
posted @ 2018-03-02 11:54 月亮茶 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 输入输出格式 输入格式: 第一行一个正整数T表示数据组数,对于每组数据: 第一行两个正整数N M,表示图有N个顶点,M条边 接下来M行,每行三个整数a b w,表示a->b有一条权值为w的边(若w<0则为单向,否则双向) 输出格式: 共T行。对于每组数据,存在负环则输出一行"YE5"(不含引号),否 阅读全文
posted @ 2018-03-02 11:19 月亮茶 阅读(570) 评论(0) 推荐(0) 编辑
摘要: 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cmath> 5 #include<cstring> 6 #include<queue> 7 #include<map> 8 #include<strin 阅读全文
posted @ 2018-03-02 10:21 月亮茶 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 这是一门技术活,ε=(´ο`*)))唉 阅读全文
posted @ 2018-03-01 19:03 月亮茶 阅读(803) 评论(6) 推荐(0) 编辑
摘要: 任意一个环的权值,我们都可以看成两个有边相连的结点i、j的直接距离加上i、j间不包含边(边i->j)的最短路径。 求最短路径我们第一个想到的就是Dijkstra算法。 而Dijkstra所求的是一个点到所有点的最短距离。 用Dijkstra所求的i、j的最短距离一定是i、j的直接距离(如果i,j连通 阅读全文
posted @ 2018-03-01 18:53 月亮茶 阅读(955) 评论(0) 推荐(0) 编辑
摘要: 原理:不讲。 模板如下。 1 #include<cstdio> 2 #include<cstring> 3 #define find_min(a,b) a<b?a:b 4 5 const int N=109; 6 const int INF=0x7ffffff; 7 int f[N][N],dis[ 阅读全文
posted @ 2018-03-01 12:01 月亮茶 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。 希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一。 基本思想: 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序; 阅读全文
posted @ 2018-03-01 06:57 月亮茶 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 快速排序由C. A. R. Hoare在1962年提出。 它的基本思想是: 通过一趟排序将要排序的数据分割成独立的两部分, 其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 快速排序是一种交换类 阅读全文
posted @ 2018-02-28 19:24 月亮茶 阅读(454) 评论(0) 推荐(0) 编辑