自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zsyz_ZZY的博客

再颓下去,拿什么和别人比

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

原创 C++卡常

1.读入优化(*)低阶版:inline int read(){ int x=0,f=1; char ch=getchar(); for(;ch<'0'||ch>'9';ch=getchar()) if(ch=='-') f=-1; for(;ch>='0'&&ch<='9';x=(x<<3)+(x<<1)+(c...

2018-04-16 15:43:53 814

原创 GDOI集训一个月总结

背景:GDOI在我们学校举办。GDOI Day0了。HY叫我们写集训总结了,然而还是有人在机房里颓……正题:一个月的集训终于过完了,感觉自己提升还是挺大的。学习的东西:1.AC自动机(打算GDOI结束后做一些题);2.manacher(只做了两题,GDOI结束后继续刷题);3.FFT(打算在GDOI结束后做一些题,感觉只会在多项式乘法中用);4.差分约束系统(做的题不多,需要加强);5.分层图(做...

2018-04-28 10:24:31 341

原创 luogu P1653 猴子

题目传送门:https://www.luogu.org/problemnew/show/P1653题意:有n只猴子,每只猴子最多抓住两只猴子。现在有m个时刻,每个时刻有一只猴子放下手中的一只猴子,求每只猴子的掉落时刻。注意:1号猴子永远不会掉落。思路:套路题,反向并查集。每次放下猴子相当于反向重新连边,用个带权并查集维护即可。代码:#include&lt;cstdio&gt;#include&l...

2018-04-28 10:02:11 312

原创 luogu P1951 收费站_NOI导刊2009提高(2)

题目传送门:https://www.luogu.org/problemnew/show/P1951题意:有n个点,且每一个点都有一个权值,m条边,每一条边都有一个权值。现在求从st到ed做经过的路程和小于等于s并且所经过的路径中点的值最大的最小值是多少。思路:二分+spfa。二分所经过的点权值的上限,看看在这个范围内是否存在一条路径使得边权值和小于等于二分的mid,如果存在,那么这是一种可行解;否...

2018-04-27 21:15:39 311

原创 luogu P1730 最小密度路径

题目传送门:https://www.luogu.org/problemnew/show/P1730题意:有n个点,m条边的有向图。现在有q个询问,每个询问求x~y的最小密度是多少。注意:最小密度=所经过路径的点劝和/路径数。思路:类似于floyd的dp。f[i][j][l]表示从点i到j的路径经过l条路径的点权和最小的点权和。则可知用一个k来枚举i~j的中转点,则f[i][j][l]=min(f[...

2018-04-27 20:03:16 202

原创 luogu P3385 【模板】负环

题目传送门:https://www.luogu.org/problemnew/show/P3385题意:有n个点,m条边,求是否存在负环。坑处1:有负环,输出YE5(请看清楚),否则输出N0(请看清楚)。附:这是S,这是5;这是O,这是0。思路1:很明显用dfs判负环吗,这样更快。可是被卡了。代码:#include&lt;cstdio&gt;#include&lt;cstring&gt;#in...

2018-04-27 17:08:00 262

原创 luogu P1226 取余运算||快速幂

题目传送门:https://www.luogu.org/problemnew/show/P1226题意:求。思路:代码:#include&lt;cstdio&gt;#define LL long long LL x,k,p;LL dg(LL x,LL k){ if(!k) return 1%p; LL t=dg(x,k&gt;&gt;1)%p; return (k&amp;1)?x*...

2018-04-27 15:57:30 229

原创 luogu P1227 [JSOI2008]完美的对称

题目传送门:https://www.luogu.org/problemnew/show/P1227题意:有n个点,求是否存在一个点使得这n个点组成的n/2条线段相交于一点。思路:贪心的思想:排一遍序,每次取最小和最大的点看一看它们的重点是否相等,相等则为所求,否则无解(还是比较显然的)。代码:#include&lt;cstdio&gt;#include&lt;algorithm&gt;#def...

2018-04-27 14:19:53 165

原创 luogu P4054 [JSOI2009]计数问题

题目传送门:https://www.luogu.org/problemnew/show/P4054题意:有一个n*m的矩阵,矩阵中每一个各自有不同的颜色。现在有q中操作,[1]将(x,y)的颜色改为z;[2]询问(x1,y1),(x2,y2)中颜色为z的颜色的个数。思路:二维树状数组(其实是三维,但核心思想就是二维)。c[z][x][y]=1表示在(x,...

2018-04-27 14:10:17 204

转载 P3803 【模板】多项式乘法(FFT)

推荐这篇博客:http://www.cnblogs.com/zwfymqz/p/8244902.html代码(只是留个存档):#include&lt;bits/stdc++.h&gt;using namespace std;const double pai=acos(-1.0);struct comp{ double x,y; comp(double xx=0,double yy=0)...

2018-04-27 13:59:10 277

原创 luogu P1659 [国家集训队]拉拉队排练

题目传送门:https://www.luogu.org/problemnew/show/P1659题意:有一个长度为n的字符串,现在有一个k,求前k大的回文字串的长度的乘积。思路:还是比较裸的manacher。直接打个模板跑一遍,再跑一遍倒叙循环(因为求最大)+快速幂即可。代码:#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;a...

2018-04-27 13:21:13 308 2

原创 luogu P3805 【模板】manacher算法

背景:感觉GDOI会考字符串的题目。KMP、AC自动机都考过了,后缀数组不想背模板,还是搞一搞manacher吧。于是就看了一个视频。于是就搞懂了。题意:有一个字符串,求他的最长回文字串的长度。思路:manacher模板题。表示回文树不会。因为回文字串的长度有奇有偶,所以这个算法的第一个巧妙之处就是在每个字符中间加上#(或者其它无用的字符,但是为了尊重算法发明者的版权,就用#号吧)。此时,最长回文...

2018-04-27 10:50:42 326

原创 P2939 [USACO09FEB]改造路Revamping Trails

题目传送门:https://www.luogu.org/problemnew/show/P2939题意:有n个点,m条边,现在选k条边使得它们的权值变为0,求1到n的最短路。思路:分层图裸题。搞一个k层的图,每两层间相同的点所连的边的权值为0。之后就可以在这个立体的图中跑最短路。然后我们发现这样或许有些浪费空间,所以建0边的过程可以省略,然后在最短路(跑dijkstra)过程中可以让它到达下一层的...

2018-04-25 16:35:44 301

原创 luogu P1129 [ZJOI2007]矩阵游戏

题目传送门:https://www.luogu.org/problemnew/show/P1129题意:有一个n*n的01矩阵,求是否存在一种选任意两行或任意两列交换的方案使得主对角线((1,1),(2,2)(3,3)...(n,n))的值都为1。思路:又是一种新的网络流建模方法。先将构图再讲原理吧。构图:1.原点向每一行连边,流量为1;2.每一列向汇点连边,流量为1;3.对于一个值为1的点,其对...

2018-04-25 16:12:47 296

原创 luogu P1640 [SCOI2010]连续攻击游戏

题目传送门:https://www.luogu.org/problemnew/show/P1640题意:有n个武器,每一个武器都有两个属性,现在要求你可以任选某一个武器中的任意一个属性(有且只能选一个),求你最多可以选多少个属性,使它们的值是连续的。思路:二分图匹配。注意:一旦无法找到连续的匹配就break。代码:#include&lt;cstdio&gt;#include&lt;cstring...

2018-04-25 16:01:08 215

原创 luogu P3182 [HAOI2016]放棋子

题目传送门:https://www.luogu.org/problemnew/show/P3182题意:有一个n*n的矩阵,保证每一行、每一列有且仅有1个障碍。现在你要在非障碍的位置放棋子,并且你每一行每一列只能放一个棋子,求方案数。思路:初赛没有复习好,hy讲过。错排公式(百度百科)。简单来说,就是对于一个n*n的数列,有n个东西放在一些位置,求n个东西不在原位置的方案数。递推式:然后我们发现,...

2018-04-25 15:52:04 216

原创 P2319 [HNOI2006]超级英雄

题目传送门:https://www.luogu.org/problemnew/show/P2319题意:有n个锦囊妙计,m道题目,每一道题目有两个可以选择的锦囊妙计,但一个锦囊妙计只能用一次,求最多能通过多少道题,且求出方案数。思路:二分图去匹配即可。注意的是:如果已经找到一个不能匹配的就break即可。代码:#include&lt;cstdio&gt;#include&lt;cstring&g...

2018-04-25 15:37:23 177

原创 luogu P2045 方格取数加强版

题目传送门:https://www.luogu.org/problemnew/show/P2045题意:有一个n*n的矩阵,每一个点都有对应的权值,现在你可以走k次,求你能获得的最大价值。注意:每个点选完之后权值变为0。思路:最大费用最大流啊。1.因为只能选k次,所以开一个超级源点和超级汇点,分别连向(1,1)和(n,n),流量为k。2.因为每个点的权值只能选一次,所以拆点。    [1]每一个点...

2018-04-24 13:11:25 240

原创 luogu P3227 [HNOI2013]切糕

题目传送门:https://www.luogu.org/problemnew/show/P3227题意:有一个p*q*r的切糕,现在要将它切开,规定相邻纵轴的切割点的距离不能超过d。现在每个点(x,y,z)都有一个价值,现在要找到一种切切糕的方式使得价值最小。PS:切糕是一种食物。思路:师兄太强了。最小割。构图:1.源点向第一层建边,流量为无限大(表示不可以被割掉);2.第r+1层向汇点建边,流量...

2018-04-24 11:53:21 225

原创 luogu P4436 [HNOI/AHOI2018]游戏

题目传送门:https://www.luogu.org/problemnew/show/P4436题意:有n扇门,存在于两点之间;每个门都有对应的一把钥匙,放在某一个固定的点上。有q个询问,每次询问能否从x点到y点。思路:从师兄那学到了一些神奇的方法,如随机化。随机生成一个访问顺序,按照这个顺序爆搜一遍即可。基本保证每一个点被访问的次数是一个常数,所以时间复杂度为O(nk)(k为每个点被访问的次数...

2018-04-23 21:26:00 354

原创 luogu P4438 [HNOI/AHOI2018]道路

题目传送门:https://www.luogu.org/problemnew/show/P4438题意:有n-1个点为城市,n-1个点为农村,每个城市连出两种道路,一边为公路,一边为铁路。现在每一个城市所连出的其中一种路都要修改,求通过公式(i表示第i个农村,x 表示到城市1(就是根)的未被修复的公路,y 表示到城市1(就是根)的未被修复的铁路)所算出的最小值。思路:树形dp。考场竟然没有想出来,...

2018-04-23 21:13:56 4393

原创 luogu P2598 [ZJOI2009]狼和羊的故事

题目传送门:https://www.luogu.org/problemnew/show/P2598题意:有一个n*m的矩阵,0表示空地,1表示狼的领地,2表示羊的领地,求最少用多长的栅栏可以使狼和羊的领地不相连(没有公共边)。思路:最小割。1.源点向狼连一条边,流量为无限大(表示不会被割掉);2.羊向汇点连一条边,流量为无限大(表示不会被割掉);3.羊向相邻的狼连一条边,流量为1(可以被割掉);4...

2018-04-22 21:39:26 267

原创 luogu P3225 [HNOI2012]矿场搭建

题目传送门:https://www.luogu.org/problemnew/show/P3225题意:有m条边,现在在数量尽量少的点上加上安全出口,使得剩下的无论哪一个点坍塌,其它点都能到达安全(即不坍塌)的点。思路:由“使得剩下的无论哪一个点坍塌”可知是要求割点。我们跑完割点后再跑一遍dfs(在我的代码中是go),求出每一块的割点的数目以及总数,最后用组合公式搞搞就可以了。对于当前块来说:1....

2018-04-22 21:26:47 178

原创 luogu P3119 [USACO15JAN]草鉴定Grass Cownoisseur

题目传送门:https://www.luogu.org/problemnew/show/P3119题意:在一个有向图中,有n个点,m条边,可以逆行一条边,求从1走到任意点,再返回所经过的最多点的个数。思路:先缩点,再跑两边spfa。我们可以知道,缩完点后剩下的图中有三种点1.与1点直接相连;2.与1点通过反向边相连;3.与1点不相连。而因为题目说可以逆行一条边,所以3这种点是完全没有用的。而我们可...

2018-04-22 15:53:49 298

原创 luogu P1972 [SDOI2009]HH的项链

题目传送门:https://www.luogu.org/problemnew/show/P1972题意:有n个数,m个询问,每个询问有x、y,求x~y区间中不同数的个数。思路1:树状数组+离线。用last[i]表示上一个数为i个数的编号,每一次用树状数组将last这个位置的值改为0(相当于减1),然后在当前这个点的值改为1(相当于加1)。为什么呢?如上图,我们在统计区间2时,可以发现区间2与第一个...

2018-04-18 20:57:04 282

原创 luogu P4304 [TJOI2013]攻击装置

题目传送门:https://www.luogu.org/problemnew/show/P4304题意:有一个n*n的矩阵,值为0的点可以放上骑士,求最多能放多少个骑士(骑士就是象棋中的骑士)。思路:这与骑士共存问题(详见我的blog骑士共存问题)差不多(估计就是改编的)。代码:#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;q...

2018-04-17 21:18:06 184

原创 luogu P3376 【模板】网络最大流

题目传送门:https://blog.csdn.net/zsyz_zzy/article/category/7479944题意:有n个点,m条边,求从st到ed的最大流。思路:模板题,不讲(只是留个存档)。代码:#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;queue&gt;#include&lt;algorithm&gt;...

2018-04-17 14:23:27 266

原创 luogu P3381 【模板】最小费用最大流

题目传送门:https://www.luogu.org/problemnew/show/P3381题意:有n个点,m条边,求从st到ed的最大流和流过去的最小费用。思路:模板题,不讲(只是留个存档)。PS:如果求最大费用最大流就将费用取反(正变负,负变正),最后再结果取反(正变负,负变正)。代码:#include&lt;cstdio&gt;#include&lt;queue&gt;#inclu...

2018-04-17 14:16:27 180

原创 luogu P2153 [SDOI2009]晨跑

题目传送门:https://www.luogu.org/problemnew/show/P2153题意:有n个点,m条边,求在路程最短的前提下的需要的最多天数(每走一条边,需要一天)。思路:一看数据,一看最短和最多,就知道是最小费用最大流。一拆点,再一建边,最后跑最小费用最大流的模板就可以了。代码:#include&lt;cstdio&gt;#include&lt;queue&gt;#incl...

2018-04-17 14:01:02 230

原创 luogu P2161 [SHOI2009]会场预约

题目传送门:https://www.luogu.org/problemnew/show/P2161题意:有n个操作。A操作有两个数x、y,询问x~y时间中与先前预约冲突的预约的个数,并拒绝这些预约;B操作询问当前有效的预约个数。思路:然而不会(太弱~~~)。怒翻题解:二分+set。对于A操作:我们从0时间~x时间去二分寻找与当前预约冲突的预约,将其删除,记录一下即可。对于B操作:直接输出当前set...

2018-04-17 11:35:44 246

原创 luogu P3371 【模板】单源最短路径

题目传送门:https://www.luogu.org/problemnew/show/P3371题意:有n个点,m条边,一个起点st,求st到每个点的最短路径的长度。思路1:spfa。代码:#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;queue&gt;using namespace std;queue&lt;int&g...

2018-04-16 20:15:55 292

原创 luogu P2085 最小函数值

题目传送门:https://www.luogu.org/problemnew/show/P2085题意:有n个函数F1,F2,F3,……,Fn(Fi(x)=Ai*x^2+Bi*x+Ci (x∈n)),求其中最小的m个。思路:开一个小根堆,因为这个x是我们自己枚举的,所以开一个f[i]表示对于第i个函数,我们的x取到了多少。然后我们可以将x=1的所有情况推进堆中,每次取出堆顶,因为堆顶有且仅属于一个...

2018-04-16 15:56:44 226

原创 luogu P1801 黑匣子_NOI导刊2010提高(06)

题目传送门:https://www.luogu.org/problemnew/show/P1801#sub题意:有n个数依次读入,在第x个数被读入后会有一个输出操作,表示输出当前数列第i大的数,然后i++(此时的i是下一次输出操作的i)。思路:套路题,不细讲。开两个堆,大根堆维护1~i-1小的数,小根堆维护剩下个数,每一次插入到小根堆里;对于输出操作,我们只需输出小根堆的堆顶,然后,因为i++,所...

2018-04-16 08:34:21 276

原创 莫队详解

引子:终于,今天学习了莫队。这可是一种高级的暴力,区间问题神器。题目:来看一道裸题。有n个数,m个询问,每个询问有一对数x、y,求x~y中有多少个不同的数。思路1:自然而然想到暴力。时间复杂度:O(nm),令人窒息。代码就不贴了(人人都会)。思路2:线段树或树状数组搞一搞。然而这不是重点(代码复杂度相对而言较高)。...

2018-04-15 21:36:04 575

原创 luogu P1196 [NOI2002]银河英雄传说

题目传送门:https://www.luogu.org/problemnew/show/P1196题意:有n个操作。[1]M x y表示将x所在列的所有元素接在y列后;[2]C x y如果x和y不在同一列,输出-1;否则输出x~y中有多少个元素。思路:并查集。详见代码。代码:#include&lt;cstdio&gt;#include&lt;cmath&gt;#include&lt;cstdl...

2018-04-15 15:51:03 247 1

原创 luogu P1197 [JSOI2008]星球大战

题目传送门:https://www.luogu.org/problemnew/show/P1197题意:有n个点,m条边,现在有q个操作,每次都会删掉一个点,求每次删完点后还有多少个联通块。思路:反向并查集(一眼看出,这都是这种题的套路)。我们先将要删掉的点都删掉,看看有多少个联通分块剩下(设有x个),剩下的联通分块就为经过打击后的联通分块的个数。设ans[i]表示经过第i个操作后剩下的联通分块的...

2018-04-15 15:11:36 212

原创 差分数组详解

题目:来先看一道裸题,有n个数。m个操作,每一次操作,将x~y区间的所有数增加z;最后有q个询问,每一次询问求出x~y的区间和。思路:很明显,直接用前缀和无法快速满足这个操作,所以我们就用到了查分数组。设a数组表示原始的数组;设d[i]=a[i]-a[i-1](1&lt;i≤n,d[1]=a[1]);设f[i]=f[i-1]+d[i](1&lt;i≤n,f[1]=d[1]=a[1]);设sum[i...

2018-04-12 20:53:44 6134 2

原创 luogu P1462 通往奥格瑞玛的道路

题目传送门:https://www.luogu.org/problemnew/show/P1462题意:有n个点,m条边,某人的血量为k,每一个点会收取对应的价值,而这个人走每一条边也会扣除血,求他能安全走到终点所经过城市中被收取费用最多的城市所收取的费用为多少。思路:二分价值x,每一次将得到的价值小于x的去类似于建边(标记一下是否可以选这条边),再跑spfa看看血量是否满足要求即可。(比较容易,...

2018-04-12 15:56:31 304

原创 luogu P1522 牛的旅行 Cow Tours

题目传送门:https://www.luogu.org/problemnew/show/P1522题意:给出n个坐标,以及他们的连通情况,你可以再选任意两个点相连,求此时的最小的直径(图的直径:图中最远两点的距离)。思路:用floyd求出当前图的最短路情况。设p[i]表示点i连出去的最长的边,则dis[i]=max(f[i][j])(其中1≤j≤n,f[i][j]表示从点i到点j的最短路),进一步...

2018-04-12 15:42:51 238

原创 luogu P2149 [SDOI2009]Elaxia的路线

题目传送门:https://www.luogu.org/problemnew/show/P2149题意:有n个点,m条边(可能有向,可能无向,一条无向边算一条边),有起始点x1,y1;x2,y2,求从x1走到y1和x2走到y2的最短路的最长公共路径。思路:如图,设dis[x][y]表示从点x到点j的最短路。则有:dis[s][t]=dis[s][i]+dis[i][j]+dis[j][t]设点i与...

2018-04-12 15:24:23 164

空空如也

空空如也

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

TA关注的人

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