自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 高斯消元模板

P2455 [SDOI2006]线性方程组#include <bits/stdc++.h>#include <ext/pb_ds/assoc_container.hpp>#define inf 0x7fffffff#define ll long long//#define int long long//#define double long double#define re int#define void inline void#define eps 1e-6//

2022-04-15 19:41:11 247

原创 P3280 [SCOI2013]摩托车交易(克鲁斯卡重构树+最小瓶颈路)

P3280 [SCOI2013]摩托车交易思路很简单,就是模拟,但是有了(克鲁斯卡重构树+最小瓶颈路)后,时间复杂度降为O(mlogm+nlogn)O(mlogm+nlogn)O(mlogm+nlogn)因为LL的问题,拍了一个晚上,我吐了。#include <bits/stdc++.h>#include <ext/pb_ds/assoc_container.hpp>#define inf 0x7fffffff#define ll long long#define in

2022-04-14 20:43:12 373

原创 可撤销并查集模板

CF891C Envy#include <bits/stdc++.h>#include <ext/pb_ds/assoc_container.hpp>#define inf 0x7fffffff#define ll long long//#define int long long//#define double long double#define re int#define void inline void#define eps 1e-5//#define mo

2022-04-13 20:45:58 245

原创 P2765 魔术球问题(网络流,隐式图构造)

P2765 魔术球问题这道题的思路实在是太罕见了,所以发一篇blog从某一新放入的球开始看起1.放入原来的柱子上2.放入新的柱子并将每个点进行拆点,然后将可以组成平方数的两个树相连,在每次跑网络流的时候记录流的流向即可,如果流量为0,则表明1行不通,只能新来第一个柱子#include <bits/stdc++.h>#include <ext/pb_ds/assoc_container.hpp>#define inf 0x7fffffff#define ll long

2022-04-03 21:55:58 272

原创 P5838 [USACO19DEC]Milk Visits G(树剖性质妙用)

P5838 [USACO19DEC]Milk Visits G看似要用LCA来写,但是并不需要考虑树剖的重要性质,重链上时间戳连续,那么就可以按照时间戳的顺序建主席树,无脑的查就行了#include <bits/stdc++.h>#include <ext/pb_ds/assoc_container.hpp>#define inf 0x7fffffff#define ll long long//#define int long long//#define double

2022-03-30 20:53:39 206

原创 平面图判定

P3209 [HNOI2010] 平面图判定考虑环的两侧,如发现在异侧则表明,边i和边j的关系是i^j=1#include <bits/stdc++.h>#define inf 0x7fffffff//#define ll long long//#define int long long//#define double long double#define re register int#define void inline void#define eps 1e-5//#de

2022-03-30 11:45:27 522

原创 P2403 [SDOI2010]所驼门王的宝藏(优化建图+Tarjan+DAG上DP+二分)

P2403 [SDOI2010]所驼门王的宝藏其实想清楚怎么建图怎么DP,怎么Tarjan就很清楚了。如果直接建图直接就存不下,那么可以按行列建图,再将每个特殊点点独立出来,怎么连,显然就是行列点连向特殊点,特殊点根据条件特殊点该怎么连怎么连。另:map不能过,要二分#include <bits/stdc++.h>#include <ext/pb_ds/assoc_container.hpp>#define inf 0x7fffffff#define ll long l

2022-03-29 23:02:51 105

原创 P2402 奶牛隐藏(二分网络流)

P2402 奶牛隐藏思路比较新颖第一眼看到这个题的时候,直接反应是拆点+费用流,直接就写,后来发现思路假了。首先为什么不是费用流,因为两个不同点的奶牛可以同时移动,这种情况下产生的费用就不是费用和而是费用max。举个例子,奶牛A 1->2 , B 2->3 这个过程是同时的,产生的费用显然不是和。正解应当是二分+最大流+floyd,通过floyd将距离作为建边的限制条件,然后跑最大流,二分check。另外比较坑的一点,就是初始化不能1e18,因为200*1e16=2e18#inc

2022-03-28 23:03:41 218

原创 CF940F Machine Learning(带修莫队模板)

