摘要: 整理一些结论。 1、关于组合数 $C_n^m = \frac{n!}{m!(n-m)!}$ $C_n^m = C_n^{m-1} + C_{n-1}^{m-1}$ $C^0_n+C^1_n+C^2_n+...+C^{n-1}_n+C^n_n=2^n$ $C_n^m ≡ C_{n/p}^{m/p} \阅读全文
posted @ 2018-04-27 08:58 hwim 阅读(186) 评论(3) 编辑
摘要: This is SJP's blog. Here is a mirror web of his blog.阅读全文
posted @ 2019-04-15 19:09 hwim 阅读(109) 评论(5) 编辑
摘要: Zbq's Music Challenge 题意: 一个长度为n的序列,每个位置可能是1或者0,1的概率是$p_i$。对于一个序列$S$,它的得分是 $$BasicScore=A\times \sum_{i=1}^{n}{S_i} \tag{1}$$ $$ combo(i)=\left\{ \beg阅读全文
posted @ 2019-04-03 20:18 hwim 阅读(36) 评论(1) 编辑
摘要: Attack's Fond Of LeTri 题意: n个房子m条路径边的无向图,每个房子可以最终容纳b个人,初始有a个人,中途超过可以超过b个人,每条边有一个长度,经过一条边的时间花费为边的长度。求所有人都进入房子的最小时间。如果不能容纳所有人,输出最少多少人无法进入房子。 分析: 注意图不一定联阅读全文
posted @ 2019-04-03 20:02 hwim 阅读(21) 评论(0) 编辑
摘要: SovietPower Play With Amstar 题意: 一棵二叉树,每次询问一条路径上的路径和,初始每个点有一个权值1,询问后权值变为0。$n \leq 10^7,m\leq10^6$ 分析: 首先树链剖分+线段树可做,$O(mlog^2)$,复杂度太大。 然后并查集缩点,树剖求lca,$阅读全文
posted @ 2019-04-03 19:07 hwim 阅读(37) 评论(0) 编辑
摘要: 抽卡大赛 链接 分析: $O(n^4)$的做法比较好想,枚举第i个人选第j个,然后背包一下,求出有k个比他大的概率。 优化: 第i个人,选择一张卡片,第j个人选的卡片大于第i个人的概率是$p_j$,那么答案的生成函数是: $\prod \limits _{j = 1}^{n} [j != i]((1阅读全文
posted @ 2019-04-02 22:44 hwim 阅读(16) 评论(0) 编辑
摘要: 题意: n个点m条边的有向图,每一天每条边存在的概率都是p,在最优策略下,询问从1到n的期望天数。 分析: dijkstra。 每次一定会优先选dp最小的后继走,如果这条边不存在,选次小的,以此类推。 dp[i]表示从i开始到n的期望天数,从后往前推,每次取出dp最小的,更新其他点。 代码:阅读全文
posted @ 2019-04-02 20:26 hwim 阅读(17) 评论(0) 编辑
摘要: 题意: n个点的无向图,Q次操作,每次操作可以连接增加一条边,询问两个点之间有多少条边是必经之路。如果不连通,输出-1。 分析: 首先并查集维护连通性,每次加入一条边后,如果这条边将会连接两个联通块,那么lct连接两个点,边权化为点权,新增一个点,点权为1。否则,构成了环,环上的边都变为0,lct维阅读全文
posted @ 2019-04-02 20:21 hwim 阅读(12) 评论(0) 编辑
摘要: P3830 [SHOI2012]随机树 链接 分析: 第一问:f[i]表示有i个叶子结点的时候的平均深度,$f[i] = \frac{f[i - 1] + 2 + f[i - 1] * (i - 1)}{2} $,表示新增加一个叶子结点,深度增加2,加权后取平均值。 第二问:f[i][j]表示有i个阅读全文
posted @ 2019-04-01 11:22 hwim 阅读(19) 评论(0) 编辑
摘要: 4358: permu 链接 分析: 不删除的莫队+可撤销的并查集。 每次询问先固定左端点到一个块内,然后将这些右端点从小到大排序,然后询问的过程中,右端点不断往右走,左端点可能会撤销,但是移动区间不超过$\sqrt n$个,用带撤销的并查集维护。 复杂度$O(n \sqrt n log n)$ 代阅读全文
posted @ 2019-03-31 11:18 hwim 阅读(22) 评论(0) 编辑
摘要: #309. Mas的童年 链接 分析: 求$max \{sj + (s_i \oplus s_j)\}$ 因为$a + b = a \oplus b + (a \& b) \times 2$ 那么就是求一个j,使得$(s_i \oplus s_j) \& s_j$最大。 而“异或后再与”这两步运算合阅读全文
posted @ 2019-03-30 17:36 hwim 阅读(19) 评论(0) 编辑
摘要: P1438 无聊的数列 链接 分析: 等差数列可加,首项相加,公差相加。 代码:阅读全文
posted @ 2019-03-29 17:35 hwim 阅读(25) 评论(0) 编辑
摘要: 2091: [Poi2010]The Minima Game 链接 分析: 首先排序后,一定是选的连续的一段。 f[i]表示前i个位置,先手-后手的最大得分。 那么考虑第i个位置是否选,如果选,先手选的就是从i开始到i的一段,后手在1到i-1就变成了先手,所以就是a[i]-f[i-1]。 否则第i个阅读全文
posted @ 2019-03-29 14:30 hwim 阅读(19) 评论(0) 编辑
摘要: #6074. 「2017 山东一轮集训 Day6」子序列 #6074. 「2017 山东一轮集训 Day6」子序列 链接 分析: 首先设f[i][j]为到第i个点,结尾字符是j的方案数,这个j一定是从i往前走,第一个出现的j,因为这个j可以代替掉前面所有j。于是有转移方程: $$ f_{i,j}= 阅读全文
posted @ 2019-03-28 22:42 hwim 阅读(27) 评论(0) 编辑
摘要: #6068. 「2017 山东一轮集训 Day4」棋盘 #6068. 「2017 山东一轮集训 Day4」棋盘 链接 分析: 首先将每个整张图按行和列分连通块,两个'#'之间算一个连通块。每个空点只能属于个行连通块和列连通块,从行连通块向列连通块连边,容量为1,费用为0。如果这条边走了1的流量,就说阅读全文
posted @ 2019-03-28 22:42 hwim 阅读(8) 评论(0) 编辑
摘要: #6073. 「2017 山东一轮集训 Day5」距离 链接 分析: 询问$\sum\limits_{i \in path(u,v)} dis(p_i, k)$,将前面的路径转化一下,分别求$path(u,root), path(v,root), path(lca, root), path(lca,阅读全文
posted @ 2019-03-28 22:41 hwim 阅读(12) 评论(0) 编辑