性质分析
Freopen
这个作者很懒,什么都没留下…
展开
-
LOJ #2155. 「POI2011 R1」同谋者 Conspiracy(深入性质分析)
题目性质一:两个合法方案中,在一个方案AAA是后勤组且在另一个方案BBB中不是的人最多有一个,同谋者同理。证明:反证,如果有两个,那么在AAA中同为后勤组保证他们间有边,与他们在BBB中同为同谋者矛盾。那么拿到这个性质就可以按照网上的大多数题解直接2−sat2-sat2−sat一波找出特解然后一个人一个人的尝试切换组之类的就可以了。但是我们初步算一下,这个题没给边数的范围,所以我们是可能...原创 2019-12-25 20:06:46 · 246 阅读 · 0 评论 -
LG P5655 基础数论函数练习题(GCD)
题目题解:考虑如何求nnn个数的lcmlcmlcm,可以求出前n−1n-1n−1个数的lcm=xlcm = xlcm=x,再和an=ya_n =yan=y求lcm=xygcd(x,y)lcm = \frac {xy}{gcd(x,y)}lcm=gcd(x,y)xy然后就可以python骗到50分了xygcd(x,y)=angcd(x,y)x\frac {xy}{\gcd(x,y)}...原创 2019-11-14 11:59:20 · 265 阅读 · 1 评论 -
51nod 2014 小朋友的笑话(势能分析线段树)
小O是一个很萌很萌的女孩子。有一天小O叫了很多很多萌萌哒小朋友到家里来玩。由于太无聊了,她们开始讲笑话。总共有N个小朋友排成一排,编号1~N。在某个时刻,会有编号为xi的小朋友看到了笑话li,然后她会把这个笑话讲出来,与她距离不超过ki的小朋友都会听到这个笑话。当一个小朋友听到一个笑话时,如果她是第一次听得到这个笑话,那么她会觉得这个笑话非常好笑,笑的停不下来。如果她听到之前就是在笑的她...原创 2019-03-24 19:24:16 · 617 阅读 · 0 评论 -
BZOJ 4140: 共点圆加强版(圆的反演+二进制分组+半平面交)
题目首先圆不好处理,可以用一些骚操作:反演。几何上的(圆)反演是指确定一个反演中心OOO和反演半径rrr,那么对于一条以反演中心为端点的射线上的两点P1,P2P_1,P_2P1,P2并且OP1×OP2=r2OP_1 \times OP_2 = r^2OP1×OP2=r2,P1P_1P1是P2P_2P2的反演后的点,P2P_2P2是P1P_1P1的反演后的点。那么过反演中心的圆...原创 2019-04-01 17:26:20 · 219 阅读 · 0 评论 -
序列自动机
https://blog.csdn.net/sizeof_you/article/details/83310878https://mogicianevian.github.io/2018/03/15/FJOI-2016-所有公共子序列问题(序列自动机-dp)/一个小玩意,序列上的所有子序列可以用一个DAG来表示,然后就自动机了。...原创 2019-03-28 09:53:03 · 266 阅读 · 0 评论 -
BZOJ 4231 回忆树(AC自动机+BIT+KMP)
回忆树是树。具体来说,是n个点n-1条边的无向连通图,点标号为1~n,每条边上有一个字符(出于简化目的,我们认为只有小写字母)。对一棵回忆树来说,回忆当然是少不了的。一次回忆是这样的:你想起过往,触及心底…唔,不对,我们要说题目。这题中我们认为回忆是这样的:给定2个点u,v(u可能等于v)和一个非空字符串s,问从u到v的简单路径上的所有边按照到u的距离从小到大的顺序排列后,边上的字符依次...原创 2019-04-02 14:33:57 · 397 阅读 · 0 评论 -
LG P4548 [CTSC2006]歌唱王国(概率生成函数+KMP求border)
题目设F(x)=∑i=0∞P(长度为i时结束)xiF(x)=\sum_{i=0}^{\infty} P(长度为i时结束)x^iF(x)=∑i=0∞P(长度为i时结束)xiG(x)=∑i=0∞P(长度为i时未结束)xiG(x)=\sum_{i=0}^{\infty} P(长度为i时未结束)x^iG(x)=∑i=0∞P(长度为i时未结束)xi∵P(长度为i时结束)+P(长度为i时未结束)=P...原创 2019-04-03 16:33:50 · 180 阅读 · 0 评论 -
BZOJ 4657 tower(最小割棋盘覆盖模型)
题目考场上打了一发上下界最小费用流,55pts尚可。这个题是最小割的模型。因为炮塔不能瞄准炮塔,所以两个炮塔的攻击区域只会垂直相交。将炮塔横向覆盖的格子作为X部,纵向覆盖的格子作为Y部。横向覆盖的格子,相邻之间连无穷大的边,方向指向炮塔。纵向覆盖的格子,相邻之间连无穷大的边,方向指向炮塔的反方向。源点向横向覆盖的格子连边,容量为该格子的前缀最大值与它前一个格子的前缀最大值的增量。前...原创 2019-04-20 15:53:48 · 282 阅读 · 0 评论 -
Codeforces 1152F2 Neko Rules the Catniverse (Large Version)
题目题意:在n(<=109)n(<=10^9)n(<=109)个星球中,一个人能从x号星球到y号星球当且仅当y没有被访问过并且1<=y<=x+m(m<=4)1<=y<=x+m(m<=4)1<=y<=x+m(m<=4)。求走k(<=12)k(&a...原创 2019-04-29 16:21:06 · 318 阅读 · 0 评论 -
LOJ #2461. 「2018 集训队互测 Day 1」完美的队列(分块维护单调性)
题目详见 林旭恒《完美的队列》命题报告转化为求每次区间加入后所有被加入的点被彻底弹出的最早时间。然后发现区间相同插入时间不同时有单调性。分块,把每个区间分为n\sqrt nn个大块和n\sqrt nn个单点。(一个询问变成n\sqrt nn个询问)对于每个大块和每个单点都分别用two pointers处理出每个询问的答案。然后按颜色对时间区间取并,按输入时间插入可以省掉排序,...原创 2019-05-20 21:30:03 · 407 阅读 · 0 评论 -
LOJ #2462. 「2018 集训队互测 Day 1」完美的集合(组合数取(奇怪模数的)模 + DFS序DP+容斥)
题目part1\texttt{part1}part1DP求出完美集合的价值之和,这种树上联通块的DP一般可以用DFS序DP,把DFS序拿出来从右到左,如果当前dfs序为i的点选,则可以选择dfs序为i+1的点,否则跳过整颗子树,即f[i]=max(f[i+1],f[i+siz[pos[i]]])f[i] = max(f[i+1] , f[i + siz[pos[i]]])f[i]=max(f[...原创 2019-05-20 22:19:47 · 867 阅读 · 0 评论 -
BZOJ 1137: [POI2009]Wsp 岛屿(半平面交求周长)
题目因为可以在相交线段上换乘。所以容易想到答案就是包含1-n这条边的内部不包含边的凸包的周长。发现对于每个点,只有标号最大的邻接点有用。然后半平面交即可。再也不敢用map了,10610^6106直接卡到TLE,换了vector+sort直接B站第一页AC Code:#include<bits/stdc++.h>#define maxn 100005#define eps...原创 2019-04-01 09:44:19 · 157 阅读 · 0 评论 -
LOJ #2340. 「WC2018」州区划分(FMT子集卷积)
题目设fsf_sfs为集合sss的(∑w)p∗[s合法](\sum w)^p * [s合法](∑w)p∗[s合法]那么可以得到dpS=1fS∑T⊂SdpTfS−Tdp_S = \frac 1{f_S}\sum_{T\subset S} dp_T f_{S-T}dpS=fS1∑T⊂SdpTfS−T因为子集和卷积是按照1的个数逐层转移的,所以这个转移可以和子集和卷积一起转移,使...原创 2019-04-05 21:58:40 · 221 阅读 · 0 评论 -
JZOJ 5988. 【WC2019模拟2019.1.4】珂学计树题
【问题描述】liu_runda曾经是个喜欢切数数题的OIer,往往看到数数题他就开始刚数数题.于是liu_runda出了一个数树题.听说OI圈子珂学盛行,他就在题目名字里加了珂学二字.一开始liu_runda想让选手数n个节点的不同构的二叉树的数目.但是liu_runda虽然退役已久,也知道答案就是Catalan(n),这太裸了,出出来一定会被挂起来裱.因此他把题目加强.我们从二叉树的根节点出...原创 2019-03-26 19:03:56 · 215 阅读 · 0 评论 -
BZOJ 3489: A simple rmq problem(主席树+二维线段树)
题目三维偏序。主席树套二维线段树。namespace真舒服。比KD树慢3倍。AC Code:#include<bits/stdc++.h>#define maxn 100005using namespace std;int n,m,a[maxn],pre[maxn],loc[maxn];vector<pair<int,int> >G[max...原创 2019-03-21 15:03:36 · 175 阅读 · 0 评论 -
BZOJ 3895: 取石子(记忆化搜索)
题目这个题。先用常识把大小大于1和等于1的区别对待,发现大于1的可以看作就是1堆。然后记忆化搜索。。。。。终于有一个卡数据范围的博弈了。AC Code:#include<bits/stdc++.h>using namespace std;int f[55][50005];int dfs(int c1,int sc){ if(f[c1][sc]!=-1) retu...原创 2019-03-18 12:34:55 · 185 阅读 · 0 评论 -
51nod 1989 竞赛表格(信仰题)
定义rev(i)rev(i)rev(i)为i十进制下各位翻转所得的数,例如rev(2345)=5432,rev(3210)=123rev(2345)=5432,rev(3210)=123rev(2345)=5432,rev(3210)=123。l0nl1f3比较无聊,他打算用revrevrev函数进行一个游戏。他找了一个无穷大的表格,设第i行第j列的格子上的数为f(i,j),那么f满足f(x...原创 2019-03-18 19:26:09 · 247 阅读 · 0 评论 -
BZOJ 1107: [POI2007]驾驶考试egz(树状数组LIS)
题目大佬的讲解其实就是发现能够作为起点的道路一定形成一段区间。这段区间的左端点能到达n,右端点能到达1,那么这段区间内的所有道路都能到任何一条路。那么只需要对左端点和右端点做文章即可。注意two-pointers的运用来代替二分。AC Code(BZOJ 的小常数O(nlogn)O(n\log n)O(nlogn)都要跑700ms。。。无语了):#include<bits/stdc...原创 2019-03-25 17:44:52 · 183 阅读 · 0 评论 -
珂朵莉树(ODT)(玄学)
这玩意我觉得是KDT的亲戚。但是这玩意比KDT好卡多了。主要思想就是把[1,n][1,n][1,n]的区间划分为多个[1,r1],[r1+1,r2]....[1,r_1],[r_1+1,r_2]....[1,r1],[r1+1,r2]....的区间且每个区间内,所有点的信息相等。用std::setstd::setstd::set维护。感觉属于熟练掌握STL的范畴。如果数据随机而且有...原创 2019-03-19 09:32:08 · 475 阅读 · 0 评论 -
BZOJ 4127 Abs(树链剖分+线段树)
给定一棵树,设计数据结构支持以下操作1 u v d 表示将路径 (u,v) 加d2 u v 表示询问路径 (u,v) 上点权绝对值的和对于100%的数据,n,m <= 10^5 且 0<= d,|a_i|<= 10^8感觉就最后一句有用。d为正数。那么我们可以直接上树剖加线段树。当区间加的区间内有变正负号的元素就下去暴力。只会下去O(n)O(n)O(n)次...原创 2019-03-22 21:19:10 · 173 阅读 · 0 评论 -
LG P4331 [BOI2004]Sequence 数字序列(左偏树+贪心)
题目论文题。好难啊。我们先考虑b数组不下降。那么一定是一整条一整条的递增。。。。。。现在如果前半段和后半段的最优决策如此:那么整段的最优决策也就这样了。但是如果是这样的:那么不能直接合并。首先可以证明,整个的最优策略中,左边还是一条直线,右边也是。然后可以证明,这两条直线应该是一个高度(左边的想往上,右边的想往下,合在一起)。然后可以发现,这个高度就是中位数的高度。。。...原创 2019-03-23 12:08:49 · 177 阅读 · 0 评论 -
LG P3261 [JLOI2015]城池攻占(左偏树)
题目在dfs的过程中把所有能到达这个城池的骑士用可并堆存储。然后把不能通过该城池的弹走。堆上打标记真是666.加个快读快了10倍。。。。#include<bits/stdc++.h>#define maxn 300005#define LL long longusing namespace std;char cb[1<<15],*cs=cb,*ct=cb...原创 2019-03-23 17:04:05 · 128 阅读 · 0 评论 -
LOJ #2463. 「2018 集训队互测 Day 1」完美的旅行(BM)
题目枚举与值,枚举步数和最后一个点DP,枚举前一个点转移,只把起点都终点符合与值的方案计算。最后得到的是与值为其超集的方案数,容斥一下(你也可以叫这IFMT)就可以得出答案。时间复杂度O(n3m)O(n^3m)O(n3m)循环展开+使用unsigned long long\texttt{unsigned long long}unsigned long ...原创 2019-05-20 22:26:19 · 409 阅读 · 0 评论 -
LOJ #2562. 「SDOI2018」战略游戏(圆方树)
题目这个题还是近乎板子题吧。tarjan求点双连通分量 , 建圆方树,路径上的圆点为必须经过的点。那么答案就是点集中任意两点间的圆点数量,也就是在虚树上或虚树的边上的圆点数 - 虚树上的圆点数。设点集为S,答案为按dfs序排序后:dis(S1,S2)+dis(S2,S3)...+dis(Sk,S1)2−∣S∣\frac {dis(S1,S2)+dis(S2,S3)...+dis(Sk,S...原创 2019-05-22 16:19:48 · 208 阅读 · 0 评论 -
小K与奇数
n个点m条边的无向图,求出一个大小为n2\frac n22n的匹配方案,两个点可以匹配当且仅当存在两个点在原图中的一条长度为偶数的路径,求一种方案使得所有匹配的路径不边相交但是可以点相交。n,m<=1e5n,m<=1e5n,m<=1e5这个题。。。发现当且仅当边数为偶数并且每个点的度数都为奇数的时候有解。如果我们不管路径长度为偶数这个条件,那么可以把1和2...原创 2019-08-04 18:47:27 · 200 阅读 · 0 评论 -
细胞自动机(思博+模拟)
题目描述:细胞自动制造公司最近刚刚获得批量生产零件的新工艺专利。它的方法使用到包含两种细胞状态的二维网格,每个单元的细胞要么为空,要么为满。当然,具体的细节是专有的。最初,网格中的一组单元被填充为需要复制的细胞副本。进过一系列离散的步骤,网格中的每个单元会根据自身及附近的八个单元的状态同步进行细胞状态更新。如果这九个单元中有奇数个位置的细胞是满的,那么这个单元的下一个状态也是满的,否...转载 2019-07-23 15:28:36 · 477 阅读 · 0 评论 -
0816模拟赛
序列给定 n 个正整数的序列 a1,a2,a3…ana_1,a_2,a_3…a_na1,a2,a3…an, 对该序列可执行下面的操作:选择一个大于 k 的正整数 ai, 将 ai 的值减去 1; 选择 ai-1 或 ai+1 中的一个值加上 1。共给出 m 个正整数 k, 对于每次给定的正整数 k, 经过以上操作一定次数后,求出最长的一个连续子序列, 使得这个子序列的每个数都不小...原创 2019-08-16 17:21:35 · 148 阅读 · 0 评论 -
HDU 6692 Line Graphs(分类讨论+三元环计数)
题目题意:一个图GGG的线图L(G)L(G)L(G)为把所有GGG中的边变为点,GGG中共点的不同边所变为的点在L(G)L(G)L(G)中有一条边相连,求Lk(G)=L(L(L...(G)))L^k(G) = L(L(L...(G)))Lk(G)=L(L(L...(G)))这个图中的最大团(一个点集其中任意两点有连边)大小及有多少个最大团。题解:众所周知 k=0k = 0k=0 时在 G 中...原创 2019-10-16 22:01:27 · 253 阅读 · 0 评论 -
BZOJ 3251: 树上三角形
题目题解:这是一个判定性问题。>47>47>47个点就必定有解。可以通过较小两边之和<=第三边来证明。然后就暴力往上跳存下来暴力判断就行了。树剖AC Code:#include<bits/stdc++.h>#define maxn 400005#define pb push_back#define lc u<<1#...原创 2019-09-14 16:24:46 · 148 阅读 · 0 评论 -
BZOJ 3142: [Hnoi2013]数列
题目先对价格差分。对于中间k−1k-1k−1段选择的任意方案,它的贡献是n−中间k−1段的和n - 中间k-1段的和n−中间k−1段的和。这个不好统计。我们可以用n∗mk−1n*m^{k-1}n∗mk−1减去所有方案中中间k-1段的和。因为每种和出现的次数都是一样的。那么就是m∗(m+1)2∗(k−1)∗mk−1m\frac {m*(m+1)}2 * \frac {(k-1) * m^...原创 2019-09-15 10:32:49 · 137 阅读 · 0 评论 -
Cloakroom BZOJ2794 POI2012(背包问题)
有n件物品,每件物品有三个属性a[i], b[i], c[i] (a[i]<b[i])。再给出q个询问,每个询问由非负整数m, k, s组成,问是否能够选出某些物品使得:对于每个选的物品i,满足a[i]<=m且b[i]>m+s。所有选出物品的c[i]的和正好是k。a,b,m,s<=1e9a,b,m,s <=1e9a,b,m,s<=1e9n,c<...原创 2019-09-26 22:02:54 · 175 阅读 · 0 评论 -
BZOJ 1190 梦幻岛宝珠(分层背包)
给你N颗宝石,每颗宝石都有重量和价值。要你从这些宝石中选取一些宝石,保证总重量不超过W,且总价值最大为,并输出最大的总价值。数据范围:N<=100;W<=230N<=100;W<=2^{30}N<=100;W<=230,并且保证每颗宝石的重量符合a∗2b(a<=10,b<=30)a*2^b(a<=10,b<=30)a∗2b(a<...原创 2019-09-26 22:27:54 · 204 阅读 · 0 评论 -
BZOJ4664 Count(插块DP)
小叶子的桌面上有 n 本高度不相同的书,n+e 现在需要把这些书按照一定的顺序摆放好。假设第 i 本书的高度为 h[i],n+e 的摆放用一个 1~n的排列 pi 来表示。定义一个摆放的混乱程度:|h[p2]-h[p1]|+|h[p3]-h[p2]|+……+|h[pn]-h[pn-1]|,即相邻两本书的高度差的绝对值之和。已知合法的摆放要求其混乱程度不超过 L。小叶子想要知道,n+e 到底有多少种...原创 2019-09-26 22:45:34 · 410 阅读 · 0 评论 -
51nod 1843 排列合并机(组合DP)
小C有一个合并排列机,它可以合并两个长度为n的排列A,B。合并一共有2*n步,一开始答案的数列为空,每一步有两个选项:(1).若A不为空,则你可以删掉A开头的元素,放到答案数列的末尾。(2).若B不为空,则你可以删掉B开头的元素,放到答案数列的末尾。以上两个选项每一步只能选一个小C不喜欢重复的东西,定义两个排列的价值f(A,B)f(A,B)f(A,B)为他们合并可以生成的答案数列的种数...原创 2019-07-26 16:48:57 · 294 阅读 · 0 评论 -
哈夫曼树
给定nnn个权值作为nnn个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)\texttt{(Huffman Tree)}(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。每次拿权值最小的2个点,合并成一个新的点,权值为这两个点之和,新的点相当于这两个点的父亲。...原创 2019-06-01 16:08:40 · 460 阅读 · 0 评论 -
舞蹈链DLX算法
常数与希望编织的一缕奇迹模板DLX算法全称:Dancing Line X算法。X算法的意思就是不知道是哪种搜索算法,而Dancing Line的意思就是用Dancing Line优化X算法。Dancing Line是使用在类二维矩阵中的双向循环链表群。上面的话可以意会Dancing Line其实就是对于每个元素,和它左边的第一个,右边的第一个,上边的,下边的,都连上双向指针。...原创 2019-06-10 21:52:09 · 1557 阅读 · 0 评论 -
两端取数游戏的高效解法与随机情况下的特殊变式(博弈论?贪心)
两端取数游戏:一个数列aaa每次只能取出两端的数,先后手互换。1.博弈版本:数字和大者胜,求先手必胜策略。首先在∣a∣≡1(mod2)|a| \equiv 1 \pmod 2∣a∣≡1(mod2)时是不一定赢的。比如:7 9 3 5 2可以发现先手是必输的。然后在2∣∣a∣\small2 \large| \small|a|2∣∣a∣时,可以选第一个,然后对方只能选第2或n个。发现...原创 2019-06-22 18:00:28 · 1113 阅读 · 0 评论 -
平面图完美匹配计数——(这个叫)FKT算法(Fast Kasteleyns technique?)【求1*2多米诺骨牌铺格子的(博主)已知最快算法】
唐老师的博客[n<=100可做]歪果仁的超强PPT,看完之后你就知道怎么做[nm<=500的情况](只要你忽略证明)搜FKT,完美匹配计数统统搜不到。只有搜51nod1034 v3。。。或是 Counting perfect matchings in planar graphs才搜的到。这个在国内也太冷了吧。我来用中文复述一遍PPT内容:1.1*2骨牌铺格子可以转化为求...原创 2019-07-08 21:39:54 · 2362 阅读 · 0 评论 -
无删除莫队与二次离线莫队
大佬博客无删除莫队:没打过但是可以拿来凑数。不就是用可回退化(你一定需要看一看[十二省联考2019]希望)的莫队来。。。。skip。二次离线莫队:一开始看是ynoi的题以为没有啥可拓展性。然后看了上面那位大佬的博客才发现这个方法大有可为。莫队实际上是把O(m)O(m)O(m)个询问拆分成O(nm)O(n\sqrt m)O(nm)个询问的离线算法。那么每个(标准的)莫队可以分成3...原创 2019-06-29 19:41:36 · 608 阅读 · 0 评论 -
BZOJ 4934: [Ceoi2016]kangaroo
求有多少个排列 p1,p2,...,pn{p1, p2, ..., pn}p1,p2,...,pn 满足 p1=s,pn=tp1 = s, pn = tp1=s,pn=t 且对于1<i<n1 < i < n1<i<n 满足$ pi − 1 < pi $且 pi+1<pip_{i + 1} < p...原创 2019-07-05 19:09:53 · 377 阅读 · 0 评论