自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 [STL库]bitset

基本操作#include<bitset>const int Len=1e5+8;int tmp;bool pd;int main(){ bitset<Len> F; //初始化 bitset<Len> foo; bitset<Len> bar (0xfa2);//bitset (unsigned long val); bitset<Len> baz

2017-03-31 15:30:36 602

原创 [JZOJ5037]【NOI2017模拟3.30】轮回

题目大意给你n个点,m条边的无向图,求长度为4的环的个数,环要保证4个点都不同。 n<=50000,m<=100000分析考虑暴力做嘛。 枚举一个点,然后让他往外跑2的长度,对于走到一个相同的点x,记次数为cnt[x],答案可以加cnt[x]*(cnt[x]-1)/2。最后答案除4。 怎么暴力才能保证复杂度呢? 考虑一个套路: 有个点i,比它度数大的点最多2m−−−√\sqrt{2m}个。

2017-03-30 22:09:06 677

原创 [JZOJ5036]【NOI2017模拟3.30】原谅

题目大意给定n个平面上的点,每个点出现的概率都为p,问点最多连线数的期望值。 一个状态下的最多连线数:若出现了点p1,p2,p3…pn,可以在两个点之间连一条线段,两条线段不能在除了端点以外的地方相交,并让连的线段数尽量多。 答案对1e8+7取模。 n<=1000 40%的数据,p=1分析先考虑p=1吧。 首先我们看,若在有x个点的情况下,我们连了尽量多的线,那么可以发现全是三角形。这样我

2017-03-30 21:58:36 1053

原创 [JZOJ5029]. 【NOI2017模拟3.25】围墙

题目描述蛐蛐国准备在和它的一个邻国——蝈蝈国之间修一堵围墙。 围墙可以看成是一个长度为n的括号序列,与此同时还有一个长度为n的排列P,一个围墙被称为稳的,当且仅当: 1、这个括号序列是合法的。 2、构造一张n个点的图,当且仅当第i个位置是左括号时,点i向右Pi连边,最后形成的图必须满足每个点度数均为一。保证对于任意i有Pi 一个括号序列合法的定义如下: 1、空序列是合法的。 2、如果“

2017-03-29 22:14:27 702

原创 [JZOJ5027]【NOI2017模拟3.25】历史行程

题目大意给一个长度为n的01字符串s,还有m个询问,每个询问有两个数l,r,问s的前缀s[1..l],s[1..l+1]…s[1..r]中的任意两个前缀的最长公共后缀是多少。 n,m<=100000分析首先可以把s反过来,这样就是问后缀的lcp了,询问记得也要反过来。 考虑弄出一个sa。 对于一个询问[l,r],答案是什么呢? 就是rank[l]..rank[r]按大小排后,即l~r所有位置

2017-03-29 22:08:43 876

原创 [CF677E] Vanya and Balloons

题目大意给你一个只有0,1,2的n*n的矩阵,你现在可以选择一个叉叉或者十字,把里面的数全部取掉,贡献为取掉的数的乘积。 具体的,从某一点(i,j)出发,选择一个长度c: 你可以这样取(1为取,0为不取) 00100 00100 11111 00100 00100 或者这样取 10001 01010 00100 01010 10001 n<=1000分析很简单的思路,弄两

2017-03-17 22:16:41 1496

原创 [CF725E]Too Much Money

题目大意有个人有n个硬币,每个面值为a[i],要想凑够c面值。 他每次从剩下硬币中取出一个面值最大的,满足它的面值加上之前选的不超过c。 现在你要证明他的方法是有问题的,你在原来基础上给他任意面值(正整数)任意多个硬币,让他的方法凑不出来c。 求你给出硬币的和的最小值。数据保证解不为0。 n,c<=200,000 CF机子2秒时限分析一个性质:你只用给他一个硬币就够了。为什么呢?假如你给他

2017-03-16 16:55:09 662

原创 [jzoj4665][CF407E]k-d-sequence

题目大意给你一个长度为n的序列a[],两个参数k,d,求序列最长的一段,使得这一段所有的数升序排序后最多再加上k个任意的数,可以构成公差为d的等差数列。输出这一段的两端。 n<=2*10^5, 0<=k<=2*10^5, d,|a[i]|<=10^9分析首先有个很显然的结论嘛,答案的那一段区间所有数,两两之间的差都是d的倍数,而且互不相同。那么前者等价于相邻的差是d的倍数,于是乎我们可以把原序列

2017-03-13 21:54:32 728

原创 [JZOJ3754]【NOI2014】魔法森林

题目大意给定N个点M条边的无向图,每条边有两个权值a与b。求一条1到n的路径使得路径经过边的最大a与最大b的和最小。无法到达输出-1。 n<=50000,m<=100000。ai,bi<=50000分析看到ai这么小,我们考虑枚举ai然后算最小b。 那么从小到大枚举ai,不断加入边,边权为bi。 用LCT维护最小生成树即可。具体的,新加入一条边(x,y),若不在同一联通块就link,在同一联

2017-03-03 22:52:55 929

原创 LCT动态树学习小记

总起之前一直不怎么会LCT,然后THUWC的时候····看着知道怎么写就是不会打····所以就学一发,顺便搞了搞其他的数据结构。介绍Link-cut Tree即动态树,能够解决很多动态树问题,而且树的结构变化多端。 LCT跟树链剖分有很像的地方,它也要维护重链,也有类似的轻边。用splay,要分清splay和原图的边。 具体的,splay的关键字是点的深度,左边深度小。如何记录这条重链顶端的父亲

2017-03-03 22:45:14 971

空空如也

空空如也

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

TA关注的人

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