自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Circle_forestrain

forsetrain

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

原创 STL之set(集合)

集合的操作如下:1.set<data_type>name;//如:set<int>name;定义一个数据类型为data_type的集合name。2.name.insert(variable);//如:a.insert(b); 将b插入集合a。3.name.erase(&variable);//如:a.erase(&b); 将b...

2019-09-26 23:32:43 199

原创 常用模板(感觉还不错)

#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<cmath>#include<queue>#include<vector>#include<climits>#include<string>#include<cstdlib>#include<set>#include<st

2016-06-13 17:25:18 444 2

原创 Treap模板(豪华版)

支持: 插入 删除 查找 子树大小记录 k大数查询 最大值 最小值 间接求前驱 间接求后驱 某数在序列中排名 (本模板是平衡树专用故不含合并分离) (支持重复元素)#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<cmath>#include<queue>#

2016-06-11 14:14:22 561 2

原创 Treap模板(中级版)

支持: 插入 删除 查找 最大值 最小值 尺寸记录 (支持重复元素)#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<cmath>#include<queue>#include<vector>#include<climits>#include<string>#i

2016-06-11 12:03:24 304

原创 Treap模板(简单版)

支持: 插入 删除 查找 最大值 最小值 (不支持重复元素) 代码:#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<cmath>#include<queue>#include<vector>#include<climits>#include<string>#i

2016-06-10 23:42:54 1004 1

原创 差分约束系统详解 BZOJ 2330 糖果

差分约束系统有一个男人他是这样说的 我们有如下几个式子: A-B<=x —-> A最多比B大x A-C<=y —-> A最多比C大y B-C<=z —-> B最多比C大z 所有的约束条件反映了一个问题: 一个数不可能过大,因为某个数可能至多比某个数大k,所以这是一类有最大值问题。 那么假如对于A-B<=x ,我们由B向A连一条大小为x的边。 对于所

2016-06-07 23:01:45 558

原创 HDU2222 AC自动机模板

#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<cmath>#include<queue>#include<vector>#include<climits>using namespace std;inline int read(){ char ls=getchar()

2016-05-18 16:51:48 260

原创 结构体写法用于set map暂时乱存一下

