摘要:
1.将军令 给定一棵树,如果树上的两点 a,b,dis(a,b)≤k,则称 a 支配 b,选择一个集合 S,使得树上任意的一个点 x,都能找到 y∈S,使得 x 被 y 支配,求 |S| 的最小值。 任意选定一个点为根,考虑当前 阅读全文
摘要:
群论相关 群 群的定义:G 为一个非空集合,对 G 的元素定义二元乘法,要求满足 1. 封闭性 2. 结合律 3. 幺元 4. 逆元 则称 G 为一个群。 如果群 G 满足交换律,则称 G 为阿贝尔群。 置换 阅读全文
摘要:
CDQ分治:考虑前一半修改对后一半询问的贡献,修改整体性( 修改块 )、修改对询问的贡献独立、修改互不影响。 整体二分:基于值域分治,修改整体性( 修改块 ),单调性(可二分性)、询问可减性(K大)。 二进制分组:对时间倍增,在线算法,以2048原则建立 修改块 ,修改整体性,询问可加性。 线段树分 阅读全文
摘要:
## 题面 https://darkbzoj.tk/problem/4543 给定一棵 n 个点的树,找三个点,让它们在树上的距离相等,求方案数。 n≤100000 ## 题解 恕我直言,这道题真的很难。 首先原题是 n≤5000 的,咋做都行, 阅读全文
摘要:
题面 https://www.luogu.org/problem/P2522 题解 Möbius\ inversion的第一题,作为新的开始。 话说我们通常使用的式子是$$g(x)=\sum_{x|d}{f(d)} \Leftrightarrow f(x)=\sum_{i \ge 1}{\mu( 阅读全文
摘要:
题面 https://www.luogu.org/problem/P3959 题解 考场上写的最暴力的状压dp,计算量是2e8级别的,但是Van的评测机非常没有信仰,发现只有80pts(只比真暴力多了10分)。。。。 注意到层与层之间的转移是独立的。 设$F[i][S0][S1] 阅读全文
摘要:
题面 https://www.luogu.org/problem/P1600 题解 树链剖分+对每条重链分治+桶。 注意:树链剖分求LCA,跳矮(重链顶端的高矮)返高。 #include<vector> #include<cstdio> #include<cstring> #includ 阅读全文
摘要:
题面 https://www.luogu.org/problem/P5024 题解 写这道题的时候写了3个暴力(n,m \le 2000,A,B),结果都挂了。。。。。 考场暴力: #include<cstdio> #include<cstring> #include<iostream> # 阅读全文
摘要:
题面 https://www.luogu.org/problem/P4827 题解 复习一波斯特林数。 n^k=\sum_{i=0}^{k}C_n^i i! S2(k,i) 这个式子的组合含义是把k个有区别的球放到n个有区别的盒子里,枚举哪几个盒子为空,再给不为空盒子的分配顺序。 $ 阅读全文
摘要:
题面 https://www.luogu.org/problem/P3349 题解 很好听的题目名字,很优美的思路。 设f[x][y][S]为树上的x点对应图上的y点,x的子树对应了图上S的子集。枚举子集转移即可。 但是这样大概是O(3^nn^3)的,是跑不过去的。 $\mb 阅读全文
摘要:
题面 https://www.luogu.org/problem/P3736 题解 首先,要是长度>=k,合并了肯定比不合并更优。 进一步的,区间[l..r]的字符,合并的长度是确定的,为(r-l)\%(m-1)+1。 可以设f[l][r][v]为区间[l..r]的字符,变成$v 阅读全文
摘要:
题面 https://www.luogu.org/problem/P1864 题解 首先离散化优先级。 首先按权值排序,得到dfs序,一棵子树对于dfs序上一段区间,区间dp的经典模型。 设F[k][l][r]为对于[l..r]的元素,它们形成一棵二叉查找树,并且根节点的优先级$ 阅读全文
摘要:
题面 https://www.luogu.org/problem/P4563 题解 一步杀神仙题。 首先,对于一段区间[l..r],r必须选。 r选以后,能被看到的元素必然是和r斜率的后缀最小值。 根据\mbox{Gloid}爷的神仙性质,对于一段不能被看到的区间[x..y] 阅读全文
摘要:
题面 https://www.luogu.org/problem/P5469 题解 这里,我们只考虑50pts的区间dp做法。 因为最大值把区间劈成互不影响的两端,我们可以用类似分治的思想设计dp,解决这个问题。 设f[l][r][x]为[l..r]的最大值为x的方案数,转移 阅读全文
摘要:
题面 https://loj.ac/problem/2292 题解 跟\mbox{Gloid}爷做的一道神仙区间dp。 我们发现每一次取出的区间一定要么不交要么完全覆盖的。可以看成构成了一个树的dfs序的结构,这也许和【NOI2009】二叉查找树之间有些关系。 不难发现每次的代价只与最小 阅读全文
摘要:
1、前15-30分钟,读题,手玩小样例,(问问题),三题看懂之后,再决定做题的顺序,从自己看从易到难。2、前2h之内(对于高水平选手,前1h),不直接写100分做法,把显然的暴力写完,拿保底分。3、最后1h30min,写正解,交正解和暴力的混合版。4、不死磕一道题,思考到$10- 阅读全文
摘要:
Contest1 by zhx 1.T1 逐位贪心,检验时写的完全错误不知所云。。。。2.T2 最后10pts 读入long long但是read函数返回值是int(下次不用read了)3.T3 神仙脑筋急转弯,我当场A了,有且仅有四个角即可。 Contest2 阅读全文
摘要:
题目 https://www.luogu.org/problem/P1654 题意 给定每个位置为1的几率,一段长度为x的连续的并且极大的1对得分的贡献为x^3,求得分的期望。 题解 显然,我们可以换一种统计答案的方式,把贡献分给每个极长的前缀1,设在序列的第i个位置时,这个 阅读全文
摘要:
题面 https://www.luogu.org/problem/P3233 题解 我构思和实现这道题写了很长世界,事实上,一开始就想好的话,不需要花费如此长的时间的。 只对关键点和关键点的lca建一个虚树。 定义虚树上的每个点的控制范围是只走不经过虚树路径上的点,能够到达的点集,这个可以建出虚 阅读全文
摘要:
题面 https://www.luogu.org/problem/P3343 题解 一个几乎显然的暴力做法,枚举每一条边的大小关系,跑Kruskal,算出最长的边是第几小的,然后利用“对于n个[0..1]之间的随机变量x_1,x_2,...,x_n,第k小的那个的期望值是$\fr 阅读全文
摘要:
https://blog.csdn.net/qq_34454069/article/details/80517064 阅读全文
摘要:
题面 https://www.luogu.org/problem/P3600 题解 洛谷试炼场里“概率期望”的题,我写了4个,这应该是第5个。 我查了一下,这是有出处的。见【洛谷2017春节联欢赛】Hello Dingyou 是这场比赛的F题,说明在这场比赛中还是一道很难的题。 但从$C 阅读全文
摘要:
题目 https://www.luogu.org/problem/P1232 题意简述 给定一棵树的dfs序和bfs序,求它深度的期望。 题解 首先,显然的,以bfs序为自然排列,对dfs序做一次置换。 其次,我们知道,要对bfs序做划分,连续的一组代表这些节点的深度都是一样的, 阅读全文
摘要:
题面 https://www.luogu.org/problem/P2221 题解 其实我认为这道题还挺难的。。。。虽然是道水题罢了。 这道题让我自闭了两次,可见我现在学习状态之差,整个题从思考到写出来竟然花了下午的一个小时和一个晚上的时间。 马上的NOIP,如果还是以这种状态,肯定是考不好的。 阅读全文
摘要:
题面: 给定n个店铺的种类t_i、地点x_i和时间区间[a_i..b_i]。 询问某时某地的“便利度”,“便利度”定义为所有种类的距离最大值,种类的距离是该时间下,所有此类商店到该地点的距离最小值。 题解: 说实话,这个二分答案其实挺不好想的。(一开始看了题解,再回过头来看,才意识到 阅读全文
摘要:
这道题是一个月之前就应该会的了,但是一直没有弄懂,今天回放了一遍,把它弄懂了。 题意简述: 一个操作是把位于[l..r]的所有元素x变换成(ax+b)\%m。 强制在线,每次定义一个新的操作,或是询问只作用变换l..r则位于k位置的元素应该变成多少。 题解: 这道题很神仙,应用的 阅读全文
摘要:
题意简述: 求原点到点P(n+m+1,n),并且不能经过(或跨越)直线A:y=x+1和B:y=x-(m+2)的路径条数。 题解: 这道题应该可以算是格路计算问题的巅峰了吧。 首先,我们把P点沿A进行翻折,记为P',从原点到P'的路径条数就是“从原点到P,一定经过(或跨 阅读全文
摘要:
1、【BZOJ1493】【NOI2007】项链工厂 已经是十二年之前的NOI了,现在看来古人们学的东西我都不会。 一个环,每个元素有颜色,六种操作。 Rotate\ k:将项链顺时针旋转k个单位。即原i位置变成现在i+k位置。 Flip:将项链沿指定对称轴翻转,即将项链的$i 阅读全文
摘要:
1、【BZOJ2115】Xor(线性基) 给一个无向联通图,边有边权,求从1到n异或和最大的路径。 yyb的做法和我的一样,然而我不会证明。 dfs的过程中,分别考虑简单单位环(返祖边所在的环)的贡献和路的贡献。环的贡献扔到线性基里,然后把1~n的路径的贡献丢到线性基里求最大就行 阅读全文
摘要:
1、Peaks加强版(Kruskal重构树,主席树) Kruskal重构树的模板题。 Kruskal重构树:在合并两个联通块的时候,建一个新点,当原来两个代表元的父亲,作为新联通块的代表元。 查询的时候在叶子上跳到能到达的最远祖先,在叶子的dfs序里面查k大就行了。 2、【LOJ#6 阅读全文
摘要:
1、【luogu4921】情侣,给我烧了: 我们这里只讨论直接算代替容斥的做法。 n个情侣,恰好有k个不和谐,枚举是哪k个,C_n^k。坐在哪些位置上,C_n^k。确定先后关系(为下面算f埋下伏笔),2^n。确定顺序,k! (n-k)!。 剩下还要求i对情侣,已经 阅读全文
摘要:
题目分三种,一种是gyfan上课讲的,一种是yyb一年之前做的,一种是aysn现在做的。而我的水平介于第二种和第三种之间。 1、【BZOJ1926】粟粟的书架(前缀和、主席树): 对于多行多列的情况,我们要维护一个多维的前缀和。 value_{i,j,k} 从(1,1)到$(i, 阅读全文
摘要:
1、罗马游戏: 左偏树模板。 小根堆:合并选小的做根,记为r1,然后把r2合并到r1右边(原r1左边长,右边短),然后更新父亲,判断长度关系交换儿子,更新长度。 删除用fhq\_treap的删除方式。 查找用并查集的方法,但是不带路径压缩。 2、棘手的操作: 联通块内最小值用左偏 阅读全文
摘要:
题面 https://www.luogu.org/problem/P1450 题解 先完全背包,再考虑限制,容斥算一下就可以了。 阅读全文
摘要:
一个广为流传的trick,然而我现在才学会。 题面 https://www.luogu.org/problem/P1641 题解 在任意的前k个字符中,1的个数必须大于等于0的个数。 我们把放一个1视为向右走一步,放一个0视为向上走一步,现在答案就转换为从(0,0)开始,走到$(n, 阅读全文
摘要:
题面 https://www.luogu.org/problem/P3321 题解 首先贡献是f[a_ib_i]+=f1[a_i]\times f2[b_i],用原根变成f[a_i+b_i]+=f1[a_i]\times f2[b_i],即形成一个新的映射。 开个桶,即求这个多项式的n次 阅读全文
摘要:
题面 https://www.luogu.org/problem/P4546 题解 泰勒展开一般函数转多项式,LCT维护多项式。 阅读全文
摘要:
题面 https://www.luogu.org/problem/CF932E 题解 先交换求和号、把S2(i,j)中j>i的部分去掉、再对角线替换、最后配个对i来说的“常数”,就把式子变成一个组合数了。 阅读全文
摘要:
题面 https://www.luogu.org/problem/P3330 题解 概率=合法方案除以总方案。 首先总方案数是k^n(每个人可以抽到任意一个位置) 先假设k可以到1,也就是形成了一个环,如果这样,是一定有解的。 在k和1之间加一个座位k+1,如果k+1上坐 阅读全文
摘要:
题面 https://www.luogu.org/problem/P3158 题解 首先,对于此题,不同的行列之间应该是独立的(因为每一行每一列只能放一种颜色) 一些同色棋子对它们所在的行和列是支配的关系。 设F[i][j][k]为考虑了前i种颜色,它们支配了i行j列的方案数。(这里 阅读全文