上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 28 下一页
摘要: Pro:https://www.luogu.com.cn/problem/CF1039D 给定一棵树,对于$1<=k<=n$求最多能在这棵树上选出多少条边不相交的路径。 Sol: 对于给定的k,显然有一个$O(n)$的贪心做法。 然后考虑设fi表示k=i时的答案,显然有$fi<=n/i$。 对于i< 阅读全文
posted @ 2019-01-20 15:39 Creed-qwq 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 首先,有一个很暴力的nk的做法,就是对每种颜色分别开棵lct来维护。 实际上,有复杂度与k无关的做法。 感觉和bzoj4025二分图那个题的区别就在于这个题是边dfs线段树边拆分区间。 阅读全文
posted @ 2019-01-20 13:15 Creed-qwq 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 这里的并查集是按秩合并并查集。 这种方法维护生成树的时候可以维护一个点到根的权值。 但是由于合并的时候做了一个类似换根一样的操作,因此这个权值通常只能是异或之类的。 //find-union-set int top,f[N],v[N],sz[N],sk[M]; int find(int x){ret 阅读全文
posted @ 2019-01-20 12:06 Creed-qwq 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 首先我们发现,本题具有可二分性。若花费x可以完成,x+1也一定可以完成。 那么判断是否可行,可以把二分得到的mid作为下限,仅连接边权大于等于mid的边,如果这样的图有环,那么向上二分,否则向下。 这样的正确性显然,因为如果图是一个DAG,那么剩下的边始终从拓扑序小的向大的连,这样就不会出现环。 输 阅读全文
posted @ 2019-01-20 00:09 Creed-qwq 阅读(165) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
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 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 考虑这个式子的意义。 不妨看做进行了两轮操作,这个式子显然等价于两次操作后得到的序列相同的方案数。 这个东西显然是可以dp的。 随便优化一下就成了O(n^3) 阅读全文
posted @ 2019-01-19 22:38 Creed-qwq 阅读(162) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-01-19 22:27 Creed-qwq 阅读(1) 评论(0) 推荐(0) 编辑
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 28 下一页