struct E { ll x; ll y; bool operator <(const E & r)const { return y

2016-04-22 12:09:33 415

转载 BZOJ3365路程统计

我是转别人的……实在不想写了#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#define MAX 40005#pragma comment(linker, "/STACK:1024000000,1024000000") #define rep(i,j,k) for(int i=j;i<=k;

2016-04-22 10:02:39 350

原创 BZOJ4500矩阵 差分约束判解

我们首先建图,然后对其进行SPFA差分约束判断负权回路,注意开始将点全放入队列。#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<cmath>#include<queue>#include<vector>#include<climits>#include<string>#in

2016-04-22 08:21:03 410

原创 模板:DINIC(多路增广)+当前弧优化

题目见USACO草地排水一题#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<cmath>#include<queue>#include<vector>#include<climits>#include<string>#include<cstdlib>#include<se

2016-04-22 08:06:40 894

原创 STL之deque(双向队列)

双向队列的操作如下: deque<ll>q;//定义一个双向队列q,类型为long long q.push_front(a);//将a从队首插入队列 q.push_back(a);//将a从队尾插入队列 q.pop_front();//队首弹掉一个元素 q.pop_back();//队尾弹出一个元素 a=q.front();//返回队首元素

2016-04-21 17:06:52 1799

原创 STL之queue(队列)

队列的操作如下: 1.queue<long long>q;//定义一个队列q,类型为long long 2.q.push(a);//将一个元素a从队尾插入队列q 3.queue<long long>p(q); //将队列q复制成新的队列p 4.q.pop();//从队列q的队首弹出一个元素 5.a=q.front(); //将队首的元素赋值给a,类型为long long 6.a=q.back();

2016-04-21 16:18:06 365

原创 BZOJ4518 && SDOi2016 征途

题目的意思就是给出n段路程: 如样例:1、2、5、8、6 要求分m天走完,使得走完的方差最小,并输出最小方差*m^2。 比如第一天走:1、2、5,总计8,第二天走8、6,总计14。 已知平均值为11,那么答案等于2^2*((8-11)^2+(14-11)^2)/2=36。 我们先准备出前缀和数组sum[n]。 比如对于样例: sum[1]=1 sum[2]=3 sum[3]=8

2016-04-19 22:42:39 481

原创 模板:DINIC

题目见USACO草地排水一题#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<cmath>#include<queue>#include<vector>#include<climits>#include<string>#include<cstdlib>#include<se

2016-04-12 21:38:01 287

原创 模板:Edmonds_Karp 算法

题目见USACO草地排水一题#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<cmath>#include<queue>#include<vector>#include<climits>#include<string>#include<cstdlib>#include<se

2016-04-12 21:22:01 330

原创 堆优化prim

includeincludeincludeincludeincludeincludeincludeincludeusing namespace std;define maxn 99999999struct E{ int next; int c; int zhi; }e[1005000];inline int read() { char ls=getchar()

2016-03-13 13:16:26 984

原创 堆优化Dijkstra

题目:http://acm.zjnu.edu.cn/CLanguage/showproblem?problem_id=1211#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<cmath>#include<queue>#include<vector>#include<climit

2016-03-13 12:47:57 1149

原创 堆优化SPFA

题目:http://acm.zjnu.edu.cn/CLanguage/showproblem?problem_id=1211#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<cmath>#include<queue>#include<vector>#include<climit

2016-03-13 10:48:49 2051

原创 BZOJ1051 HAOI2006受欢迎的牛

请原谅我,这题实在和bzoj1093太像 了,copy过来改一改,很多没有用,然后一起嘿嘿嘿~#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<vector>#include<algorithm>#include<stack>using namespace std;typedef l

2016-01-24 20:32:46 402

原创 BZOJ 1093 ZJOI 2007 最大半连通子图 强联通分量+拓扑图DP

今天是放假的第一天(不说什么废话了) 什么是半连通子图?就是此图中包含的所有点两两点之间至少有一条单向路径。 题目问了两个问题 1.最大半连通子图的大小 2.最大半连通子图的个数好了,这个问题看上去确实恶心,但不难发现,一个强连通子图一定是半连通的。 而且任何点和强连通子图中的任意一个点有连接,那么它就和所有强连通子图中的点有半连通关系。 那么这真是极好的,tarjan缩点,一切都ok了

2016-01-24 19:07:02 607

原创 STL之stack(栈)

栈的操作如下: 1.stack<data_type>name;//如:stack<int>z;定义一个数据类型为data_type的栈name。2.stack<data_type>name(name2);//如:stack<int>z(z2);将栈name2中的元素复制到一个新栈name中。3.name.push(variable);//如:z.push(a);将a压入栈z的顶端。4.(栈不能为空

2016-01-24 10:54:37 1257

原创 对于POJ3264的思考

(尝试一)总想写一棵简单高效的线段树嗯嗯POJ3264就是你啦~ 题目大意:给定区间多次求区间最大值最小值之差(线段树维护)。 开始写了,但愿能跑个好名次嘿嘿嘿~ 北大郭老(郭炜)的历程用堆式线段树,那好吧,那我也写堆式的正好不用指针了~ 不过他的历程足足跑了3秒我觉的不太靠谱阿你说呢~ 结果…我只比他少了200MS还是数据读入优势…#include <iostream> #includ

2016-01-20 20:59:04 259

原创 树的重心求法POJ3107

树的重心POJ3107题目的意思很明确,就是求所有树的重心(再按字典序输出)。树是很常见的数据结构,树的重心在树的分治中非常有用,所以对于大规模的树快速求出重心省节时间是一个oi选手需要考虑的问题。那么我们先介绍一下树的重心。树的重心定义为:树中的一个点,删掉该点,使剩下的树所构成的森林中最大的子树节点数最少。树的重心推论: 1.设树上的一个点S,树上其余所有点到S点的距离之和最小,那

2016-01-19 20:39:58 3007

原创 C++常见几种输出方法评测(int && long long)

一.概览说实话我就是喜欢cout,因为简单,不用记住%lld,%64d,%d,%s,%f,%lf之类的,所以从来不用printf。但是因为输入的巨大差距(见另一篇文章http://blog.csdn.net/cym19981017/article/details/49487549),所以我决定再写一篇关于输出的评测。coutcout(打消iostream的输入输出缓存)printf二.环境介绍

2015-10-29 10:41:12 1798

原创 C++常见几种输入方法评测(int && long long)

一.概览对于很多的Oier,输入的快慢直接影响到评测的结果,NOI2011道路修建一题的输入量非常的恐怖,于是找了常用的几种输入方式,做一次横向比拼。cincin(打消iostream的输入输出缓存)scanfgetchar()逐个字符读入fread将文件读入内存,再逐个字符读入cin (long long)cin(打消iostream的输入输出缓存) (long long)s

2015-10-29 10:02:03 5939 1

原创 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B forestrain插入链接 Ctrl +

2015-10-03 13:31:15 269

空空如也

空空如也

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

TA关注的人

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