![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【算法】分治
文章平均质量分 80
cz_xuyixuan
这个作者很懒,什么都没留下…
展开
-
【CodeForces438E】The Child and Binary Tree
【题目链接】点击打开链接【思路要点】按照题解的做法,我们可以通过多项式开根、多项式求逆来求解本题。(但是我不会,也不想学)我们来考虑一种比较容易的做法,首先:$$dp_s=\sum_{c_i+j+k=s}dp_j*dp_k$$也就是说,我们只有知道了\(s\)较小的\(dp\)值,才能计算出\(s\)较大的\(dp\)值。考虑分治,对于区间\([L,R]\),令\(Mid=\lfloor\frac...原创 2018-03-13 18:28:05 · 243 阅读 · 0 评论 -
【LOJ2554】「CTSC2018」青蕈领主
【题目链接】 点击打开链接 【思路要点】 值域连续的区间的交和并均为值域连续的区间,因此一个合法输入应当能够构成一个树形结构。 考虑一个节点的子树,其对应的区间值域连续,且在后续的考虑中,我们会避免使其出现在更大的连续区间中,因此我们可以等效地将其看做一个数。 因此,记 fif_ifi 表示长度为 i+1i+1i+1 的,去掉最后一个元素后不存在非平凡连续区间的排列个数, sis_i...原创 2019-04-19 21:25:43 · 739 阅读 · 2 评论 -
【USACO】2019 February Contest, Platinum题解
**【T1】**Cow Dating 【题目链接】 点击打开链接 【题解链接】 点击打开链接 【思路要点】 考虑如何快速计算一个区间 [l,r][l,r][l,r] 的价值。 定义二元组 (x,y)(x,y)(x,y) 来描述一个区间, xxx 表示区间中恰好有一个关键点的概率, yyy 表示区间中没有关键点的概率。显然,对于两个区间 (x1,y1),(x2,y2)(x_1,y...原创 2019-02-27 10:33:59 · 1250 阅读 · 1 评论 -
【CodeForces553E】Kyoya and Train
【题目链接】 点击打开链接 【思路要点】 考虑一个暴力 dpdpdp ,记 dpi,jdp_{i,j}dpi,j 表示在点 iii 处,时刻 jjj 最优决策的期望花费。 则有 dpi,j={x+dist(i,N)j>T0i=N,j≤TMini⇒e∈E{costi,e+∑k=1tpi,e,k∗dpe,j+k}i≠N,j≤Tdp_{i,j}=\left\{\begin{a...原创 2018-11-19 12:30:06 · 422 阅读 · 0 评论 -
【CodeForces】Avito Code Challenge 2018 (Div. 1 + Div. 2) 题解
【比赛链接】 点击打开连接 【题解链接】 点击打开链接 **【A】**Antipalindrome 【思路要点】 当所有字符相同,答案为 000 。 否则,若原串为回文串,删去其最后一个字符一定会使其变成非回文串,因此答案为 N−1N-1N−1 ,否则答案为 NNN 。 时间复杂度 O(N)O(N)O(N) 。 【代码】 #include<bits/stdc++.h...原创 2018-10-25 19:56:20 · 369 阅读 · 0 评论 -
【BZOJ2369】区间
【题目链接】 点击打开链接 【思路要点】 我们发现选取三个及以上个数的区间是没有意义的,因为首先我们选取的所有区间需要是有交的,这便意味着所有区间的并由左端点最靠左的区间和右端点最靠右的区间直接确定,删去其余的区间不会使区间的并或区间的交减少,因此我们可以认为我们只会选取两个区间。 我们选取的两个区间的关系有可能是包含或相交。 考虑有包含关系的区间A,...原创 2018-07-11 15:19:46 · 262 阅读 · 0 评论 -
【BZOJ2687】交与并
【题目链接】 点击打开链接 【双倍经验连接】 【BZOJ2369】区间 【思路要点】 我们发现选取三个及以上个数的区间是没有意义的,因为首先我们选取的所有区间需要是有交的,这便意味着所有区间的并由左端点最靠左的区间和右端点最靠右的区间直接确定,删去其余的区间不会使区间的并或区间的交减少,因此我们可以认为我们只会选取两个区间。 我们选...原创 2018-07-11 15:22:35 · 779 阅读 · 0 评论 -
【BZOJ4899】记忆的轮廓
【题目链接】 点击打开链接 【思路要点】 预处理出costi,jcosti,jcost_{i,j}表示存档点i,ji,ji,j之间不存在其它存档点时,从iii走到jjj的期望步数。 问题可以由DP解决:记dpi,jdpi,jdp_{i,j}表示从初始状态到第一次达到已经设置了iii个存档点,第iii个存档点设置在了jjj处的期望步数。 显然有 ...原创 2018-07-11 20:24:23 · 575 阅读 · 0 评论 -
【BZOJ4519】【CQOI2016】不同的最小割
【题目链接】 点击打开链接 【思路要点】 GomoryHu-Tree模板题。 时间复杂度O(N∗Dinic(N,M))O(N∗Dinic(N,M))O(N*Dinic(N,M))。 【代码】 #include&lt;bits/stdc++.h&gt; using namespace std; #define MAXN 1005 ...原创 2018-07-03 11:20:38 · 215 阅读 · 0 评论 -
【LOJ2320】「清华集训 2017」生成树计数
【题目链接】点击打开链接【思路要点】由于场。时间复杂度\(O(DC^2+D^2+TD^2LogN)\),其中\(C=165,D=146\)。【代码】#include<bits/stdc++.h> using namespace std; const int MAXM = 65; const int MAXN = 262144; const int MAXLOG = 20; const ...原创 2018-06-24 20:43:36 · 1805 阅读 · 3 评论 -
【BZOJ1941】【SDOI2010】Hide and Seek
【题目链接】点击打开链接【思路要点】用KDTree做的话就是模板题了,时间复杂度\(O(N\sqrt{N})\)。正解应该是分治。【代码】#include<bits/stdc++.h> using namespace std; #define MAXN 500005 #define INF 1e9 template <typename T> void read(T &...原创 2018-04-23 19:53:09 · 288 阅读 · 0 评论 -
【LOJ575】「LibreOJ NOI Round #2」不等关系
【题目链接】 点击打开链接 【思路要点】 见 官方题解 。(反正也是我写的) 时间复杂度 O(NLog2N)O(NLog^2N)O(NLog2N) 。 【代码】 #include<bits/stdc++.h> using namespace std; const int MAXN = 262144; const int P = 998244353; typedef l...原创 2019-07-07 20:03:40 · 1281 阅读 · 0 评论