CF940F Machine Learning纯模板题有几个需要注意的地方1.维度是all+1维,其中查询一维,修改一维,共二维,所以块的大小size=n2/3size=n^{2/3}size=n2/32.修改处每次修改一次(哪怕没在块内,也要swap)3.离散化4.bitset快速查询#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long//#def

2022-02-21 20:49:27 191

原创 P4320 道路相遇(圆方树)

P4320 道路相遇很简单的一道题,手玩样例后发现,答案就是圆方树上的两个点之间的圆点的数量(含自身)#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long//#define double long double#define re register int#define void inline void#define eps 1e-5//#defin

2022-02-21 14:49:09 454

原创 Yuuki and a problem (树套树)

Yuuki and a problem树状数组(线段树)套主席树,修改的部分会用到,算是积累一个带修主席树的板子#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long//#define double long double#define re register int#define void inline void#define eps 1e-5//#

2022-02-10 12:53:31 149

原创 CF487E Tourists 圆方树套路题

CF487E Tourists题目很套路,现将利用点双建成圆方树,对于每一个点双的方点用于存周边圆点的min,方点需要用multiset维护圆点儿子的值,当然也需要每个点维护自己的权值。建树完成后基本就是树剖的板子了,需要注意的是如果找到最后一点一个点事方点的话,需要将方点的父亲进行统计#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long//#define

2022-02-07 17:40:02 475

原创 CF498D Traffic Jams in the Land(有点意思的线段树)

CF498D Traffic Jams in the Land这个题实在有点意思,方法也很新颖 ,就记录下来考虑两个性质:1.lcm(2,3,4,5,6)=601.lcm(2,3,4,5,6)=601.lcm(2,3,4,5,6)=602.2.2.合并及查询的时候的时候,右边的一部分需要考虑左边一部分的贡献,即左边所消耗的时间对右边的影响另外注意一点,到达yyy后就不用再算了,即查询区间是[x,y−1][x,y-1][x,y−1]#include <bits/stdc++.h>#

2022-02-02 14:06:32 583

原创 zjy&xmd&shoes

题目描述zjyzjyzjy学长对于鞋子情有独钟,他买了很多的鞋子,所以zjyzjyzjy学长家里有很多的鞋子。由于zjyzjyzjy学长经常向别人炫耀他的那些鞋子,因此同学们都非常的嫉妒,而xmdxmdxmd就是其中之一。为了让zjyzjyzjy学长感到sadsadsad,xmdxmdxmd决定采取一些必要的行动。在一个月黑风高的夜晚,xmdxmdxmd溜进了zjyzjyzjy学长的家里,并从如山的鞋子了偷走了一只。第二天,xmdxmdxmd在学校见到了zjyzjyzjy学长,并兴高采烈的对他说:“

2021-12-12 16:36:25 433

原创 矩阵树定理

P6178 【模板】Matrix-Tree 定理模板+1#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long//#define double long double#define re register int#define void inline void#define eps 1e-18//#define mod 1e9+7//#define l

2021-11-26 21:45:57 514 1

原创 上下界费用流模板

P4553 80人环游世界朋友中学的模拟纯模板题#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long//#define double long double#define re register int#define void inline void#define eps 1e-18//#define mod 1e9+7//#define ls(p

2021-11-26 21:33:16 462

原创 有上下界的网络流(最大流)模板

P4311 士兵占领没有障碍的格子,上界为1,下界是0#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long //#define double long double#define re register int#define void inline void#define eps 1e-8//#define mod 1e9+7#define ls(p

2021-11-26 15:22:17 587

转载 Pollard-Rho模板

P4718 【模板】Pollard-Rho算法这里有两个模板第一个是我的,要开O2才能卡过去,慎用建议用第二个#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long//#define double long double#define re register int#define void inline void#define eps 1e-18//

2021-11-26 11:29:54 163

原创 网络流 网络格 日字走 奇偶建图

P4304 [TJOI2013]攻击装置P3355 骑士共存问题也是一样套路题,直接套路就行了#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long//#define double long double#define re register int#define void inline void#define eps 1e-18//#define m

2021-11-25 17:59:36 68

原创 预流推进 HLPP模板

