posted @ 2018-08-14 23:37
尹吴潇
阅读(101)
推荐(0)
摘要:
题解: 洛谷上这两题的题意都是有问题的 按照标程题意不应该是开区间而是左开右闭区间 然后连边比较巧妙 我们可以看成选k条不相交的路径,其中i-i+1中有k条边 所以建图i-i+1流量为k,权值为0 li-ri流量为1,权值为-v 答案取反就可以了 第二道题存在区间[x,x]的情况 所以应该将其拆点
阅读全文
posted @ 2018-08-14 23:36
尹吴潇
阅读(213)
推荐(0)
摘要:
题解: 第一问裸的最小割 第二问考虑贪心 我们把边权平均分配给两个点 然后就变成了给n个数分两组差最小 np-hard问题 暴力背包,操作存在区间左移,右移,or bieset优化
阅读全文
posted @ 2018-08-14 16:28
尹吴潇
阅读(149)
推荐(0)
摘要:
题意: 给你一个排列pi,问你有对少个区间的值域段是连续的。 n≤3e5 题解: bzoj3745
阅读全文
posted @ 2018-08-14 14:59
尹吴潇
阅读(252)
推荐(0)
摘要:
题解: 首先暴力很显然 f[i][j]表示到第i个位置,串匹配到j 这样每次是n^2的 我们假设每个位置匹配的第一个位置 然后从这个到上一个位置一定不能等于这个串的值 ans=simga{i,C(i-1,k-1)*25^(i-k)*26^(n-i)} 这样可以做到O(tn) 但是发现一个比较xx的性
阅读全文
posted @ 2018-08-14 14:29
尹吴潇
阅读(261)
推荐(0)
摘要:
题解: 不错的题目 首先要求的黑点个数非常多 比较容易想到矩阵乘法 于是我们可以求出从某个黑点出发到任意一个黑点之间的概率 发现不同出发点带来的变化只有常数项 于是我们可以预处理出从每个方程转移的系数 处理的方法就是 当行a减去k倍的行b时 我们同时更新行b被多少行更新了 求完之后我们只需要求它的k
阅读全文
posted @ 2018-08-13 11:34
尹吴潇
阅读(747)
推荐(0)
摘要:
题解: 首先f[i][j]表示第i个点血量为j 如果a[i]>0直接转移就可以了 否则我们需要在同一层上进行高斯消元 发现只有常数项的变化 所以处理和dzy loves game一样 代码:
阅读全文
posted @ 2018-08-13 11:32
尹吴潇
阅读(161)
推荐(0)
摘要:
题解: 网上有一种复杂的方法。。好像复杂度并没有优势就没看 定义f[i]表示i的期望经过次数,f[i]=sigma{f[j]*p/q/du[j]}+(i==1); 然后高斯消元就可以了 最后求出来的f[i]表示经过i的期望次数 f[i]*p/q就是爆炸概率 这样可能不是很好理解 我们假设x被拆成两个
阅读全文
posted @ 2018-08-13 11:08
尹吴潇
阅读(158)
推荐(0)
posted @ 2018-08-12 15:10
尹吴潇
阅读(5)
推荐(0)
摘要:
题意: 每个点有一定黄金,从0开始跳,如果上一次跳了l,这一次可以跳l,l-1,l+1,问最多可以拿多少 n<=30000 512mb,1s 题解: f[i][j]表示状态显然 注意到状态有很多达不到 于是用了记忆化搜索 改成链式hash加上一些剪枝勉强可以卡过 考虑用dp来写 我们会发现l的偏移量
阅读全文
posted @ 2018-08-12 14:15
尹吴潇
阅读(144)
推荐(0)
摘要:
题解: 熟练掌握了后缀自动机后大部分题目应该都比较容易想 首先对t建立广义后缀自动机 然后我们可以用线段树合并处理出每个点每个串出现的次数,然后求出最大值 匹配的时候比较巧妙 我们离线处理 对于同一个ti,我们可以在parent树上倍增到最后一个满足l<=li的点 这个正确性是比较显然的,因为l-r
阅读全文
posted @ 2018-08-11 23:05
尹吴潇
阅读(151)
推荐(0)
posted @ 2018-08-11 13:05
尹吴潇
阅读(8)
推荐(0)
摘要:
题目: 如果一个数x的约数和(不包括它本身,下同)比它本身小,那么x可以变成它的约数和;如果对于某个y>x且y的约数和为x,那么x也可以变成y。例如,4可以变为3,1可以变为7。限定所有的数字变换在不超过n的正整数范围内进行,求不断进行数字变换且没有重复数字出现的最多变换步数。(n<=1e5) 题解
阅读全文
posted @ 2018-08-09 14:09
尹吴潇
阅读(437)
推荐(0)
摘要:
题解: 比上一题水多了 首先树上贪心,肯定要考虑儿子 然后我们会发现这个东西就是要先把儿子连起来 然后如果儿子个数为奇数我们可以把这一条和它连向父亲的并在一起 由于根没有父亲所以要单独考虑 答案就是sigma{i,(son[i]-1)/2}+(son[root]+1)/2 然后也是比较简单的 最大值
阅读全文
posted @ 2018-08-09 11:35
尹吴潇
阅读(632)
推荐(0)
posted @ 2018-08-09 11:24
尹吴潇
阅读(5)
推荐(0)
摘要:
题解: 考虑这么一件事情,n个人买彩票,在不断抽走卡片的时候,他们的中奖概率是不变的 所以在这道题中,由于每个人的操作次数是确定的,所以选每k个点的概率是相同的(因为如果我们逐一考虑每一次操作这个问题就很复杂了) 显然的是我们可以通过点分治计算出距离为k的点的数目ans(好像可以用长链剖分优化到O(
阅读全文
posted @ 2018-08-08 16:11
尹吴潇
阅读(98)
推荐(0)
摘要:
题解: 比较难的一道题目 首先考虑暴力dp 我们会发现构成这种形状只有三种情况 1.三个点的lca相同 2.两个点lca相同,第三个点是lca的祖先 3.两个点lca相同,第三个点是lca祖先的子树中某点 对于1,2两种情况是比较好解决的 对于第3种情况,我们可以考虑放到lca处或者转折处计算 1.
阅读全文
posted @ 2018-08-08 15:43
尹吴潇
阅读(117)
推荐(0)
摘要:
题解: 和前面那个序列的几乎一样 容斥之后变成求不覆盖的 然后再像差分的矩形那样 由于是随便取的所以这里不用处理前缀和直接求也可以 代码:
阅读全文
posted @ 2018-08-07 15:50
尹吴潇
阅读(180)
推荐(0)
摘要:
题解: 和前面那个序列的几乎一样 容斥之后变成求不覆盖的 然后再像差分的矩形那样 由于是随便取的所以这里不用处理前缀和直接求也可以 代码:
阅读全文
posted @ 2018-08-07 15:50
尹吴潇
阅读(151)
推荐(0)
摘要:
题解: 很简单的期望dp 转移方程显然,max一个0就可以了
阅读全文
posted @ 2018-08-07 12:17
尹吴潇
阅读(126)
推荐(0)
摘要:
题解: 首先比较显然的是查询每个点被覆盖的概率,算完之后概率m次方 既然是计数题 考虑容斥 我们会发现这样是求n长度的区间能存多少种 我们考虑直接递推 从n到n+1 多的方案数一定要覆盖n+1,所以就很简单了
阅读全文
posted @ 2018-08-07 11:22
尹吴潇
阅读(175)
推荐(0)
摘要:
题解: 后缀自动机 我们可以通过建立trie 把询问变成询问一些点的并 把trie建立成SAM和广义SAM基本相同,就是在父亲和儿子之间连边 然后就变成了询问树链的并 我们可以发现答案=sigma dis[i] -sigma(dis[lca(i,i+1)]) 其中i和i+1dfs序相邻 可以通过se
阅读全文
posted @ 2018-08-06 16:58
尹吴潇
阅读(498)
推荐(0)
摘要:
题解: 首先考虑点分治 dis(i,u)+dis(i,v)<=value[u]+value[v] 移项就很容易发现用平衡树可以很简单的维护这个东西 但是有重复,需要在下一层的每个平衡树内减去这个答案 这个时候时间复杂度是nlog^2 现在需要动态加点 假设加这个点不会破坏点分树结构我们就暴力加点 经
阅读全文
posted @ 2018-08-06 11:18
尹吴潇
阅读(249)
推荐(0)
posted @ 2018-08-06 11:16
尹吴潇
阅读(162)
推荐(0)
posted @ 2018-08-06 11:12
尹吴潇
阅读(103)
推荐(0)
摘要:
BZOJ 3456: 城市规划: 暴力就不说了 f[i]=2^(C(i,2))-sigma{j=i-1,C(i,j)*f[j]*2^(C(i-j,2))}; 首先由于2^C(i-j,2))是常数项,所以是可以分治fft的 将右边的移项过来,sigma{j=i,C(i,j)*f[j]*2^(C(i-j
阅读全文
posted @ 2018-08-04 23:50
尹吴潇
阅读(166)
推荐(0)
摘要:
题解: 求模素数 p 原根的方法:对 p-1 进行素因子分解,记pi为p-1的第i个因子,若恒有a^((p-1)/pi) mod p ≠ 1 成立,则 a 就是 p 的原根。(对于合数求原根,只需把 p-1 换成 phi(p) 即可) 首先比较暴力是f[i][j]表示前i个,乘积为j 然后是n*m^
阅读全文
posted @ 2018-08-04 23:46
尹吴潇
阅读(222)
推荐(0)
摘要:
https://blog.csdn.net/izumi_hanako/article/details/80275299
阅读全文
posted @ 2018-08-03 15:50
尹吴潇
阅读(102)
推荐(0)
摘要:
题解: 还是比较简单的一道题 考虑现在有一个向量,当且仅当下一个向量与它夹角<90度这个向量的模长才会增加 接下来怎么做呢 如果我们去枚举初始向量,向量方向会随着新增向量而变化 随着不断顺时针的增加向量,另一个方向的向量有所减少 这启示了什么呢 其实可以我们确定最终向量位置,然后在它-90-90度范
阅读全文
posted @ 2018-08-03 15:11
尹吴潇
阅读(210)
推荐(0)
摘要:
题解: 感觉贪心水平有所提高。。 首先比较显然的事情是我们可以枚举最深进行到哪一层 我们会发现,当且仅当该层是最小值才会使用决策, 并且是从该层的左上,走到右下 另外中间步骤就是(好难描述啊)一个单调下降序列,每个会走最多的向右走的步数,然后中间的点只走一次 (这句话应该正常人是无法理解的) 但是处
阅读全文
posted @ 2018-08-02 23:11
尹吴潇
阅读(143)
推荐(0)
摘要:
题解: 当奇数 发现答案就是C(n,1)^2+C(n,3)^2+。。。C(n,n)^2 倒序相加,发现就是C(2n,n) 所以答案就是C(2n,n)/2 当偶数 好像并不会证 打表出来可以得到 2.当n为偶数且为4的倍数时,答案为C(2n,n)+C(n,n/2)/2 3.当n为偶数且不为4的倍数时,
阅读全文
posted @ 2018-08-02 16:16
尹吴潇
阅读(343)
推荐(0)
摘要:
题解: 比较简单的一道题目 如果会倍增floyd这个就很显然的 每次转移看成乘上一个矩阵 另外自爆等同于连到一个特殊点,特殊点只能走自己 停留就是增加自环
阅读全文
posted @ 2018-08-02 12:16
尹吴潇
阅读(132)
推荐(0)
摘要:
题解: jls的题目还是比较好的 首先比较显然我们可以分析出 当x<y时,显然只能满足前缀条件 针对这一档部分分,是个简单的组合数 考虑一下后缀限制,发现真的不好搞。。 看了题解发现,枚举总共的1的个数,把后缀限制变成前缀限制, 这就很妙了 最后的问题在于x=y这里 我们会发现,如果满足x的最大值,
阅读全文
posted @ 2018-08-02 12:03
尹吴潇
阅读(141)
推荐(0)
摘要:
题解: 费马小定理 a^(p-1)=1(mod p) 这里推广到矩阵也是成立的 所以我们可以对(2^n)%(p-1) 然后矩阵乘法维护就好了 模数较大使用快速乘
阅读全文
posted @ 2018-08-02 11:26
尹吴潇
阅读(308)
推荐(0)
posted @ 2018-08-02 11:16
尹吴潇
阅读(4)
推荐(0)
摘要:
题解: 比较简单的一道题 线段树+线性基 显然离线处理出位置 然后线段树updata的时候暴力合并线性基 nlogn^3 一个常数优化就是线性基已满就直接返回这个线性基 还有个优化是用快速找到第一个1的函数 代码:
阅读全文
posted @ 2018-08-02 00:08
尹吴潇
阅读(195)
推荐(0)
摘要:
链接:https://www.luogu.org/problemnew/show/U32592 题解: 60-70分 二分+网络流
阅读全文
posted @ 2018-08-02 00:05
尹吴潇
阅读(94)
推荐(0)
摘要:
题解: 这两道题加上区间取min max应该算线段树几道比较不寻常的题目 其实也是挺好理解的 对于区间/d 显然在log次后就会等于0 而我们注意到如果区间中数都相等那么就可以一起除 也就是说每个区间需要log次除法能相等 而每一次加权操作会造成log个区间不相等 那么时间复杂度就是nlog^2的
阅读全文
posted @ 2018-08-02 00:02
尹吴潇
阅读(177)
推荐(0)
摘要:
题解: 真是很zz 我都想到线段树分治的思路了。。。 不过还是一道好题 首先跟线段树分治一样将区间投射到线段树上去 每次修改如果该个区间修改为0,则对他们对应的特定区间-1 这样每个区间会有一次变0,每个特定区间对应log个 复杂度nlogn 代码:
阅读全文
posted @ 2018-08-01 23:53
尹吴潇
阅读(108)
推荐(0)
摘要:
题解: 一道比较好的题目 据说是个经典的贪心模型 首先我们会发现每个括号序列剩下的就是x个)和y个( 然后我们考虑怎么来进行贪心 首先比较显然的是我们会先用x<y的 并且很显然刚开始x需要=0 所以启发我们要对x从小到大排序 来证明一下这个的正确性 假设我们先取一个x比较大的,可能出现)已经比(多的
阅读全文
posted @ 2018-08-01 12:35
尹吴潇
阅读(313)
推荐(0)