cz_xuyixuan的博客

当我跨过沉沦的一切,向永恒开战的时候,你是我的军旗。

排序:
默认
按更新时间
按访问量

【CodeForces487E】【UOJ30】Tourists

【题目链接】CodeForcesUOJ【思路要点】首先我们来证明点双连通分量的一个性质。引理:在一个点双连通分量中,给定任意三个不同的点\(a\),\(b\),\(c\),一定存在一条从\(a\)到\(c\)的,经过每个点至多一次的简单路径经过了\(b\)。证明:考虑网络流。在原图中存在无向边的点...

2018-05-20 11:00:27

阅读数:4

评论数:0

【CodeForces】CodeForces Round #483 (Div. 1 + Div. 2) 题解

【比赛链接】Div. 1Div. 2【题解链接】点击打开链接【Div.2 A】Game【思路要点】排序,取中位数为答案。时间复杂度\(O(NLogN)\)。【代码】#include<bits/stdc++.h> using namespace std; ...

2018-05-17 14:30:35

阅读数:31

评论数:0

【CodeForces】CodeForces Round #477 (Div. 1 + Div. 2) 题解

【比赛链接】Div. 1Div. 2【题解链接】点击打开链接【Div.2 A】Mind the Gap【思路要点】从小到大枚举答案,检查合法性。时间复杂度\(O(Ans*N)\)。【代码】#include<bits/stdc++.h> using nam...

2018-05-07 20:04:26

阅读数:29

评论数:0

【CodeForces】CodeForces Round #476 (Div. 2) 题解

【比赛链接】点击打开链接【题解链接】点击打开链接【A】Paper Airplanes【思路要点】按照题意计算即可。时间复杂度\(O(1)\)。【代码】#include<bits/stdc++.h> using namespace std; const i...

2018-05-01 19:28:18

阅读数:26

评论数:0

【CodeForces452E】Three strings

【题目链接】点击打开链接【思路要点】建立多串后缀树,每个节点对答案数组的贡献可以描述为一次区间加操作,差分+前缀和即可。时间复杂度\(O(\sum|S|)\)。【代码】#include<bits/stdc++.h> using namespace std...

2018-04-29 13:49:50

阅读数:39

评论数:0

【CodeForces】CodeForces Round #475 (Div. 1 + Div. 2) 题解