P4722 【模板】最大流 加强版 / 预流推进网络流,最大流算法的最好标算法,时间复杂度上界一般为O(n2m)O(n^2\sqrt{m})O(n2m​)本模板除了相应的算法,还加入了上界优化,在随机数据下会更优#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long//#define double long double#define re register

2021-11-25 10:25:40 342 4

转载 dance link(DLX) 模板

P4929 【模板】舞蹈链(DLX)模板使用#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long//#define double long double#define re register int#define void inline void#define eps 1e-18//#define mod 1e9+7#define ls(p) p&l

2021-11-24 21:26:27 139

原创 树同构 树哈希

P5043 【模板】树同构([BJOI2015]树的同构)树哈希的板子,判断两个树是否有一种形态是相同的#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long//#define double long double#define re register int#define void inline void#define eps 1e-18//#defi

2021-11-20 23:22:20 229

原创 线段树分治模板

P5787 二分图 /【模板】线段树分治里面的二分图,判断可以用并查集扩展域来解决,将一个点拆成两个,如果这两个点在同一个集合就不算二分图线段树分治主要是分治时间#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long//#define double long double#define re register int#define void inline

2021-11-19 21:45:41 595

原创 回滚莫队模板

P5906 【模板】回滚莫队&不删除莫队带删的莫队#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long//#define double long double#define re register int#define void inline void#define eps 1e-18//#define mod 1e9+7#define ls

2021-11-19 19:23:48 132

原创 费用流负环处理模板

P7173 【模板】有负圈的费用流有负的费用的处理#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long//#define double long double#define re register int#define void inline void#define eps 1e-18//#define mod 1e9+7#define ls(p)

2021-11-19 11:41:50 759

转载 1e13内的素数个数 Meissel–Lehmer 算法

P7884 【模板】Meissel–Lehmer 算法时间复杂度是玄学模板准备#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long//#define double long double#define re register int#define void inline void#define eps 1e-18//#define mod 1e9+7

2021-11-19 10:40:15 365

原创 一般图最大匹配(奇环处理) 带花树算法

P6113 【模板】一般图最大匹配匈牙利算法最大的问题在于无法处理带奇环的图,如果存在奇环,那么程序会T掉带花树算法就是用于处理奇环的问题#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long//#define double long double#define re register int#define void inline void#define

2021-11-18 20:57:38 485

原创 全局最小割(Stoer-Wagner)

P5632 【模板】Stoer-Wagner算法板子收集中#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long//#define double long double#define re register int#define void inline void#define eps 1e-5//#define mod 1e9+7#define ls(

2021-11-18 20:05:22 210

原创 2020CCPC(威海) Caesar Cipher(线段树+hash)

Caesar Cipher 写这篇博客主要是为了复习一下hashhashhash,顺便准备一个线段树维护hash的板子上传的时候记得要维护每个区间的basebasebase,并维护一个maxmaxmax由于题目特殊,因此可以先修改hashhashhash值,再根据maxmaxmax完成取模操作在查询的时候记得左乘,区间差的basebasebase#pragma GCC optimize(2)#pragma GCC optimize(3,"Ofast","inline")#include &lt

2021-11-04 11:34:01 123

原创 AtCoder Beginner Contest 225 E - 7

E - 7思路:按照(xi,yi−1)(x_i,y_i-1)(xi​,yi​−1)与(0,0)(0,0)(0,0)的斜率排序,贪心的选择斜率与当前斜率更靠前的即可,去除非法的情况就是最大的。非法的情况就是,(xi,yi−1)(x_i,y_i-1)(xi​,yi​−1)在y=kxy=kxy=kx(当前选择的斜率)上方#pragma GCC optimize(2)#pragma GCC optimize(3,"Ofast","inline")#include <bits/stdc++.h>

2021-10-30 23:32:17 131

原创 圆方树模板

P4630 [APIO2018] Duathlon 铁人两项纯圆方树的模板,只要会建图,就会做在求割点(或桥)的基础上 加一个缩点的操作就行,需要注意的是,一个割点可以同时属于多个点双,所以对割点要多次连边#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long#define int long long //#define double long double#define re register int

2021-10-25 16:12:51 112

原创 F. Strange Memory (启发式合并)

F. Strange Memory与子树相关,且是不同的子树显然是启发式合并。

2021-10-19 20:32:25 162

