自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 9.26 信息传递

题意给定一颗无根树,树上任意两个结点之间可以传递消息。当结点\(u\)向结点\(v\)传递消息时,这条消息将会经过\(u,v\)之间的所有有向边各一次当一条消息在传递的过程中经过有向边\(u\to v\)时,如果\(u < v\)则结点\(u,v\)的权值各\(+1\)反之则各\(-1\)在经过若干次消息传递后,树上结点的权值发生了变化。给定所有节点最终的权值,请求出一种传递...

2019-09-26 20:57:00 142

转载 ZJOI 2006 书架

题意请你维护一个长度为\(n\)的排列,要求支持以下操作把权值为\(v\)的元素放到序列的首端把权值为\(v\)的元素放到序列的尾端把权值为\(v\)的元素和它前一个或后一个元素进行交换询问权值为\(v\)的元素之前有多少个元素询问第\(k\)个元素的权值解法可以用无旋Treap来维护区间和Splay一样,Treap可以用来维护区间是由于它的下标的中序遍历是整个序...

2019-09-26 19:18:00 113

转载 9.24 森林

题意给一颗初始大小为\(1\)的有根树,每次可以为该树添加一个叶子结点定义对树的一次变换为交换该树中互不为祖宗的两个结点的子树在每次添加一个叶子结点后,请输出当前树经过至多一次变换后的直径长度解法如果不进行交换,答案显然是原树的直径进行一次交换后,答案即为原树的直径\(+\)离直径最远的点到直径的距离\(-1\)(减一是因为在换子树的过程中,有一条边被重合掉了)由于是有根...

2019-09-25 21:34:00 110

转载 9.25 Circle Game

题意平面直角坐标系上有\(n\)个圆,这些圆互不相交或相切(也就是说,两个圆之间要么相离,要么是包含与被包含的关系)每个圆有一个权值,请选择若干个圆,使得这些圆两两之间不存在包含或被包含的关系,并且所选择圆的权值和最大解法由于圆之间只存在包含与被包含的关系,很容易抽象出一颗树:一个圆在树上结点的父亲时包含它的半径最小的圆因此有一个\(O(n^2)\)的做法:暴力找到每个圆的父...

2019-09-25 21:12:00 118

转载 HNOI2012 永无乡

题意给定\(n\)个连通块,有两种操作:合并两个连通块查询某个元素所在连通块内第\(k\)大的值解法合并连通块\(\to\)启发式合并,查询第\(k\)大\(\to\)平衡树,权值线段树当然这道题可以用线段树合并写,但是用FHQ_Treap来写实在是太爽了由于FHQ_Treap本身就可以维护连通块(一颗树就是一个连通块),还能顺带维护连通块的size与其中的元素,简直...

2019-09-25 17:22:00 87

转载 9.23 逃跑的牛Barn Running Away

题意给定一颗大小为\(n\)的点带权无根树,有\(q\)个询问,每次询问与结点\(u\)距离不超过\(k\)的结点的点权之和\(k\leq 400,q\leq 5000,n\leq 10^6\)解法询问与节点\(u\)距离不超过\(k\)的结点的点权,考虑这些点的来源,一是来源于它的子树内,二是来源于它的祖宗链假设我们求得了以某个结点为根,对于节点\(u\),在其子树内距离其...

2019-09-23 21:08:00 124

转载 9.21 注册题

题意给定一颗点带权无根树,请你选定一个根并对这棵树进行深度优先遍历,得到一个点的经过顺序(即\(dfs\)序):\(v_1,v_2...v_n\),记点\(u\)的点权为\(A_u\)请最小化下面式子的值\[\sum_{i=1}^n i\times A_{v_i}\]解法大佬们都说这题是煞笔题。。我还是太菜了设当前点为\(u\),我们已经求得了\(u\)所有儿子的最优答...

2019-09-22 22:31:00 226

转载 9.21 生成树

题意给定一颗边带权树,求出对于每一条边来说,在保证其出现在最小生成树上的同时,它可能具有的最大边权若最大边权可以为无限大,输出\(10^9\)解法考试时暴力跳链跳了\(98pts\),啊哈哈首先把最小生成树跑出来,对于每一个非树边,它的答案是其覆盖的树边的边权的最大值;因为这条非树边是可以代替其覆盖的树边中的任意一个的而对于每一个树边来说,它的答案是所有覆盖它的非树边的边权...

