最小切割问题
首先介绍什么是切割。切割就是将一张图中的顶点分成两部分A和B。
接下来介绍一下什么是容量。容量是A区到B区所有的边权重之和。
最小切割就是求一张图中使得容量最小的切割方式。
最小切割的应用
最小切割在国家的拆分时会用到。著名的苏联解体事件就是通过计算最小切割来实现国家的拆分。在建模的时候将城市作为图...
分类:
其他好文 时间:
2014-06-27 08:10:59
阅读次数:
320
本节介绍最大流算法的基本思想。
首先将整个网络的最大容量都设为0。
然后增加第一条边的流量,达到最大流量。
增加第二条边的流量,达到最大流量。
增加第三条边的流量,达到最大流量。这里需要注意的是,图中有一条反向的边(称之为后向弧)。后向弧的作用就是说,可以将后向弧中的...
分类:
其他好文 时间:
2014-06-27 09:02:52
阅读次数:
224
本章节介绍最大流问题和最小切割问题的关系。其实这两个问题是等价的。
现在把一个网络分成A和B两个部分,我们定义A到B的净流量交叉(Net flow across)就是从A到B的最大流量减去从B到A的最大流量。
接下来介绍流量值定理(Flow-value lemma)。令f为网络中任何一个流,令(A,B)为网络的任何一种切割方法,那么(A,B)的净流量交叉就等同于...
分类:
其他好文 时间:
2014-06-27 08:17:37
阅读次数:
325
最简单的背包问题了,本题应该除了背包就一个考点了:不能开二维数组。我没开过二维,不过看数据是不可以的。太大了。
做法有两种改进省内存DP:
1 所谓的滚动数组
2 逆向填表
很久没做背包DP,突然觉得这种背包问题很简单了。
下面给出两种解法:
1 calBag()是滚动数组
2 calBag2()是逆向填表
#pragma once
#include
#inclu...
分类:
其他好文 时间:
2014-06-27 08:09:43
阅读次数:
165
在前面的文章STL之heap相关操作算法中介绍了堆的相关操作算法,由于堆的注意主要作用是用于排序,我们也知道堆排序的时间复杂度为o(nlogn),是一种不稳定的排序算法,利用堆这一数据结构,我们可以很快第获取一个大数据中最大(或最小)的k个数。同时,上篇文章中,也提出了相关heap算法的一些问题...
分类:
其他好文 时间:
2014-06-27 08:16:59
阅读次数:
171
题意:N,T,S,E:给你T条边,每条边两端都有编号和权值,问从S走到E允许走N条边,求最短路。
foyld加矩阵快速幂思想。
注意要把边离散
#include
#include
#include
#include
using namespace std;
#define M 303
#define inf 0x3fffffff
struct node
{
...
分类:
其他好文 时间:
2014-06-27 07:39:23
阅读次数:
178
获取屏幕大小(Visible)Size visibleSize = Director::getInstance()->getVisibleSize();
Vec2 origin = Director::getInstance()->getVisibleOrigin();
打印调试(CCLOG)CCLOG("Characters: %c %c", 'a', 65);
CCLOG("Decimals:...
分类:
其他好文 时间:
2014-06-27 09:36:39
阅读次数:
180
求给定起点到终点的路径中,最小边权的最大值
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define inf 0x3f3f3f3f
#define ll __int64
#define mod 1000000007
using namespace st...
分类:
其他好文 时间:
2014-06-27 08:29:49
阅读次数:
251
线性时间选择
题目:给定n个元素和一个整数k,要求用O(n)时间找出这n个元素中第k小元素。
import java.util.Scanner;
public class Main {
static int kmin;// 第k小的数
static int knum;// 第k个数
public static void main(String[] args) {
Scanne...
分类:
其他好文 时间:
2014-06-27 08:37:19
阅读次数:
182
I have created a new user named watson and granted the related priviledges as following:
SQL> create user watson identified by watson;
SQL> grant resource ,connect,create session to watson;
Ther...
分类:
其他好文 时间:
2014-06-27 09:25:34
阅读次数:
230
从起点开始,按照拓扑排序的顺序依次更新dp[i],表示到该点能获得的最大值
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define inf 0x3f3f3f3f
#define ll __int64
#define mod 1000000007
us...
分类:
其他好文 时间:
2014-06-27 08:56:59
阅读次数:
275
二分搜索算法
题目:设 a [ 0 : n - 1 ] 是一个已排好序的数组。请改写二分搜索算法,使得当搜索元素 x 不在数组中时,返回小于 x 的最大元素的位置 i 和大于 x 的最小元素位置 j 。当搜索元素在数组中时, i 和j相同,均为 x 在数组中的位置。并对自己的程序进行复杂性分析。
import java.util.Arrays;
import java.util.Scanner...
分类:
其他好文 时间:
2014-06-27 09:52:13
阅读次数:
205
金块问题
题目:老板有一袋金块(共 n 块,n 是 2 的幂( n ≥ 2 )),最优秀的雇员得到其中最重的一块,最差的雇员得到其中最轻的一块。假设有一台比较重量的仪器,希望用最少的比较次数找出最重和最轻的金块。并对自己的程序进行复杂性分析。
import java.util.Scanner;
public class Main {
private static void minmax(...
分类:
其他好文 时间:
2014-06-27 10:10:12
阅读次数:
708
elasticsearch本身的中文分词插件效果都不理想,手动添加词典可以在一定程度上进行弥补。
经过多次实验发现,mmseg的分词机制采用正向最长匹配算法,例如,针对“小时代”这个单词,其自带的词典中没有包含该词,故当用户搜索小时代时,检索不到任何结果。
在咸鱼老婆的虚心指导下,我终于找到了解决办法。
手动添加该词到mmseg的词库中,有两种方法:
1、将该词加入到自带的某个词典中(非停...
分类:
其他好文 时间:
2014-06-27 09:30:33
阅读次数:
232
设计模式之观察者模式(Observer)摘录!...
分类:
其他好文 时间:
2014-06-27 10:39:28
阅读次数:
207
会场安排问题
题目:假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。设计一个有效的贪心算法来进行安排。试编程实现对于给定的 k 个待安排活动,计算使用的最少会场。
输入数据中,第一行是 k 的值,接下来的 k 行中,每行有 2 个正整数,分别表示 k 个待安排活动的开始时间和结束时间,时间以 0 点开始的分钟计。
输出为最少的会场数。
输入数据示例
5
1 2...
分类:
其他好文 时间:
2014-06-27 07:54:48
阅读次数:
311
KM 求权值最小的完美匹配
Going Home
Time Limit: 1000MS
Memory Limit: 65536K
Total Submissions: 17309
Accepted: 8824
Description
On a grid map there are n little...
分类:
其他好文 时间:
2014-06-27 08:56:18
阅读次数:
135