该文被密码保护。 阅读全文
posted @ 2019-01-19 23:31 Creed-qwq 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 枚举出每个数的权值的质因子。 对每个质因子建树求一遍直径,这样做的复杂度显然均摊后是n logn的,因为每个点最多只会被拆成logn个点。 口胡的,没代码qwq 阅读全文
posted @ 2019-01-19 23:28 Creed-qwq 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 这种题显然不会无缘无故地套上个期望,所以优先考虑期望的线性性。 也就是说,我们可以考虑最后每个质因子的期望值,累加得到答案。 发现我们计算这个东西的时候只关心某个质因子当前的次数,因此,所有的质因子的期望可以用一遍dp求出。 dp[i][j][k]表示经过k轮后,指数从i变成j的概率。 最后统计一下 阅读全文
posted @ 2019-01-19 23:08 Creed-qwq 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 也不是很懂原理,反正就是这么写的。 void insert(int x) { if(!top){s[++top]=x;return;} int LCA=lca(x,s[top]); while(top>1&&dep[s[top-1]]>=dep[LCA])add(s[top],s[top-1],di 阅读全文
posted @ 2019-01-19 22:53 Creed-qwq 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 考虑这个式子的意义。 不妨看做进行了两轮操作,这个式子显然等价于两次操作后得到的序列相同的方案数。 这个东西显然是可以dp的。 随便优化一下就成了O(n^3) 阅读全文
posted @ 2019-01-19 22:38 Creed-qwq 阅读(163) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-01-19 22:27 Creed-qwq 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 转自hwk0518,不胜感谢,侵删。 阅读全文
posted @ 2019-01-19 22:22 Creed-qwq 阅读(100) 评论(0) 推荐(0) 编辑
摘要: Pro: 从$(0,0)\(出发走到\)(n,m)$ 给定$y=x+l$和$y=x+r$两条直线 要求不能穿过(可以接触)这两条直线 求方案数 \(n,m,l,r<=1e6\) Sol: 参考了这篇blog https://www.cnblogs.com/xzyxzy/p/9812585.html 阅读全文
posted @ 2019-01-19 18:59 Creed-qwq 阅读(200) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-01-19 17:11 Creed-qwq 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 首先只有询问的话就是个WC的题,线性基+生成树搞一搞就行。 进一步,考虑如果修改操作只有加边怎么做。 好像也没有什么变化,只不过需要在线地往线性基里插入东西而已。 删边呢? 注意到线性基这个玩意是不支持删除操作的。 对于这种不好删除的的东西有种不错的解决方法,就是线段树分治。 把每个操作劈成logn 阅读全文
posted @ 2019-01-19 00:19 Creed-qwq 阅读(185) 评论(0) 推荐(0) 编辑