自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Paperback_Writer的博客

没事瞎写些竞赛的东西~

  • 博客(13)
  • 收藏
  • 关注

原创 Kruscal算法的简单介绍

一.最小生成树一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。二.Kruscal算法1.kruscal算法的第一步是给所有边按照从小到大的顺序排列(用sort快速解决)然后判断每一条边(u,v)。1)如果u和v在一个连通分量里,加上(u,v)后必定形成一个环,所以不能选择;2)如果u和v在不同的连通分量里,加入

2017-10-23 18:12:22 866

原创 【裸】线段树模板

存一个很裸的模板,以后方便查找。#include#define lc (x<<1)#define rc (x<<1|1)#define mid ((l+r)>>1)using namespace std; int n,q;int a[200005],s[800005]={0},tag[800005]={0};char ss[10];void build(int x,int l,in

2017-10-16 21:29:40 237

原创 树状动规 USACO Feb 2002 Rebuilding Roads 重建道路

Description一场可怕的地震后,人们用n个牲口棚(1Input第1行:2个整数,N,P 第2...n行:每行2两个整数i和j,表示节点i是节点j的父节点 Output一行,包含一旦被破坏将分离出恰含P个节点的子树的道路的最小数目.Sample Input11 61 21 31 41 52 62 72 8

2017-10-16 19:12:43 611

原创 洛谷P2066 机器分配

总公司拥有高效设备M台,准备分给下属的N个分公司。各分公司若获得这些设备,可以为国家提供一定的盈利。问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值。其中M≤15,N≤10。分配原则:每个公司有权获得任意数目的设备,但总台数不超过设备数M。输入格式:第一行有两个数,第一个数是分公司数N,第二个数是设备台数M。接下来是一个N*M的矩阵,表明了第 I个公司分配 J

2017-10-16 16:52:02 330

原创 洛谷P3781 [TJOI2010] Middle 中位数 详细题解

查看原题请进入传送门:https://www.luogu.org/problem/show?pid=3871先说说这道题的做法:需要用两个堆来维护中位数左右的数!一个大根堆bigheap( bhp )维护中位数mid左( 比mid小 )的数,队首( bhp[0] )表示离当前mid最接近但小于mid的数。一个小根堆smallheap( shp )维护中位数mid右( 大于等于mid

2017-08-16 20:01:27 508

原创 结构体重载运算符版高精度!

神奇的高精度:支持高精度加法,大于小于比较,赋值。用了 *this#include#include#includeusing namespace std;#define maxn 30struct bigint{ int a[maxn]; bigint() { memset(a,0,sizeof(a)); } bigint& operator

2017-08-09 10:56:38 950

原创 矩阵乘法解fibonacci斐波那契数列

#include #include using namespace std;struct mat{ long long d[2][2];};mat operator *(const mat&a,const mat&b)//定义矩阵乘法{ mat ans; for(int i=0;i<=1;i++) for(int j=0;j<=1;j++)

2017-08-08 13:25:47 631

原创 堆栈的简单介绍

一.堆栈的定义 何为堆栈 堆栈(简称栈)是一种最常用和最重要的数据结构,是一种只能在一段进行插入或删除数据操作的线性表。表中允许需进行插入、删除操作的一段称为栈顶。栈顶当前位置是动态的,由一个称为栈顶指针的位置指示器表示。表的另一端成为栈底。当战中没有数据元素是,称为空栈。栈的插入操作通常称为进栈或入栈。站的删除操作通常称为退栈或出栈。 栈的主要特点是“后进先出”(FILO )(First in last out),即后入栈的元素先弹出。每次进栈的数据元素都放在当前栈顶元素之上,成为新的栈顶元素

2017-08-05 19:07:48 820

原创 LCA (最近公共祖先问题)

摘自kiana810学长的讲课内容一.概述LCA(Least Common Ancestors),即最近公共祖先,是指在有根树中,找出某两个结点u和v最近的公共祖先(另一种说法,离树根最远的公共祖先)。二.方法1.树上的路径:•众所周知,两点在树上的路径是唯一的,但是如何快速维护路径的相关信息(路径权值和、路径边权最大/最小值等)?•在解决这些问题之前,首先考虑一个问题:如

2017-08-05 11:58:41 359

原创 洛谷P1314 NOIP2011 聪明的质检员 原题+详细题解

小T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有 n 个矿石,从 1到n 逐一编号,每个矿石都有自己的重量 wi 以及价值vi 。检验矿产的流程是:1 、给定m 个区间[Li,Ri];2 、选出一个参数 W;3 、对于一个区间[Li,Ri],计算矿石在这个区间上的检验值Yi:

2017-08-03 19:18:08 1471 2

原创 BZOJ 1787 [Ahoi2008]Meet 紧急集合 题解

Description:InputOutputSample Input6 41 22 32 44 55 64 5 66 3 12 4 46 6 6Sample Output5 22 54 16 0HINT/***********

2017-08-03 16:05:22 413

原创 并查集的基本介绍

简单介绍并查集:1.并查集的定义:并查集是一种树型的数据结构,用于处理一些不相交的集合的合并及查询问题。常常在使用中以森林来表示。集就是让每个元素构成一个单元素的集合,也就是按一定顺序将属于同一组的元素所在的集合合并。简单来说:•并查集是解决动态连通性的一类树形数据结构• 重点:每个节点只有父亲指针,但压缩树的高度,以实现快速检索树根• 实现方法:路

2017-08-01 12:34:30 657

原创 队列的简单介绍

简单介绍队列的定义及各种操作:1.队列的定义: 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插

2017-07-31 22:18:09 504

空空如也

空空如也

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

TA关注的人

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