- 博客(116)
- 收藏
- 关注
原创 DATE类
#include<iostream>using namespace std;int mdays[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//月份所含日期数组 class Date//日期类 { public: int year,month,day; Date(int x,int y,int z) {year=x,month=y,day=z;}//构造日期 Date() {}//构造空 ~Date(){}//释放 int .
2020-05-26 14:34:33 283 1
原创 派生类调用基类构造函数
不错的派生类调用基类构造函数#include<iostream>using namespace std;class BASE{public:/*****************found1*****************/ int i; BASE(int i){cout<<"调用基类BASE的构造函数:"<<i<<endl;} ~BASE(){cout<<"调用基类BASE的析构函数"<<endl;...
2020-05-25 22:40:41 2376
转载 NOI知识点汇总
图论网络流(dinic,SAP,ISAP选一个,费用流写EK就行。*zkw费用流),二分图点分治,边分治,*动态点分治树链剖分,动态树,树分块虚树,*prufer编码*仙人掌算法数据结构带权并查集Splay(作为平衡树和维护区间),Treap,替罪羊树线段树(权值线段树),树状数组,*线段树合并分块,块状链表,*双向链表凸包树套树主席树,可持久化trie,*其它可...
2019-08-07 00:40:04 913
转载 NOIP知识点汇总
基础算法贪心√、枚举√、分治√、二分√、倍增√、*构造√、高精√、模拟√图论图最短路(dijkstra、spfa、floyd),差分约束最小生成树(kruskal、prim)并查集(扩展域)拓扑排序二分图染色,*二分图匹配tarjan找scc、桥、割点,缩点*分数规划树树上倍增(LCA)树的直径、树的重心dfs序*树链剖分数论gcd、lcm√埃氏筛法√...
2019-08-04 23:03:28 343
原创 BZOJ3011: [Usaco2012 Dec]Running Away From the Barn 可并堆
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3011以1号点为根建树,每个点维护一个大根堆,堆里的元素的权值等于到当前点的距离,然后只要堆顶的值大于L,就弹顶。当向父亲合并的时候需要给堆里的元素整个加上一个值,于是写个推标记的pushdown就可以了#include<cmath>#include<...
2017-03-26 19:11:25 860
原创 BZOJ2229: [Zjoi2011]最小割 分治最小割
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2229至于什么是分治最小割就懒得在这里写了,网上的讲解应该很多,总之做n次最大流就可以得出n个点两两之间的最小割了,计算答案即可#include#include#include#include#include#include using namespace std;#d
2017-03-24 23:05:05 768
原创 BZOJ1212: [HNOI2004]L语言 AC自动机
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1212把给定的单词建成一个AC自动机,然后把给的文章在上面跑即可。f[i]表示能不能匹配到第i个字符,当第i个字符在AC自动机上走到了x节点,如果x是一个danger节点那么就一直跳x的fail指针,如果路径上有danger节点,f[i]|=f[i-w[x]] (其中w[x]表示:如
2017-03-24 20:24:28 844
原创 BZOJ2067: [Poi2004]SZN 树形DP
题目大意:http://www.lydsy.com/JudgeOnline/problem.php?id=2067这个题一共两问,先求第一问:也就是问这个图最少需要几笔画出来, ans1=(奇点个数+1)/2然后第二问就是一个树形DP,f[i]表示以i的子树下面最少需要补一个多长的链,如何转移f[i]呢?先二分答案,设答案为Lim把所有f[son[i]]扔到一个set里,然后在se
2017-03-22 07:47:37 855
原创 BZOJ3091: 城市旅行 LCT
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3091建议可以先做一下线段树版:2752高速公路一看有删边加边,就是LCT的题了,然后推一推数学式子。#include#include#include#include#includeusing namespace std;#define LL long longco
2017-03-15 13:50:37 861
原创 BZOJ2286: [Sdoi2011]消耗战 虚树
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2286题解:看数据范围以及结合题目要求显然可以用虚树,然后建出来虚树在上面DP就好了建虚树时以1为根,然后f[i]表示将以i为节点的子树(包括其自己)断开的费用,如果f[i]为有资源的点f[i]=min(w[1到i的路径]),如果i没有资源,就将f[i]再和sum[f[son[i]]
2017-03-14 22:38:37 703
原创 BZOJ1055: [HAOI2008]玩具取名 区间DP
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1055f[i][j][k]表示区间i,j能否合成出来字符k,其中k=1,2,3,4分别代表字母W,I,N,G,然后写一个自带64倍常数的区间DP就可以了#include#include#include#include#includeusing namespace std;co
2017-03-13 21:34:45 691
原创 BZOJ 2653: middle 主席树+二分
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2653对于每一个询问,我们可以用二分答案来判断当前值可不可行。先不考虑多组询问,可以把每一个大于等于二分值的数字设成1,小于二分值的数字设成-1,然后求出[b+1,c-1]的区间和以及[a,b]的右端最大连续和以及[c,d]的左端最大连续和,这几个操作可以用传递结构体的线段树来判定,
2017-03-10 10:31:50 865
原创 BZOJ2599: [IOI2011]Race 点分治
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2599题解:点分治的时候记录两个值,一个是距离,一个是边数,因为最小值是无法删除的,所以可以开一个数组记录每一个答案出现了多少次,最后从小到大扫数组就OK#include#include#include#include#includeusing namespace std;
2017-02-17 22:34:51 1158
原创 BZOJ3365: [Usaco2004 Feb]Distance Statistics 路程统计 点分治
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3365题解:点分治的题(对于点分治初学者,简单概括一下点分治):点分治通过递归的方式不断找到子树的重心,然后以当前的子树的重心为根,统计该子树内所有点到根(重心)的距离并存放到一个数组里,然后在距离数组里做一些事情。点分治的时间复杂度为nlogn*(对距离数组做的事情的时间复
2017-02-17 22:19:52 850
原创 BZOJ1493: [NOI2007]项链工厂 Splay
1493: [NOI2007]项链工厂Time Limit: 30 Sec Memory Limit: 64 MBSubmit: 1434 Solved: 622[Submit][Status][Discuss]题解:一个环上有各种颜色珠子,支持6种操作:1.区间平移(把原题的意思转化一下就成了区间平移)2.区间翻转3.交换两个珠子的位置4.区间染色
2017-01-24 16:02:53 632
原创 BZOJ1500: [NOI2005]维修数列 Splay
1500: [NOI2005]维修数列Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 12862 Solved: 4104[Submit][Status][Discuss]题解:Splay的巅峰之作,支持插入一堆数,删除一堆数,区间反转,区间权值覆盖,求和,求最大子序列对于插入和删除:因为内存只能开到500000,
2017-01-23 18:13:05 547
原创 BZOJ1895: Pku3580 supermemo Splay
BZOJ1895: Pku3580 supermemoTime Limit: 15 Sec Memory Limit: 64 MBSubmit: 291 Solved: 119[Submit][Status][Discuss]题解:Splay裸题关于REVOLVE操作,不难想其实是一个区间平移操作区间平移操作我是这样写的:先把T模一下区间长度,防止它转回
2017-01-22 19:37:49 733
原创 BZOJ2251: [2010Beijing Wc]外星联络 后缀数组
2251: [2010Beijing Wc]外星联络Time Limit: 30 Sec Memory Limit: 256 MBSubmit: 791 Solved: 475[Submit][Status][Discuss]题解:后缀数组的题,因为要求输出按字典序排序,而后缀数组中的height数组是满足这个条件的,我们只需要利用height数组来找出所有的LCP
2017-01-12 20:20:40 771
原创 BZOJ1717: [Usaco2006 Dec]Milk Patterns 产奶的模式 后缀数组
1717: [Usaco2006 Dec]Milk Patterns 产奶的模式Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1064 Solved: 580[Submit][Status][Discuss]题解:后缀数组求出来Height数组,然后求出相邻的K个串的LCP即可,不需要让串的长度大于K,因为等于K一定比大于
2017-01-12 17:05:21 784
原创 BZOJ1299: [LLH邀请赛]巧克力棒 SG函数 博弈论
1299: [LLH邀请赛]巧克力棒Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 454 Solved: 258[Submit][Status][Discuss]题解:这个题可以转化成nim游戏,首先我们考虑可不可以从巧克力棒中选出最大的一个异或和为0的集合,如果能,那么剩下的所有巧克力棒一定不会出现异或和为0的集合(
2017-01-10 11:20:13 658
原创 BZOJ1066: [SCOI2007]蜥蜴 网络流
1066: [SCOI2007]蜥蜴Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 3554 Solved: 1777[Submit][Status][Discuss]题解:想法:一道不错的网络流,我们可以把一只蜥蜴从起始位置到离开边界的一条路径想象成单位1的流量。对于一个流量,它会导致整条路径上的边的容量都-1,
2017-01-08 16:12:29 396
原创 BZOJ2879: [Noi2012]美食节
2879: [Noi2012]美食节Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1826 Solved: 966[Submit][Status][Discuss]题解:和修车基本上是一样的,但是因为边比较多,我们需要动态建边,当我们发现一个点的倒数第i到菜已经做了,那么我们再将他要做的下一道菜加上就可以#incl
2017-01-03 22:10:42 742
原创 BZOJ1070: [SCOI2007]修车
1070: [SCOI2007]修车Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 5029 Solved: 2069[Submit][Status][Discuss]题解:先将原图拆成一个二分图:左边一共n*m个点,第(i-1)*n+j个点表示第i个工人修他的倒数第j个车右边一共n个点,第i个点表示第i辆车可
2017-01-03 22:06:18 530
原创 BZOJ4552: [Tjoi2016&Heoi2016]排序 线段树
BZOJ4552: [Tjoi2016&Heoi2016]排序Time Limit: 60 Sec Memory Limit: 256 MBSubmit: 587 Solved: 327[Submit][Status][Discuss]题解:首先发现,题目是对区间进行了一系列操作,我们可以想到线段树,但是怎么来维护呢?我们首先可以二分答案,然后把原数列转
2016-12-30 20:01:44 617
原创 BZOJ4514: [Sdoi2016]数字配对
BZOJ4514: [Sdoi2016]数字配对Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1101 Solved: 419[Submit][Status][Discuss]题解:把所有的数字分解质因数,两个数字相除如果想等于一个质数,那么他们的分解质因数的个数一定只相差1,于是我们可以用数字分解成质因数个数
2016-12-28 22:47:57 513
原创 BZOJ1834: [ZJOI2010]network 网络扩容
BZOJ1834: [ZJOI2010]network 网络扩容Time Limit: 3 Sec Memory Limit: 64 MBSubmit: 2824 Solved: 1428[Submit][Status][Discuss]题解:第一问直接用最大流求解就可以了。在求完第一问之后不用重新构图,直接用第一问的残余网络(也就是有一些边在跑完最大流之后还会
2016-12-23 07:59:32 911 1
原创 BZOJ2733: [HNOI2012]永无乡 Splay启发式合并
2733: [HNOI2012]永无乡Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2765 Solved: 1466[Submit][Status][Discuss]题解:做法应该很容易想到,就是启发式合并SplayDescription永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无
2016-12-19 18:19:59 591
原创 BZOJ1861: [Zjoi2006]Book 书架 Splay
BZOJ1861: [Zjoi2006]Book 书架Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 1302 Solved: 747[Submit][Status][Discuss]题解:Splay对于两种询问操作不多说。对于剩下的几种修改,本质上是一模一样的,首先要判断如果是Insert而且T==0那么就cont
2016-12-19 09:20:26 517
原创 BZOJ2631: tree Link-cut-tree
BZOJ2631: treeTime Limit: 30 Sec Memory Limit: 128 MBSubmit: 3717 Solved: 1238[Submit][Status][Discuss]题解:LCT,同时维护乘法和加法,在推乘法标记的时候注意先要更新加法标记同时维护子树的和要注意必须时时更新不能等着Pushup回来#include#
2016-12-09 15:43:17 430
原创 BZOJ2049: [Sdoi2008]Cave 洞穴勘测 Link-cut-tree
2049: [Sdoi2008]Cave 洞穴勘测Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 7159 Solved: 3346[Submit][Status][Discuss]题解:LCT裸题,模板#include#include#include#include#includeusing namesp
2016-12-09 09:49:50 415
原创 BZOJ1056: [HAOI2008]排名系统 Treap
1056: [HAOI2008]排名系统Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2291 Solved: 658[Submit][Status][Discuss]题解:Treap按照双关键字排序,第一关键字是权值,第二关键字是时间(也就是第几个被加入的人),这样保证了没有重复的节点(因为第二关键字一定不相同),剩
2016-12-08 22:47:50 523
原创 BZOJ1176: [Balkan2007]Mokia CDQ分治
1176: [Balkan2007]MokiaTime Limit: 30 Sec Memory Limit: 162 MBSubmit: 1922 Solved: 846[Submit][Status][Discuss]Description维护一个W*W的矩阵,初始值均为S.每次操作可以增加某格子的权值,或询问某子矩阵的总权值.修改操作数MInp
2016-12-05 08:47:34 389
原创 BZOJ1391: [Ceoi2008]order 最大权闭合子图
1391: [Ceoi2008]orderTime Limit: 10 Sec Memory Limit: 64 MBSubmit: 1441 Solved: 439[Submit][Status][Discuss]Description有N个工作,M种机器,每种机器你可以租或者买过来. 每个工作包括若干道工序,每道工序需要某种机器来完成,你可以通过购买或租
2016-12-04 16:00:16 371
原创 BZOJ1633: [Usaco2007 Feb]The Cow Lexicon 牛的词典 DP
1633: [Usaco2007 Feb]The Cow Lexicon 牛的词典Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 582 Solved: 321[Submit][Status][Discuss]Description没有几个人知道,奶牛有她们自己的字典,里面的有W (1 ≤ W ≤ 600)个词,每个
2016-11-25 07:40:20 663
原创 BZOJ1112: [POI2008]砖块Klo Treap
BZOJ 1112: [POI2008]砖块KloTime Limit: 10 Sec Memory Limit: 162 MBSubmit: 1701 Solved: 597[Submit][Status][Discuss]题解:对于一个长度为K的区间,把这个区间内的砖块的高度都变成中位数是最优的。维护一个平衡树:保持只有K个节点,支持插入删除元素,同
2016-10-21 11:26:56 506
原创 BZOJ1691: [Usaco2007 Dec]挑剔的美食家 Treap
1691: [Usaco2007 Dec]挑剔的美食家Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 752 Solved: 370[Submit][Status][Discuss]Description与很多奶牛一样,Farmer John那群养尊处优的奶牛们对食物越来越挑剔,随便拿堆草就能打发她们午饭的日子自然是
2016-10-17 22:57:08 422
原创 BZOJ3173: [Tjoi2013]最长上升子序列 Treap+树状数组
3173: [Tjoi2013]最长上升子序列Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1505 Solved: 784[Submit][Status][Discuss]Description给定一个序列,初始为空。现在我们将1到N的数字插入到序列中,每次将一个数字插入到一个特定的位置。每插入一个数字,我们
2016-10-17 19:52:57 609
原创 BZOJ3192: [JLOI2013]删除物品 树状数组
3192: [JLOI2013]删除物品Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 877 Solved: 511[Submit][Status][Discuss]Description 箱子再分配问题需要解决如下问题: (1)一共有N个物品,堆成M堆。 (2)所有物品都是一样的,但是它们有不同的
2016-10-15 19:50:35 625
原创 BZOJ4326: NOIP2015 运输计划 树链剖分+差分数组+二分+扫描线
4326: NOIP2015 运输计划Time Limit: 30 Sec Memory Limit: 128 MBSubmit: 772 Solved: 505[Submit][Status][Discuss]Description公元 2044 年,人类进入了宇宙纪元。L 国有 n 个星球,还有 n−1 条双向航道,每条航道建立在两个星球之间,这 n−1
2016-10-14 09:00:01 591
原创 BZOJ2951: [Poi2001]Goldmine 扫描线+线段树
2951: [Poi2001]GoldmineTime Limit: 10 Sec Memory Limit: 128 MBSubmit: 42 Solved: 31[Submit][Status][Discuss]DescriptionByteman作为Byteland的The Goldmine(某一公司厂矿)的最有功的雇员之一,即将在年末退休。为了表示对
2016-10-14 08:36:54 651
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人