摘要: 题目看这里这个题好像在哪里做过。。。但是翻不到基本思想:在最高位不同的两个集合里只能有一条边相连我们可以用trie来做,每次到一个节点,就在他的两个儿子里找xor值最小的加到答案里若有超过2个权值... 阅读全文
posted @ 2018-02-22 22:29 扩展的灰(Extended_Ash) 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题目看这里这个题好像在哪里做过。。。但是翻不到基本思想:在最高位不同的两个集合里只能有一条边相连我们可以用trie来做,每次到一个节点,就在他的两个儿子里找xor值最小的加到答案里若有超过2个权值相同的点时,计算方案的方法为x^(x-2),这个是完全图的生成树个数公式... 阅读全文
posted @ 2018-02-22 22:29 扩展的灰(Extended_Ash) 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题目看这里一看这种分配式的题目马上联想到网络流顺手一个SAP板子直接0ms上rank1拆点建图x,y1.s->x[i]边权a[i]2.y[i]->t边权b[i]3.对于原图每条边p->q,x[p]... 阅读全文
posted @ 2018-02-22 22:07 扩展的灰(Extended_Ash) 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题目看这里一看这种分配式的题目马上联想到网络流顺手一个SAP板子直接0ms上rank1拆点建图x,y1.s->x[i]边权a[i]2.y[i]->t边权b[i]3.对于原图每条边p->q,x[p]->y[q]边权∞4.x[i]->y[i]边权∞#pragma GCC ... 阅读全文
posted @ 2018-02-22 22:07 扩展的灰(Extended_Ash) 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 题目看这里考虑单独计算每个位置的贡献一个位置i的贡献为c[i]*10^k当且仅当它后面连续(k-1)个数前都没有加号那么也就是确定了k个位置的情况,剩下的位置未知,用组合数计算即可注意到当k相同时... 阅读全文
posted @ 2018-02-22 21:59 扩展的灰(Extended_Ash) 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 题目看这里考虑单独计算每个位置的贡献一个位置i的贡献为c[i]*10^k当且仅当它后面连续(k-1)个数前都没有加号那么也就是确定了k个位置的情况,剩下的位置未知,用组合数计算即可注意到当k相同时很多位置的系数是一样的,可以前缀和降低复杂度至O(n)#pragma G... 阅读全文
posted @ 2018-02-22 21:59 扩展的灰(Extended_Ash) 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目看这里一个简单的计数问题我们先考虑O(n^2)的做法对每个点dfs一次,求出d[i]表示i的深度,那么对答案贡献就是Σ2^(n-d[i])那么我们考虑用数据结构动态维护这个d[i],显然可以用... 阅读全文
posted @ 2018-02-22 21:51 扩展的灰(Extended_Ash) 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 题目看这里一个简单的计数问题我们先考虑O(n^2)的做法对每个点dfs一次,求出d[i]表示i的深度,那么对答案贡献就是Σ2^(n-d[i])那么我们考虑用数据结构动态维护这个d[i],显然可以用线段树来维护dfs序做到复杂度O(n lg n) 效率很高rank8看了... 阅读全文
posted @ 2018-02-22 21:51 扩展的灰(Extended_Ash) 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 题目看这里我们考虑怎样得到最大答案首先对原序列进行括号配对,没有配对上的那些可以直接扔掉不影响答案让后我们有一个合法的括号序列当一对括号与区间有相交但是不包含整个区间时,将会产生一个位置的浪费(在... 阅读全文
posted @ 2018-02-22 21:41 扩展的灰(Extended_Ash) 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 题目看这里我们考虑怎样得到最大答案首先对原序列进行括号配对,没有配对上的那些可以直接扔掉不影响答案让后我们有一个合法的括号序列当一对括号与区间有相交但是不包含整个区间时,将会产生一个位置的浪费(在区间内的那个左括号或者右括号没法配对了),所以答案-1那么一个区间的答案... 阅读全文
posted @ 2018-02-22 21:41 扩展的灰(Extended_Ash) 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 题目看这里本来以为是一个离线做的题目结果发现数据小可乱搞预处理f[i]表示Σa[ki],预处理每个i的因子集合s[i]每次修改位置i,即为将所有的f[s[i]]都修改每次求和,答案为Σmu[i]*... 阅读全文
posted @ 2018-02-22 21:29 扩展的灰(Extended_Ash) 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题目看这里本来以为是一个离线做的题目结果发现数据小可乱搞预处理f[i]表示Σa[ki],预处理每个i的因子集合s[i]每次修改位置i,即为将所有的f[s[i]]都修改每次求和,答案为Σmu[i]*f[i] mu为莫比乌斯函数复杂度O(n√n)#pragma G... 阅读全文
posted @ 2018-02-22 21:29 扩展的灰(Extended_Ash) 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题目看这里一个公式题,推不出来我们令f[i]表示当n=i时的总方案数,令g[i]表示n=i时,结尾恰为1的方案数那么显然,f[i]=3f[i-1]-g[i]只需要考虑计算g[i],这个东西是一个叫... 阅读全文
posted @ 2018-02-22 21:21 扩展的灰(Extended_Ash) 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 题目看这里一个公式题,推不出来我们令f[i]表示当n=i时的总方案数,令g[i]表示n=i时,结尾恰为1的方案数那么显然,f[i]=3f[i-1]-g[i]只需要考虑计算g[i],这个东西是一个叫做默慈金数的东西递推式为g[n+1]=g[n]+Σg[i]*g[n-i-... 阅读全文
posted @ 2018-02-22 21:21 扩展的灰(Extended_Ash) 阅读(100) 评论(0) 推荐(0) 编辑