自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ó

滚去学习!

  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 51Nod-1099 任务执行顺序

有N个任务需要执行,第i个任务计算时占R[i]个空间,而后会释放一部分,最后储存计算结果需要占据O[i]个空间(O[i] < R[i])。例如:执行需要5个空间,最后储存需要2个空间。给出N个任务执行和存储所需的空间,问执行所有任务最少需要多少空间。Input第1行:1个数N,表示任务的数量。(2 <= N <= 100000)第2 - N + 1行:每行2个数R[i]和O[i...

2018-02-26 15:39:04 224 1

原创 51Nod-1432 独木舟

n个人,已知每个人体重。独木舟承重固定,每只独木舟最多坐两个人,可以坐一个人或者两个人。显然要求总重量不超过独木舟承重,假设每个人体重也不超过独木舟承重,问最少需要几只独木舟?Input第一行包含两个正整数n (0<n<=10000)和m (0<m<=2000000000),表示人数和独木舟的承重。接下来n行,每行一个正整数,表示每个人的体重。体重不超过100000000...

2018-02-25 23:30:02 120

原创 51Nod-1428 活动安排问题

有若干个活动,第i个开始时间和结束时间是[Si,fi),同一个教室安排的活动之间不能交叠,求要安排所有活动,最少需要几个教室? Input第一行一个正整数n (n <= 10000)代表活动的个数。第二行到第(n + 1)行包含n个开始时间和结束时间。开始时间严格小于结束时间,并且时间都是非负整数,小于1000000000Output一行包含一个整数表示最少教室的个数。Input示例3...

2018-02-24 21:56:22 328

转载 二分图匹配之匈牙利算法

【书本上的算法往往讲得非常复杂,我和我的朋友计划用一些简单通俗的例子来描述算法的流程】匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法。-------等等,看得头大?那么请看下面的版本:通过数代人的努力,你终于赶上了剩男剩女的大潮,假设...

2018-02-21 12:28:45 174

原创 HDU-3572 Task Schedule

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3572题意:有N个任务,有M个机器。每个任务必须在Si天或者以后开始做,在Ei 天或者之前完成,完成任务必须处理Pi 天。其中,每个任务可以在任意(空闲)机器上做,每个机器同一时刻只能做一个任务,每个任务同一时刻只能被一个机器做,而且任务做到一半可以打断,拿去其他机器做。问:能否在规定时间内把任务做完。...

2018-02-20 22:54:28 166

原创 STL Stack/Queue/Set常用函数

1.Stack栈             ---后进先出的值的排列    栈(stack)是限定仅在表尾进行插入或删除操作的线性表。栈是一种数据结构,它按照先进后出(FILO,First In Last Out)的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据。栈也称为后进先出表。    默认基于deque容器实现。栈stack的头文件为: #inclu...

2018-02-15 17:29:14 409

原创 STL Vector容器用法

Vector向量        ---连续存储元素的数组      ——以类模板形式封装的数据结构,用于储存数据。    头文件#include<vector>      vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。      vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vecto...

2018-02-15 16:53:42 233

原创 埃氏筛法、区间筛法(求素数个数)

1、埃氏筛法        给定整数n,请问n以内有多少个素数?(n≤106)思路:首先,将2到n范围内的所有整数写下来。其中最小的数字2是素数。将表中所有2的倍数都划去。表中剩余最小的数字是3,它不能被更小的素数整除,所以是素数。再将表中3的倍数都划去。以此类推,如果表中最小的数字是m时, m 就是素数。像这样反复操作,就能以此枚举n以内的素数。int pri[Max_n]; //第i个素数b...

2018-02-15 12:05:52 1783 2

原创 证明拓展欧几里德算法

拓展欧几里德定律:   对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b 的最大公约数,必然   存在整数对 x,y ,使得 gcd(a,b)=ax+by。证明:设 a>b。1,显然当 b=0,gcd(a,b)=a。此时 x=1,y=0;2,a>b>0 时设 ax1+ by1= gcd(a,b);    bx2+ (a mod b)y2= gcd(b,a mod...

2018-02-10 14:29:23 234

原创 51Nod-1091 线段的重叠

X轴上有N条线段,每条线段包括1个起点和终点。线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 20]。给出N条线段的起点和终点,从中选出2条线段,这两条线段的重叠部分是最长的。输出这个最长的距离。如果没有重叠,输出0。Input第1行:线段的数量N(2 <= N <= 50000)。第2 - N + 1行:每行2个数,线段的起点和终点。(0 <= s ...

2018-02-08 00:15:57 170

原创 证明欧几里德(辗转相除法)算法

             ---《百科》证明的很好,直接Copy过来了、

2018-02-07 09:55:57 408

转载 证明增广路算法的正确性

一直对增广路这种贪心思想表示怀疑,今天看到一个很好的证明~首先介绍割的概念,所谓图的割,指的是某个顶点集合S属于V,从S出发的所有边的集合成为割(S,V\S),这些边的容量和被称为割的容量,如果有源点s属于S,汇点t属于V\S,则称之为s-t割,如果将s-t割的所有边都在原图中去掉,则不再有s->t的路径。容易得到,对于任意一个s-t割,总有f的流量<=割的容量,根据平衡条件,当且仅当...

2018-02-06 01:22:32 779

原创 最大流之Dinic算法模板

Ford_Fulkerson算法是通过深度优先搜索寻找增广路,并沿着它增广。与之相对,Dinic算法总是寻找最短的增广路,并沿着它增广。因为最短增广路的长度在增广过程中始终不会变短,所以无需每次都通过宽度预先搜索来寻找最短增广路。我们可以先进行一次宽度优先搜索,然后考虑有近距离指向远距离顶点的边所组成的分成图,在上面进行深度优先搜素寻找最短增广路。如果在分层图上找不到新的增广路了,则说明最短增广路...

2018-02-06 01:09:00 221

C/C++常用库函数【肝就完了】

一篇我写了很久的C/C++常用库函数,还请大佬们不断完善~~

2018-01-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除