原创 zjy&xmd&密码

zjyzjyzjy是一个热爱密码的学长,他对于密码的痴迷程度远超常人。一天,zjyzjyzjy发明了一种新的密码,他找到了xmdxmdxmd,并告诉了他密码的规则,对于一个十进制的数,将它的各位作为主码,其余的位作为下标(不含前导000),这样每一个数,都会形成一个唯一个的码,而原数则称为码的值。为了让xmdxmdxmd听懂,zjyzjyzjy还举例说明了,码的转换规则,如 :132132132的码是,码2132_{13}213​,而码2132_{13}213​的值是132132132,555的码是,码5

2021-10-12 19:52:43 1183

原创 AtCoder Beginner Contest 222 E - Red and Blue Tree(dp)

E - Red and Blue Tree题意:略(因为解释起来比较困难)思路:利用dfs记录边然后反向将边标记出来,记录每条边的出现次数,然后利用dp进行转移,由于边数之和固定,所以可以去掉一维,然后再用滚动数组优化原方程式if(f[i][j][k]!=0)if(f[i][j][k]!=0)if(f[i][j][k]!=0)f[i+1][j+val[i]][k]+=f[i][j][k]f[i+1][j+val[i]][k]+=f[i][j][k]f[i+1][j+val[i]][k]+=f[i]

2021-10-09 22:59:09 175

原创 异或最小生成树的板子

CF888G Xor-MST题目大意是:每两个点之间的边权是两个点的异或值,求最小生成树版子题,用01trie做#pragma GCC optimize(2)#pragma GCC optimize(3,"Ofast","inline")#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long//#define double long double#de

2021-10-05 23:03:04 72

原创 CF911G Mass Change Queries(线段树合并)

CF911G Mass Change Queries观察,数组的值域不是很大,只有100,因此可以根据下标动态开点,修改,就是将权值为x的子树加到权值为y的树上去,还是比较好想#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long//#define double long double#define re register int#define void i

2021-10-02 19:28:20 129

原创 P1903 [国家集训队]数颜色 / 维护队列(带修莫队)

P1903 [国家集训队]数颜色 / 维护队列板子题带修莫队的的和普通莫队的区别就在于增加了修改操作在一操作,求完之后在看修改的,把修改的部分加上去,加到该次操作之前另外这里的块大小应该设为n23n^{\frac{2}{3}}n32​才能过,一般的根号过不了#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long//#define int long long//#define double long d

2021-10-02 12:32:46 76

原创 Codeforces Round #745 (Div. 2) E Train Maintenance(分块)

Train Maintenance题意:每辆火车都有一个工作时间xix_ixi​,维修时间yiy_iyi​,每次操作代表一天,有加入火车和删除火车的操作,保证每天每种火车最多只有一量,保证数据合法,求每天的维修火车的数量。考虑分块,块大小设为sizsizsiz,(工作时间+维修时间)大于等于的块大小的直接用差分数组处理,(需要注意的是,删除的时候,不能删前面的要删大于等于(加上维修时间)该天的火车),小于该块的利用一个二维数组,分别代表模数,和取模意义下的天数#pragma GCC optimize

2021-10-01 11:36:22 155

原创 CF240F TorCoder(拆位线段树,字符版)

CF240F TorCoder很妙的一道题只考虑可以拼成回文串的情况偶数长度的回文串,其中每一个字符出现次数必是偶数奇数长度的回文串,只有一个字符出现次数是奇数(中间修改)利用线段树维护每一个字符出现的位置,按照字母序来进行回文串的排列,最后一个位置一个位置的查询就可以了#pragma GCC optimize(2)#pragma GCC optimize(3,"Ofast","inline")#include <bits/stdc++.h>#define inf 0x7fff

2021-09-29 11:48:26 123

原创 P3224 [HNOI2012]永无乡(线段树合并模板简化版)

P3224 [HNOI2012]永无乡算是线段树合并的模板题,不过好像用fhq做会更快(不管了)用一个并查集维护合并的根,注意合并的时候,并查集合并要与线段树合并方向要一致。算是很模板的一道题#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long#define int long long//#define double long double#define re register int#defin

2021-09-28 15:17:46 84

空空如也

空空如也

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

TA关注的人

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