2019-09-22 12:15:00 113

转载 9.20 Magical multisets

题意有\(n\)个可重集,编号为\(1\to n\),开始时都是空的,现在有两种操作将元素\(x\)加入编号为\([l,r]\)的集合中,若集合中原本就有元素\(x\),那么该集合中所有元素的个数都会翻倍询问编号为\([l,r]\)集合中元素个数的和,取模\(998244353\)解法\(set\)维护区间对每个颜色开一个\(set\),存储区间(左端点,右端点)每次...

2019-09-21 20:00:00 96

转载 9.18 城市道路设计

题意给定\(n\)个点\(n\)条边的连通图,要求删去一条边,使得剩下的图仍是一个连通图,并且图中距离最远的两个点的距离最小解法\(n\)个点\(n\)条边的连通图即为基环树要删去一条边使得剩下的图仍是连通图,我们删除的一定是环上的边,剩下的图一定是一颗树那么树上距离最远的两个点的距离就是树的直径暴力枚举环上断边求直径是\(O(N^2)\)的,考虑优化单独考虑环上的点,把...

2019-09-21 19:46:00 88

转载 9.18 数字谜题

题意定义对一个整数\(x\)的操作\(f(x)\)为把\(x\)变换为其二进制表示中\(1\)的个数。给定\(n,k\),请求出\(1\)至\(n\)中经过\(k\)次变换恰好变成\(1\)的数的个数\(n\leq 2^{1000},k\leq1000\)解法这题考场上想出来了,但是!打萎了主要还是数位\(DP\)打得不多,还有一些边界情况没有考虑稍微想一想就能知道\(10...

2019-09-18 14:49:00 355

转载 9.17 第二题

题意给出了一个\(N\)个点\(M\)条边的有向图求有多少个有序点对\((a,b)\),满足至少存在一个点\(c\)以及从\(c\)到\(a\)的一条路径\(L_a\),\(c\)到 \(b\) 的一条路径\(L_b\),使得\(L_a\)的长度是\(L_b\)的两倍注意不一定是简单路径\(N,M\leq 3\times10^3\)解法考虑对于点\(c\),一个合法的二元...

2019-09-17 22:03:00 220

转载 9.17 第一题

题意给出\(n,b,k\),求\[\sum_{i=1}^n {i \choose k} b^i \pmod p\]\(n\leq 10^{18},k\leq 5\times 10^5,b\leq p, p\in prime\)解法\(\%\%\%MAXe\)抽象出一个杨辉三角形把每一行赋予一个权值,其中第\(i\)行的权值是\(b^i\)我们定义一列\(j\)的权值...

2019-09-17 20:33:00 118

转载 9.13 异或序列

题意给定\(a,b\)数组,定义\(c_i=a_i\oplus b_i\),其中\(\oplus\)运算是异或运算请合理安排\(a,b\)的顺序使得得到的\(c\)的字典序最小,并输出\(c\)解法第一次做\(01Trie\)的问题,感觉好神奇对\(a\)数组与\(b\)数组分别构建两颗\(01Trie\)(用二进制位构造)在两颗\(Trie\)上遍历,贪心的走边能走全\...

2019-09-17 18:53:00 175

转载 9.13 简单desu

题意给定一个序列,求出其中有多少个区间\([L,R]\),满足在对\([L,R]\)中所有元素排序后,其中相邻元素的差的绝对值不大于\(1\)解法我们先考虑该序列是一个排列的情况,也就是每个元素出现且仅出现一次我们发现,满足条件的区间\([L,R]\)有以下性质:令\(A\)为\(a_L\)至\(a_R\)中的最大值,\(B\)为最小值那么\(A-B=R-L\)并且我们还...

2019-09-17 16:55:00 144

转载 9.13 树上统计

题意有一颗有\(n\)个结点的树,树上结点带编号并且有颜色共有\(m\)种颜色并且保证每种颜色至少出现一次你需要选择一个点作为根,并且找一个树上结点的非空子集\(T\),满足每种颜色都至少在\(T\)中出现一次,并且\(T\)中所有点的\(LCA\)的深度最大定义你所选的根的深度为\(1\),儿子的深度为父亲的深度\(+1\)输出最大深度\(n \leq 10^6,m\leq...

2019-09-16 22:02:00 687

转载 ICPC Shanghai 网络赛 Stone Game

题意给定一个可重集\(S\),请求出满足下面条件的子集\(S'\)个数:\(S'\geq S-S'\)\(S'-a_i \leq S-S'\),其中\(a_i \in S'\)\(|S|\leq 300, a_i \leq 500\)解法\(\tt {hin}\)有味的计数题,虽然\(A\)的人很多,但是我没想出来我们令满足条件的集合为集合\(A\),其补集为\(B\...

2019-09-15 19:22:00 102

转载 9.13 染上你的颜色

题意给定一颗有根带权树,记\(LCA(u,v)\)为\(u,v\)的最近公共祖先,\(dis(u)\)表示树根到\(u\)的距离每个节点可以是黑色或白色,初始结点颜色为白色有\(m\)次操作,操作分为两种将结点\(x\)染成黑色记所有黑点形成的集合为\(S\)与一个节点\(x\),求出下面式子的值\[\sum_{y \in S}F(dis(LCA(u,v)))\]其中...

2019-09-14 19:40:00 103

转载 9.9 另一个区间问题

题意有一个长度为\(n\)的正整数序列\(a\),可以进行\(m\)次操作,每次操作有两种类型:\(op=1\)修改操作,表示将区间\([L,R]\)内的所有数都乘上一个正整数\(x\)\(op=2\)询问操作,询问\([L,R]\)区间中所有数乘积的欧拉函数,即\(\varphi(\prod_{i=L}^R a_i)\)答案取模\(mod=998244353\)\(n...

2019-09-11 22:36:00 84

转载 9.9 神圣之战

题意给定一个无向图,求一个边集\(E\),删掉这个边集中的任意一条边,都可以使原无向图成为一个二分图输出这个边集的大小以及这个边集中所有边的编号的异或和解法首先丢出两个结论:二分图中不存在奇环(这应该是众所周知的吧)构建出一个无向图的生成树,非树边一定是返祖边证明:设边\((u,v),depth(u)≤depth(v)\),假如\(u\)不是\(v\)的祖先,那么\(v...

2019-09-11 22:22:00 77

转载 9.9 勒庞

题意给定一个\(n\times n\)的矩阵,定义矩阵的\(\tt{AND}\)值为矩阵中所有数与起来的运算结果;定义矩阵的\(\tt{OR}\)值为矩阵中所有数或起来的运算结果试求出:该矩阵所有子矩阵的\(\tt{AND}\)值之和该矩阵所有子矩阵的\(\tt{OR}\)值之和解法这题全场\(A\)穿,然而我没想出来与运算和或运算在每一位上是独立的,考虑按位计算先...

2019-09-11 21:37:00 88

转载 9.8 斯派克

题意在坐标系中有\(n\)个矩形(保证矩形的四边平行于坐标轴),一个人起始位置在\((0,0)\),需要到达\((X_t,0)\),规定这个人不能穿过任何一个矩形(但可以贴着矩形的边界行走),求最短路线的长度\(n\leq 5\times 10^5\)解法首先有一种行走方式,可以保证最优解一定满足这种行走方式那就是:在遇到一个矩形时,贴着矩形的边界避开它。这里可以感性的理解一...

2019-09-11 21:06:00 116

转载 9.8 杰瑞

题意给定一个算式,这个算式有\(n\)个正整数,并有\(n-1\)个运算符符将其连接,且只有可能是\(+\)或\(-\)请给这个算式添加若干个合法的(这里的合法指的是数学中的合法)括号,使得这个算式的运算结果最大解法很有意思的一道题然而我并没有想出来首先把连续的用\(+\)号连接的正数合到一起,可以很方便的证明这样做对答案没有影响处理后的数组有如下的性质每个\(+\)...

2019-09-11 20:31:00 81

转载 「模板」可持久化线段树

题意你需要写一个数据结构,需要支持对一个长度为\(n\)的数组进行下面四种操作\(m\)次\(\tt{C \ l \ r \ d}\):区间\([l,r]\)中的数都加\(d\),同时新建一个历史版本\(T+1\)\(\tt{Q \ l \ r}\):查询当前版本的区间\([l,r]\)中所有数的和\(\tt {H \ l \ r \ t}\):查询第\(t\)个历史版本的区间...

2019-09-06 17:26:00 95

转载 CQOI 2015 任务查询系统

题意给定\(m\)个任务\((l,r,p)\),其中\((l,r)\)代表这个任务将于时间\([l,r]\)内进行,而\(p\)代表的是这个任务的优先级有\(n\)个询问\((x,k)\),每次询问在时间点\(x\)进行的所有任务按优先级从小到大排序,前\(k\)个任务的优先级之和强制在线解法求前\(k\)个数的和,我们想到主席树区间覆盖问题,我们想到差分众所周知主席树运...

2019-09-06 14:20:00 70

转载 Count On A Tree 1

题意给定一颗带点权有根树,每次查询两点之间路径上点权的第\(k\)大值解法求第\(k\)大?我们立刻想到主席树但是这是树上的问题,我们怎么进行操作呢?我们令每一颗主席树维护当前节点到根节点路径上的点权,那么每个点的主席树都由其父亲转移过来那么怎么查询\(x,y\)两个结点路径上的第\(k\)大点权呢?我们发现,想要获得\(x,y\)两个结点之间的路径对应的主席树,我们不能...

2019-09-05 22:25:00 64

转载 RMQ / mex

题意给出一个长为\(n\)的序列,有\(m\)个询问,每次询问\([l,r]\)区间内第一个没出现过的最小自然数(即求这个区间的\(mex\))解法和\(\tt {CCPC}\)网络同步赛的第二题\(\tt{array}\)很像同样也是对权值建树,每个权值保存一个位置但不同的是那一道题保证了它是一个排列,也就是\([1,n]\)每个数最多出现一次且一定会出现一次而这道题并没...

2019-09-04 16:32:00 89

转载 NOIp 2018 赛道修建

题意对于一颗有边权的无根树,用\(m\)条不相交的路径对其进行覆盖(不一定要将整棵树全部覆盖)一条路径的权值定义为组成这条路径的边的权值和使这\(m\)条路径中的最小路径的权值最大并输出这个最大值\(N\leq 5\times10^4,m\leq n-1\)解法这题与巫师的旅行(之前博客里有写)的思路很像!先二分答案,再在树上进行覆盖同样也是在父亲结点上完成对儿子的两两...

2019-09-03 21:15:00 190

转载 2019 CCPC 网络选拔 Kth-occurrence

题意给出一个字符串,每次询问其一个子串\([S_l,S_r]\)在原串中第\(k\)次出现所在的位置(开头位置)解法题意很简洁,思路也很简洁就是代码巨难打总之这道题还是让我很大程度上加深了对于\(SAM\)的认识啦,还去学了一下线段树合并首先,根据后缀自动机的性质我们能知道题目所要求的的实际上是\([S_l,S_r]\)所代表串所在后缀自动机的结点\(endpos\)集合...

2019-09-02 22:29:00 131

转载 2019 CCPC 网络选拔 array

题意给一个\(1\)到\(n\)的排列现在有\(m\)个操作,每个操作是下面的一种:\((1,pos)\),指把\(pos\)位上的数增加\(10,000,000\)\((2,r,k)\),询问操作,你需要输出一个数满足下列三个条件这个数不等于\(a_i(1\leq i \leq r)\)中的任意一个这个数不小于\(k\)是满足上两个条件的数中的最小的一个\(T\...

2019-09-02 22:04:00 117

转载 8.22 这一切都是命运石之门的选择

El Psy Congroo!题意给出一个长为\(n\)的数组\(a\),与一个长为\(m\)的数组\(b\)求数组\(a\)与数组\(b\)的最长公共上升子序列长度并输出任意一组方案\(1\leq n,m\leq 5000\)解法这题很有意思首先对于这类匹配问题,我们一般可以设\(f[i][j]\)表示\(a\)数组中考虑到\(a_i\)且\(a_i\)必须选,\(b...

2019-09-02 20:54:00 108

转载 8.29 我们自己的世界

题意给一个大小为\(N\)的数组\(A\),每次对数组进行如下的变换:\(B[i]=A[i]\oplus A[i+1]\)\(A[i]=B[i]\)这里的\(\oplus\)运算指异或我们会发现每次数组\(A\)的长度会减一,当数组\(A\)的长度减至一时,结束变换如果我们把每次变换后的\(A\)数组的第一项保存下来,记为\(A_0[1],A_1[1]...A_{n-1}...

2019-09-02 15:09:00 93

转载 8.22 约瑟夫问题

题意经典的约瑟夫问题\(n\)个人标号为\(0...n-1\)排成一圈,由第\(0\)个人开始报数,报到\(k\)的人去世求最后一个活下来的人是谁解法解法\(0\):模拟算法\(O(n^2)\)链表模拟删除即可入门题解法\(1\):线性算法\(O(n)\)int res = 0;for (int i = 1; i <= n; ++i) res = (re...

2019-09-02 13:05:00 124

转载 Atcoder Nikki Qual E Bridge

题意给一张无向图,点带权,边也带权要求在图中删去最少的边,使得对于每一条边,它所在连通块的点权之和大于其边权解法首先,看到题目里出现了删边,我们首先想到反向加边(如星球大战)那么最后的答案就是\(m-ans\),\(ans\)为加入的边考虑一个边权为\(w\)的边\(E(u,v)\)它是合法的,当且仅当\(u\)所在连通块与\(v\)所在连通块的点权之和大于\(w\)我...

2019-09-01 21:16:00 72

转载 Astar 2019 Quasi Binary Search Tree

题意给一颗\(n\)个点的二叉树,每个点被标上了\(1\)到\(n\)中不同的标号定义一棵树为伪二叉树当且仅当对于每个节点,其左子树所有节点的标号都小于它本身,右子树所有节点的标号都大于它本身;或是左子树所有节点的标号都大于它本身,右子树所有节点的标号都小于它本身现在有一颗未标号的树,请为其标号使它成为一颗伪二叉树。如果有多组解,请输出字典序最小的解,即比较\(1\)号点的标号,再...

2019-09-01 19:49:00 139

转载 Astar 2019 Transformation

题意给出一个二元组\((a,b)\)每一次可以将这个二元组变为\((2a-b,b)\)或\((a, 2b-a)\),问是否能够通过\(\geq 0\)次操作将其变成\((c,d)\)如果有,输出一组合法解。\(T\leq 8\times10^4,-10^{18}\leq a,b,c,d \leq 10^{18}\)解法这题很巧妙(然而没想到)但是考试时没调出来...细节有...

2019-09-01 10:43:00 64

转载 Astar 2019 Diversity

题意给一颗\(n\)个点的树,对于结点\(i\),你要给它标上一个\([l_i,r_i]\)之间的数,要求所有边两端节点上标的数字的差的绝对值的总和最大解法首先要有一个贪心的思路:对于一个点\(x\),它选择的权值一定是\(l_x\)或\(r_x\)为什么会这样呢?意会一下证明对于一个点,如果与它相连的点填的数都已经确定了,这些数会把该点的\([l,r]\)区间划分成一个个...

2019-09-01 09:57:00 68

转载 8.30 广泛交换意见

题意给一个长度为\(N\)的排列\(P\)与一个正整数\(K\),可以进行如下操作:对于两个满足\(|i-j|\geq K\) 且\(|P_i-P_j|=1\)的下标\(i\)和\(j\),交换\(P_i\)与\(P_j\)我们的目的是要求操作后的排列字典序最小解法首先,这两个条件都不好判断,直接做是不太好搞的考虑把这个数组映射一下(这好像是对于排列的一个常见套路?)令\...

2019-08-30 22:33:00 246

转载 8.30 树上最大流

题意给定一颗带权树,求一个排列\(P\),最大化\[\sum_{i=1}^{n-1}maxflow(P_i, P_{i+1})\]其中\(maxflow(x,y)\)为点\(x\)到点\(y\)之间的最大流解法结论题这个最大值就是所有边权的和,即所有情况中最优的一种证明这个解是所有解中最优的:考虑最小的边连接的两个子树最优的\(P\)一定只经过改变一次(如果经过...

2019-08-30 19:37:00 100

转载 8.30 巫师之旅

题意给出一张\(n\)个点\(m\)条边的无向图,定义一次旅行为任选一个点\(x\)作为起点,再走到一个与\(x\)直接连接的点\(y\),再走到一个与\(y\)直接连接的点\(z\)结束本次旅行要求每条边(无向边)只能被经过一次,而点没有限制请计算出可能进行的最多的旅游次数并输出其中任意一种方案解法这题考试时想出来了,但打得代码又臭又长。。可以玩一玩,发现对于一个连通块,...

2019-08-30 17:49:00 64

空空如也

空空如也

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

TA关注的人

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