自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

beginend

只要在路上,就没有到不了的远方

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

原创 Codeforces 1163F Indecisive Taxi Fee 最短路树

题意给一个nnn个点mmm条边的无向图,边有边权。每次会改变一条边的边权,并询问111到nnn的最短路。询问之间独立。n,m,q≤200000n,m,q\le200000n,m,q≤200000分析这跟HNOI2014道路堵塞基本就是一个题。最短路分两种情况:经过修改的边和不经过修改的边。第一种情况可以通过预处理最短路直接得出,第二种情况相当于要求删掉一条边后从111到nnn的最短路。...

2019-07-19 21:03:51 361

原创 Codeforces 1149D Abandoning Roads 最短路

题意有一个nnn个点mmm条边的无向图,每条边的边权要么是aaa要么是bbb,满足a&lt;ba&lt;ba<b。对于每个点,求在该图的所有生成树中,从1号点开始,只走树边到达该点的距离最小值。n≤70,m≤200n\le 70,m\le200n≤70,m≤200分析由于一定要是最小生成树,所以边权为aaa的边的优先级大于边权为bbb的边。考虑先把aaa边连成的连通...

2019-07-19 09:46:00 189

原创 Codeforces 1149E Election Promises SG函数

题意有一个DAG,点有点权。两个人轮流操作,每次可以选择一个点,将这个点的权值变小,并把所有该点出边指向的点的权值改变为任意值。满足任意时刻每个点的点权均为非负整数。无法操作者输。问先手是否必胜,若必胜则给出第一步操作。n,m≤2∗105n,m\le2*10^5n,m≤2∗105分析先把每个点的sg函数求出来,设sum(x)sum(x)sum(x)表示所有sg函数等于xxx的点的权值的异或...

2019-07-18 15:54:47 251

原创 LibreOJ #2409.「THUPC 2017」小 L 的计算题 / Sum 生成函数