【比赛链接】Div. 1Div. 2【题解链接】点击打开链接【Div.2 A】Splits【思路要点】由于我们希望得到尽可能不同的权值,我们可以考虑在拆分的开头放置若干个2,然后放1填补剩余的数字。不难发现答案等于\(\lfloor\frac{N}{2}\rfloor+1\)。时间复杂度\(O(1...

2018-04-28 20:39:40

阅读数:41

评论数:0

【CodeForces605C】Freelancer's Dreams

【题目链接】点击打开链接【思路要点】显然有如下线性规划:$$ \left\{\begin{aligned}Minimize\quad \sum_{i=1}^{N}x_i\\Constraints\quad \sum_{i=1}^{N}a_ix_i≥p \\Constraints\quad \sum...

2018-03-31 16:41:49

阅读数:39

评论数:0

【CodeForces666E】Forensic Examination

【题目链接】点击打开链接【思路要点】这个题写得我很爽啊。想法其实不难,建立多串后缀树,然后将询问离线,用线段树合并来回答询问。后缀的前缀是子串,母串的一个子串可以通过从后缀树上某个表示母串对应后缀的节点向上倍增得到。时间复杂度\(O(|S|Log|S|)\)(\(|S|\),\(Q\),\(M\)...

2018-03-31 11:15:35

阅读数:35

评论数:0

【CodeForces906D】Power Tower

【题目链接】点击打开链接【思路要点】欧拉拓展定理:\(a^{\phi(n)}\equiv a^{2\phi(n)}(Mod\ n)\)。而\(\phi(\phi(n))<\frac{n}{2}\)(\(\phi(奇数)=偶数\),\(\phi(偶数)≤\frac{偶数}{2}...

2018-03-23 15:51:03

阅读数:22

评论数:0

【CodeForces232D】Fence

【题目链接】点击打开链接【思路要点】单独考虑长度为1的询问,显然答案为\(N-1\),否则,我们将原序列和询问序列差分,问题等价于我们需要找到原序列差分后的序列中与询问序列差分后的序列“相等”(这里的“相等”指对应位置互为相反数),且出现位置与询问位置不重合的子串个数。我们可以将原差分序列倍长,对...

2018-03-15 15:20:45

阅读数:30

评论数:0

【CodeForces204E】Little Elephant and Strings

【题目链接】点击打开链接【思路要点】建立多串的后缀树,如果一个节点的子树内出现超过K种字符串的结尾,那么这个节点的父边上所有的字符串是合法的,这个节点的父边上字符串的个数就是这个节点的深度减去其父亲的深度,否则记为0。判断一个节点的子树内是否出现超过K种字符串的结尾可以将后缀树进行DFS序重标号,...

2018-03-15 13:24:09

阅读数:64

评论数:0

【CodeForces149E】Martian Strings

【题目链接】点击打开链接【思路要点】正反建立两个后缀自动机,并正反匹配每个模式串,记录每一个模式串的前缀至少是多长的母串前缀的后缀,以及每一个模式串的后缀至少是多长的母串的后缀的前缀,然后枚举左右两段的长度判断即可。注意特判模式串长度为1的情况。时间复杂度\(O(N+\sum|S|)\)。【代码】...

2018-03-15 10:34:50

阅读数:26

评论数:0

【CodeForces123D】String

【题目链接】点击打开链接【思路要点】用后缀树做就是一道模板题了,官方题解给的做法应该是后缀数组的。时间复杂度\(O(|S|)\)。【代码】#include<bits/stdc++.h> using namespace std; const int MAX...

2018-03-14 15:53:23

阅读数:34

评论数:0

【CodeForces86C】Genetic engineering

【题目链接】点击打开链接【思路要点】考虑在AC自动机上DP,先建出AC自动机。记\(dp_{i,j,k}\)表示当前字符串共有\(i\)位,其在AC自动机上匹配的节点为\(j\),并且这个字符串的最后\(k\)位还没有被任何\(s\)中的字符串覆盖的字符串个数。转移只需要考虑向\(j\)的每个出点...

2018-03-14 15:00:46

阅读数:25

评论数:0

【CodeForces19C】Deletion of Repeats

【题目链接】点击打开链接【思路要点】考虑一个以\(s_i\)结尾的字符串是否可能被当做“repeats”删除,枚举\(s_j=s_i,j>i\),令\(len=j-i\),如果以\(i\)结尾的\(len\)个字符与以\(j\)结尾的\(len\)个字符相同,那么有可能会被当...

2018-03-14 13:45:37

阅读数:33

评论数:0

【CodeForces472G】Design Tutorial: Increase the Constraints

【题目链接】点击打开链接【思路要点】先写一发bitset交上去试试,时间复杂度\(O(\frac{NQ}{w})\),其中\(w=64\),结果是T了,大概要12s才能跑出满数据。正解是分块FFT,令分块大小为\(Size\),进行\(O(\frac{N}{Size})\)次FFT,处理出\(O(...

2018-03-14 10:44:17

阅读数:35

评论数:0

【CodeForces438E】The Child and Binary Tree

【题目链接】点击打开链接【思路要点】按照题解的做法,我们可以通过多项式开根、多项式求逆来求解本题。(但是我不会,也不想学)我们来考虑一种比较容易的做法,首先:$$dp_s=\sum_{c_i+j+k=s}dp_j*dp_k$$也就是说,我们只有知道了\(s\)较小的\(dp\)值,才能计算出\(s...

2018-03-13 18:28:05

阅读数:33

评论数:0

【CodeForces300D】Painting Square

【题目链接】点击打开链接【思路要点】首先,很重要的一点:“The bear chooses some row and some column inside the chosen square.”一句中,“Some”一词应译为“某个”而不是“一些”。很显然,只有边长为大于等于3的正方形能被操作,并且...

2018-03-13 12:37:27

阅读数:21

评论数:0

【CodeForces286E】Ladies' Shop

【题目链接】点击打开链接【思路要点】首先,如果问题有解,必定存在一组解为\((a_1,a_2,...,a_N)\),这一点是充要的。充分性显然,对于必要性,我们假设问题有解,令这组解为\((p_1,p_2,...,p_k)\),但\((a_1,a_2,...,a_N)\)不是一组合法的解,即\((...

2018-03-13 11:01:50

阅读数:25

评论数:0

【CodeForces632E】Thief in a Shop

【题目链接】点击打开链接【思路要点】NNT+快速幂即可。本题测试点20会卡NNT模数998244353,建议使用双模数。时间复杂度\(O(N+K*Max\{A_i\}LogK*Max\{A_i\})\)。【代码】#include<bits/stdc++.h&g...

2018-03-12 19:27:42

阅读数:34

评论数:0

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