
【算法】分类讨论
文章平均质量分 72
cz_xuyixuan
这个作者很懒,什么都没留下…
展开
-
【BZOJ5253】【2018多省省队联测】制胡窜
【题目链接】点击打开链接【思路要点】首先,一个询问的答案只和询问串的在主串中所有出现的位置有关。直接求解所有出现位置显然会超时,一种可行的方法是用离线询问+后缀自动机(树)+线段树合并来维护出现位置的右端点集合。先解决一个小问题:定位一个询问可以在后缀树上倍增在\(O(LogN)\)的时间内完成。现在我们有了一棵维护着所有询问串出现位置的右端点的线段树,考虑如何得到答案。考虑计算出所有的两个断点把...原创 2018-04-10 17:32:40 · 968 阅读 · 2 评论 -
【AtCoder】AtCoder Grand Contest 035 题解
【比赛链接】点击打开链接【题解链接】点击打开链接【A】 XOR Circle【思路要点】题目给出的要求等价于相邻的三个数异或和为 000 。特判全部 aia_iai 均为 000 的情况,这种情况是有解的。否则,如果确定 1,21,21,2 号位置为 a,ba,ba,b ,则 333 号位置一定为 a⊕ba\oplus ba⊕b , 444 号位置一定为 aa...原创 2019-08-04 18:25:14 · 547 阅读 · 2 评论 -
【省内训练2019-06-30】Gene
【思路要点】本质不同的基因共有 999 种,即父本母本可以为 00,01,1100,01,1100,01,11 。分类考虑各种基因的影响,作用不同的共有 555 类000 、可以导致 x,yx,yx,y 均减少 111 ,答案增加 111111 、可以导致 x,yx,yx,y 均减少 111 ,答案增加 0.750.750.75222 、可以导致 xxx 减少 111 ,答案增加 0...原创 2019-06-30 14:06:44 · 224 阅读 · 0 评论 -
【LOJ2722】「NOI2018」情报中心
【题目链接】点击打开链接【思路要点】考虑特殊性质 S2S2S2 ,如下图,可以发现两条蓝-绿路径形成的链并的大小的两倍为 两条链长之和 +++ 蓝点之间的距离 +++ 绿点之间的距离 。枚举蓝点的 LcaLcaLca ,即图中的红点,那么我们需要选出两个不属于同一个红点的子树的蓝点 a,ba,ba,b ,使得它们对应的绿点 pa,pbp_a,p_bpa,pb 满足最大的总...原创 2019-06-27 20:33:28 · 770 阅读 · 0 评论 -
【LOJ2252】「ZJOI2017」多项式
【题目链接】点击打开链接【思路要点】模 222 意义下,多项式平方相等于将每一项的指数翻倍。我们需要维护一些关于字符串 SSS 的信息,使得其能够进行 “指数翻倍” 和 “指数翻倍并乘以原多项式” 的操作。首先考虑测试点 6,7,86,7,86,7,8 。考虑维护字符串 SSS 中 ∣S∣−17|S|-17∣S∣−17 个长度为 181818 的字符串中,每一种字符串的个数...原创 2019-06-26 14:27:21 · 1008 阅读 · 0 评论 -
【校内训练2019-06-18】幻方
【思路要点】给出结论,答案为 (1+[N=4,M%2=0])×MN(N−2)(1+[N=4,M\%2=0])\times M^{N(N-2)}(1+[N=4,M%2=0])×MN(N−2)考虑空出 (1,1),(1,2),(1,3),…,(1,N−1),(2,1),(3,1),…,(N−1,1),(N,2),(2,N)(1,1),(1,2),(1,3),\dots,(1,N-1),(2,1...原创 2019-06-18 15:03:51 · 361 阅读 · 0 评论 -
【校内训练2019-06-18】再放送
【思路要点】树形 dpdpdp ,记 ansi,0/1ans_{i,0/1}ansi,0/1 表示仅考虑 iii 为根的子树(即删除 iii 的父边),且 iii 点被经过了 1/21/21/2 次,子树内的点均未被经过时,答案的期望。显然 ansi,1=1d∑x∈s(i)ansx,0ans_{i,1}=\frac{1}{d}\sum_{x\in s(i)}ans_{x,0}ansi,1...原创 2019-06-18 14:45:02 · 308 阅读 · 0 评论 -
【LOJ2570】「ZJOI2017」线段树
【题目链接】点击打开链接【思路要点】对于区间 [l,r][l,r][l,r] ,考虑 [l−1,l−1][l-1,l-1][l−1,l−1] 对应的点 xxx 和 [r+1,r+1][r+1,r+1][r+1,r+1] 对应的点 yyy ,记 LcaLcaLca 为 x,yx,yx,y 的最近公共祖先。若 xxx 到 LcaLcaLca 链上的某个点具有不在该链上的右儿子,则该...原创 2019-06-26 09:56:12 · 446 阅读 · 0 评论 -
【CodeForces】CodeForces Global Round 3 题解
【比赛链接】点击打开连接【题解链接】点击打开链接【A】 Another One Bites The Dust【思路要点】答案为 2c+2min{a,b}+[a≠b]2c+2min\{a,b\}+[a\ne b]2c+2min{a,b}+[a̸=b]。时间复杂度 O(1)O(1)O(1) 。【代码】#include<bits/stdc++.h>...原创 2019-06-03 13:48:09 · 766 阅读 · 0 评论 -
【AtCoder】AtCoder Grand Contest 032 题解
【比赛链接】点击打开链接【题解链接】点击打开链接【A】 Limited Insertion【思路要点】考虑时间倒流,对于一个位置 iii ,若 ai=ia_i=iai=i ,则可以将其删去,问是否能将序列删空。不难发现每次删除最大的 iii ,使得 ai=ia_i=iai=i 是唯一的最优策略,模拟之,若无法操作则无解。时间复杂度 O(N2)O(N^2)O(...原创 2019-03-26 17:03:00 · 778 阅读 · 0 评论 -
【CodeForces】CodeForces Global Round 1 题解
【比赛链接】点击打开连接【题解链接】点击打开链接**【A】**Parity【思路要点】分 bbb 的奇偶性讨论即可。时间复杂度 O(k)O(k)O(k) 。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN = 2e5 + 5;typedef long long l...原创 2019-02-14 13:55:38 · 919 阅读 · 2 评论 -
【BZOJ3474】ZZB的数学作业
【题目链接】点击打开链接【思路要点】分类讨论的奇怪题,感觉说不太清楚,不会的看代码吧。时间复杂度\(O(1)\)。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN = 100005;template <typename T> void chkmax(T &x, T y) {x = max...原创 2018-04-03 15:09:01 · 214 阅读 · 0 评论 -
【AtCoder】AtCoder Grand Contest 036 题解
【比赛链接】点击打开链接【题解链接】点击打开链接【A】 Triangle【思路要点】注意到对于任意一个格点三角形,我们都可以找到一个点,将其平移至原点处后,另外两个点在同一象限内,或在该象限相邻的坐标轴上。因此,可以不失一般性地假定一个点在 (0,0)(0,0)(0,0) 处。令另外两点的坐标为 (x,y),(a,b)(x,y),(a,b)(x,y),(a,b)...原创 2019-08-09 21:08:44 · 499 阅读 · 0 评论