题意给出a1,...,ana_1,...,a_na1​,...,an​,对1≤i≤n1\le i \le n1≤i≤n求fi=∑k=1nakif_i=\sum_{k=1}^na_k^ifi​=k=1∑n​aki​n≤200000n\le200000n≤200000分析设fif_ifi​的OGFOGFOGF为F(x)F(x)F(x),那么有F(x)=∑i=0nfixiF(x)=\sum_{i...

2019-07-17 17:05:52 161

原创 LibreOJ #3120.「CTS2019 | CTSC2019」珍珠 生成函数

题意有nnn个范围在[1,D][1,D][1,D]之间的整数均匀随机变量,问能够选出mmm对变量,满足每个变量至多只出现在一对变量中,且同一对变量的值相同的概率。n,m≤109,D≤105n,m\le10^9,D\le10^5n,m≤109,D≤105分析显然一个数值出现偶数次的EGFEGFEGF为ex+e−x2\frac{e^x+e^{-x}}{2}2ex+e−x​,奇数次则为ex−e−...

2019-07-17 10:12:44 208

原创 LibreOJ #3145.「APIO 2019」桥梁 分块

题意有一个nnn个点mmm条边的无向图,边有边权。有qqq个操作,每个操作会修改一条边的边权,或是询问从点xxx开始,只走权值不小于yyy的边,可以到达多少个点。n≤5∗104,m,q≤105n\le5*10^4,m,q\le10^5n≤5∗104,m,q≤105分析先对操作分块。处理到某一块的时候,先把之前的块的修改都做掉。然后把这一块中没有被修改的边按边权排序。对这一块的询问按权值从大...

2019-07-16 21:29:43 248

原创 LibreOJ #6363.「地底蔷薇」生成函数+拉格朗日反演

题意求有多少个nnn个点带标号简单无向连通图满足所有极大点双连通分量的大小都在给定的几何SSS中。n≤105,∑x∈Sx≤105n\le10^5,\sum_{x\in S}x\le10^5n≤105,∑x∈S​x≤105分析神仙zjt出的神仙题。。。设hkh_khk​表示nnn个点带标号有根无向连通图数量,H(x)H(x)H(x)表示hkh_khk​的EGFEGFEGF,先把H(x)H(...

2019-07-16 11:58:07 364

原创 bzoj 3684: 大朋友和多叉树 拉格朗日反演+牛顿迭代

题意我们的大朋友很喜欢计算机科学,而且尤其喜欢多叉树。对于一棵带有正整数点权的有根多叉树,如果它满足这样的性质,我们的大朋友就会将其称作神犇的:点权为1的结点是叶子结点;对于任一点权大于1的结点u,u的孩子数目deg[u]属于集合D,且u的点权等于这些孩子结点的点权之和。给出一个整数s,你能求出根节点权值为s的神犇多叉树的个数吗?请参照样例以更好的理解什么样的两棵多叉树会被视为不同的。我们只...

2019-07-16 00:24:15 190

原创 拉格朗日反演

前言闲得无聊来学学看。抽代相关的前置技能自然是一点不会的,所以一些内容就只能感受一下。总的来说就是我们一般见到的形式幂级数都是形如f(x)=a0+a1x+a2x2+...f(x)=a_0+a_1x+a_2x^2+...f(x)=a0​+a1​x+a2​x2+...但这里讨论的幂级数是形如f(x)=a−mx−m+...+a−1x−1+a0+a1x+...+anxn+...f(x)=a_{-m...

2019-07-16 00:17:53 3476 2

原创 阶乘模大质数

前言现在才学这个的我可以说是很菜了。多项式除法给出一个nnn次多项式F(x)F(x)F(x)和一个mmm次多项式G(x)G(x)G(x),求一个n−mn-mn−m次多项式Q(x)Q(x)Q(x)和一个次数小于mmm的多项式R(x)R(x)R(x),使得F(x)=Q(x)G(x)+R(x)F(x)=Q(x)G(x)+R(x)F(x)=Q(x)G(x)+R(x)首先对于一个nnn次多项式F(x...

2019-07-13 22:24:06 1116 1

原创 bzoj 1718: [Usaco2006 Jan] Redundant Paths 分离的路径 tarjan

题意给一个nnn个点mmm条边的连通无向图,问最少需要加多少条边使得任意两点之间均存在两条没有边相交的路径。n≤5000,m≤10000n\le5000,m\le10000n≤5000,m≤10000分析显然先把所有边双缩起来变成一棵树,然后对树上的节点连边。结论是只用连⌈叶子数量2⌉\lceil\frac{叶子数量}{2}\rceil⌈2叶子数量​⌉条边即可。网上的证明我都没看懂。。...

2019-07-12 12:55:54 186

原创 Codeforces 1161F Zigzag Game 稳定婚姻匹配算法

题意有一个完全二分图,每边有n个点,边有边权。先手先选择III或DDD中的一个,后手则为另一个。先手选择一个开始位置,然后后手选择另一边的任意一个点走过去。之后两人轮流操作,每次可以选择当前点的一条出边走过去。若轮到选择III的人操作,则当前走的边的边权必须大于上一次走的边的边权,选DDD的人反之。现在可以任意扮演先手或后手,要求与交互库进行上述游戏并取得胜利。n≤50n\le 50n≤50...

2019-07-12 10:21:55 220

原创 Codeforces1161C Thanos Nim 博弈论

题意有nnn堆石子,其中nnn为偶数。两个人轮流操作,每次可以选择n2\frac{n}{2}2n​堆石子,并在每堆石子中取走数量不为000的石子(可以不相同),不能操作者输。问先手必胜还是后手必胜。n≤50,每堆石子数≤50n\le50,每堆石子数\le 50n≤50,每堆石子数≤50分析这题不难但是挺有意思。设nnn堆石子中数量最少的石子数为mnmnmn若石子数恰为mnmnmn的石子...

2019-07-11 17:58:28 178

原创 Codeforces 1161E Rainbow Coins 交互题

题意有nnn个硬币,每个硬币为三种颜色的一种。每一轮可以询问若干对硬币,交互库会回答每一对硬币是否同色。需要满足一个硬币在一轮询问中只能出现一次,且询问轮数不超过777。要求求出每种硬币属于哪种颜色。n≤105n\le10^5n≤105分析首先把所有硬币排成一排,用两次询问求出所有相邻硬币的相同情况,并把颜色相同的相邻硬币合并。再用4次询问求出每个硬币和与他距离为2的硬币的相同情况。由于...

2019-07-11 14:24:21 154

原创 bzoj 5275: Icefall DP

题意河的两侧有n块石头。现在可以从任意一块石头开始,每走到一块石头就将其取走,之后可以走到同一侧两边最近的还未被取到的石头或是河对岸任意一块未被取到的石头,问方案。n≤4000n\le4000n≤4000分析路线一定是现在左边走一段,再在右边走一段,再回左边,如此类推。有两种O(n3)O(n^3)O(n3)的dp,一种是设fi,j,0/1f_{i,j,0/1}fi,j,0/1​表示左边取...

2019-07-10 18:07:20 165

原创 Codeforces 908G New Year and Original Order 数位dp

题意定义S(n)S(n)S(n)为nnn在十进制表示下每一位数字从小到大排序后拼接得到的数字。求∑i=1nS(i)\sum_{i=1}^nS(i)i=1∑n​S(i)n≤10700n\le10^{700}n≤10700分析用dp求出fi,jf_{i,j}fi,j​表示有多少个xxx满足S(x)S(x)S(x)的第iii位至少为jjj。dp的时候设fi,j,0/1f_{i,j,0/1}f...

2019-07-10 11:24:45 156

原创 Codeforces 1188D Make Equal DP

题意有一个长度为nnn的数组aaa,每次操作可以给一个数加上2k2^k2k,其中kkk可以是任意非负整数。问最少需要多少次操作来使得该数组的每个元素都相等。n≤105,ai≤1017n\le10^5,a_i\le10^{17}n≤105,ai​≤1017分析假设最终每个数都会变为xxx,显然x≥max(ai)x\ge max(a_i)x≥max(ai​)那么需要的操作次数就是∑i=1nbi...

2019-07-09 20:07:18 203

原创 LibreOJ #3119.「CTS2019 | CTSC2019」随机立方体 容斥原理

题意现在要给一个n∗m∗ln*m*ln∗m∗l的矩形的每一位等概率地填上111到n∗m∗ln*m*ln∗m∗l中的一个数,且满足每个数恰好出现一次。定义一个位置为极大值当且仅当所有坐标至少有一维和他相同的位置的数都比他小。问恰好有kkk个极大值的概率。n,m,l≤5000000,k≤100n,m,l\le5000000,k\le100n,m,l≤5000000,k≤100分析考虑容斥,那么...

2019-07-09 16:19:15 195

原创 LibreOJ #2687.「BalticOI 2013」Vim 线头dp

题意题目链接分析大佬题解因为删掉每个eee前必然是先走到eee后面的一个字母,然后花费222的代价把eee删掉,所以我们可以先把eee去掉,转化成有一些位置必须要经过,最后再把答案加上e的个数∗2e的个数*2e的个数∗2就好了。注意到一段区间[i,i+1][i,i+1][i,i+1]要么是被一步跨过,要么是先被一步跨过,再走回去,然后一步跨过。设fi,jf_{i,j}fi,j​表示区间...

2019-07-08 15:22:41 317 3

原创 LibreOJ #525.「LibreOJ β Round #4」多项式 拓展欧拉定理

题意构造一个整多项式f(x)f(x)f(x)使得对任意的整数xxx都有f(x)≡0(modk)f(x)\equiv 0\pmod kf(x)≡0(modk)。k≤30000k\le30000k≤30000,多项式的次数不超过600006000060000分析根据拓展欧拉定理,对任意的x,px,px,p,若n≥φ(p)n\ge\varphi(p)n≥φ(p)则有xn≡xn+φ(p)(modp...

2019-07-08 08:42:12 210

原创 hdu 6072 Logical Chain Kozaraju+bitset

题意有一张n个节点的有向图,m组操作,每次最多翻转K条边,求每组操作后可以相互到达的点的对数。n≤250,m≤25000,k≤10n\le250,m\le25000,k\le10n≤250,m≤25000,k≤10分析只要求出每个强连通分量的大小就可以知道答案了。用tarjan来做的时间复杂度是O(n2m)O(n^2m)O(n2m),显然跑不过。如果用Kozaraju的话,可以用bit...

2019-07-05 10:48:31 200

原创 Codeforces 1187F Expected Square Beauty

题意有一个长度为nnn的序列aaa,序列的第iii位会等概率地取[li,ri][l_i,r_i][li​,ri​]中的整数。设B(x)B(x)B(x)表示最多可以把该序列分成多少段,使得每一段中的数全部相同,求E(B2(x))E(B^2(x))E(B2(x))。n≤2∗105,1≤li≤ri≤109n\le2*10^5,1\le l_i\le r_i\le10^9n≤2∗105,1≤li​≤r...

2019-07-03 10:22:31 295

原创 bzoj 4639 期望 矩阵树定理

题意有一个n个点m条边的图,每条边有长度和美丽值。求该图的所有最小生成树中美丽值的和的期望。满足长度相同的边的数量不超过30。n≤10000,m≤200000n\le10000,m\le200000n≤10000,m≤200000分析显然长度不同的边的贡献是独立的。那么我们可以把每一种距离的边拿出来,对每一个连通块分别处理。枚举同一个连通块中的每一条边,用矩阵树定理算出一定包含这条边...

2019-07-03 09:12:25 276 3

原创 Codeforces 809E Surprise me! 莫比乌斯反演+点分治

题意给一棵n个节点的数,点权为1到n的整数且互不相同。求∑i≠jφ(vali∗valj)∗dis(i,j)n∗(n−1)\frac{\sum_{i=\not j}\varphi(val_i*val_j)*dis(i,j)}{n*(n-1)}n∗(n−1)∑i≠​j​φ(vali​∗valj​)∗dis(i,j)​n≤2∗105n\le2*10^5n≤2∗105分析注意到φ(ab)=φ(...

2019-07-02 11:11:01 202

原创 bzoj 3413: 匹配 后缀自动机

题意n≤100000n\le100000n≤100000分析题目相当于求询问串与母串的第一个匹配位置之前所有后缀的lcp的和。对母串建sam,把每个节点的right集用线段树合并求出来,然后把询问串在上面跑顺便统计答案就好了。代码#include<iostream>#include<cstdio>#include<cstdlib>#inclu...

2019-07-02 09:52:34 308

原创 LibreOJ #3059.「HNOI2019」序列 单调栈

题意给一个长度为nnn的序列a,每次询问若修改某一个位置,要求找一个长度同样为nnn的单调不降序列b,最小化∑i=1n(ai−bi)2\sum_{i=1}^n(a_i-b_i)^2∑i=1n​(ai​−bi​)2。n,m≤105n,m\le10^5n,m≤105分析首先如果我们只选一个数xxx满足∑(ai−x)2\sum(a_i-x)^2∑(ai​−x)2最小,展开后发现这是一个关于xxx...

2019-07-01 22:02:02 243

原创 LibreOJ #3057.「HNOI2019」校园旅行

题意有一个n个点m条边的无向图,每个点的编号为0或1。有q个询问,每次询问两个点x和y之间是否存在一条路径,使得该经过的所有点的编号排成一排构成的字符串是回文串。n≤5000,m≤5∗105,q≤105n\le5000,m\le5*10^5,q\le10^5n≤5000,m≤5∗105,q≤105分析很容易想到暴力做法:设fi,j=0/1f_{i,j}=0/1fi,j​=0/1表示是否存在...

2019-06-29 11:43:32 200 1

原创 Codeforces 944G Coins Exhibition 线段树优化dp

题意有一个长度为k的01串,有n个形如[l,r]的限制表示区间[l,r]内至少有一个0,m个限制[l,r]表示区间[l,r]内至少有一个1,问合法01串数量。k≤109,n,m≤105k\le10^9,n,m\le10^5k≤109,n,m≤105分析先把坐标离散化,设离散后的坐标iii对应原来的坐标为lil_ili​,。考虑dp,设dp0/1[i][j]dp_{0/1}[i][j]dp...

2019-06-28 10:10:50 231

原创 Comet OJ - Contest #5 迫真树 长链剖分

题意给一棵n个节点的树,点有点权,要求选出若干个点,使得这些点的权值和不超过m且删掉这些点后森林的直径最小。n≤105n\le10^5n≤105分析很容易想到二分答案后dp,设fx,if_{x,i}fx,i​表示节点x为根的子树,满足子树内的直径不超过二分的答案mid,且从x开始的最长链长度为i的方案。合并子树的时候,讨论加入新子树后是否更新从x出发的最长链来转移即可。发现i的数量级为...

2019-06-27 08:59:35 283

原创 LibreOJ #3043.「ZJOI2019」线段树 线段树

题意你猜分析显然答案就是所有操作子集的标记数之和。假设当前每个点对答案的贡献都已知,考虑新加入一个操作,设为第kkk个操作。下面把点分为5类来讨论。1、对于经过但没被定位到的节点,其贡献不变。2、对于被定位到的点,其贡献加上2k−12^{k-1}2k−1。3、对于被定位到的点的子树中的点,其贡献乘2。4、对于是第1类点的儿子且不属于上面三类点的节点,其贡献的增量为有多少个操作子集...

2019-06-25 08:26:13 153

原创 LibreOJ #3046.「ZJOI2019」语言 线段树合并

题意有一棵n个点的树和m条路径,问存在多少个点对(x,y)满足这两个点被至少一条路径同时包含。n,m≤105n,m\le10^5n,m≤105分析枚举点x,那么能和x构成合法点对的点y的数量即为所有包含x的路径的并的大小,也就是所有满足路径的端点构成的虚树大小。显然若我们把虚树的端点按照dfs序环形排列,那么虚树大小即为相邻两点距离和的一半。那么我们可以用线段树来维护dfs序,然后用线...

2019-06-23 14:51:57 231

原创 玲珑OJ 1035 D-J 生成函数

题意问所有nnn个点的带标号无根森林的树个数的kkk次方和,对998244353998244353998244353取模。n≤20000,k≤10n\le20000,k\le10n≤20000,k≤10分析待补代码#include<iostream>#include<cstdio>#include<cstdlib>#include<cs...

2019-06-22 22:25:39 199

原创 LibreOJ #3051. 「十二省联考 2019」皮配 DP

题意你猜。分析注意到当k=0时,派系和阵营的限制是互不干扰的,我们可以对学校和城市分开处理,然后把方案乘起来即可。多了限制之后,我们只要把被限制的城市和学校单独拿出来dp就好了。代码#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#includ...

2019-06-22 15:51:23 234

原创 LibreOJ #3052. 「十二省联考 2019」春节十二响 长链剖分

题意给一棵树,点有点权,要求把所有节点分成若干个集合,使得同一集合中任意两点不存在祖先关系,且每一集合的最大点权的和最小。n≤2∗105n\le2*10^5n≤2∗105分析考虑递归处理,假设当前节点的两棵子树都已处理好,那么合并两棵子树的方式为最大值和最大值合并,次大值和次大值合并,如此类推。可以用长链剖分+优先队列来优化到O(nlogn)O(nlogn)O(nlogn)。代码#i...

2019-06-22 12:06:38 229

原创 LibreOJ #3049. 「十二省联考 2019」字符串问题 后缀数组+线段树

题意给一个长度为nnn的串SSS和SSS的nanana个子串AiA_iAi​和nbnbnb个子串BiB_iBi​,有mmm个支配关系(x,y)(x,y)(x,y)表示子串AxA_xAx​支配子串ByB_yBy​。要求找一个最长的串TTT,使得TTT可以划分成若干个AiA_iAi​拼接而成的形式,设划分为t1,...,tkt_1,...,t_kt1​,...,tk​,且对于任意1≤i≤k−11\l...

2019-06-21 10:51:20 241

原创 LibreOJ #3048. 「十二省联考 2019」异或粽子 Trie+贪心

题意给一个长度为nnn的序列,求出其中mmm个子序列使得他们的异或和的和最大。n,m≤5∗105n,m\le5*10^5n,m≤5∗105分析把前缀和扔进Trie里面,用一个堆维护每个位置当前的最大贡献,每次贪心取然后更改即可。代码#include<iostream>#include<cstdio>#include<cstdlib>#inclu...

2019-06-20 21:14:28 189

原创 Berlekamp-Massey算法学习小记

简介Berlekamp-Massey算法,简称BM算法,可以在O(N2)O(N^2)O(N2)时间内求解一个数列的最短线性递推式。教程一篇讲的很详细的博客Berlekamp-Massey算法我们采用增量法构造数列{an}\{a_n\}{an​}最短线性递推式。假设现在已经得到了数列a1,a2,...,ai−1a_1,a_2,...,a_{i-1}a1​,a2​,...,ai−1​的最短...

2019-06-20 17:07:16 917

原创 Codeforces 1185G2 Playlist for Polycarp 动态规划

题意有n首歌,每首歌有一个时长tit_iti​和一个号码gig_igi​,问有多少种选出若干首歌排成一排的方案,使得任意相邻两首歌的号码不同,且所有歌的时长和恰好为TTT。n≤50,1≤gi≤3,T≤2500,ti≤50n\le50,1\le g_i\le3,T\le2500,t_i\le50n≤50,1≤gi​≤3,T≤2500,ti​≤50分析注意到只有三种号码,我们可以先把每种号码分...

2019-06-20 11:23:40 488

原创 Codeforces 1110H Modest Substrings AC自动机

题意给出LLL和RRR,称所有在[L,R][L,R][L,R]范围内的数都是好的。求一个长度为n且由数字组成的字符串,满足有最多的子串是好的,且字典序尽量小。L,R≤10800,n≤2000L,R\le10^{800},n\le2000L,R≤10800,n≤2000分析先考虑最暴力的做法,我们可以把所有好的数字放到一起建AC自动机,然后在上面dp。显然状态数是无法接受的,但注意到假设数...

2019-06-19 18:33:32 218

原创 LibreOJ #2271.「SDOI2017」遗忘的集合 多项式ln

题意给出一个n次多项式f(x)f(x)f(x),求一个范围在1到n之间的正整数集合S使得系数在模p意义下有f(x)≡∏11−xSi(modxn+1)f(x)\equiv\prod\frac{1}{1-x^{S_i}}\pmod{x^{n+1}}f(x)≡∏1−xSi​1​(modxn+1)n≤218n\le2^{18}n≤218分析我们设f(x)=∏i=1n(11−xi)hif(...

2019-02-13 22:25:52 305

空空如也

空空如也

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

TA关注的人

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