摘要:
吐槽: 感觉你只要没做过这种题,基本上是死翘翘的 分析: 性质:考虑将 a从小到大排序以后子序列的最小异或和肯定是产生于相邻两个元素 因此排序之后 ,我们只要保证 选取出来相邻两个数的异或和不小于题目给出的 即可。 考虑将 DP 插入到 Trie 中,每次相当于询问满足 ajxorai =x的f(j 阅读全文
摘要:
复习整除分块 经典例子: 求Σ(n/i),n<=1e14,()为向下取整 考虑直接暴力肯定不行,但发现其中有很多数是一样的 引进整除分块: 右端点为n/(n/l):表示n/l的值n中有多少个 左端点为上一个r+1 复杂度为根号n code: inline void init (int ans=0) 阅读全文
摘要:
分析: 炸看一眼:方案数?怎么算?果断看题解 提取性质: 一: 分成若干树的大小只可能是 n的约数 二: 只要分的大小确定后, 如果有分割方案只可能有一种 第二点的性质很好,感性理解 不知道n√n怎么能过1e6 枚举√n约数,再 O(N)判断 怎么判断,如果该节点的大小能够被枚举的约数整除, 那么说 阅读全文
摘要:
分析: 分两步算 一: Li表示持续i秒的期望值 Li=(Li+1) ai% 二:Fi表示前i秒产生的期望幻象值 F[i]=F[i 1]+((L[i 1]+1)^2^ (L[i 1])^2^) ai% code: c++ include include include include define 阅读全文
摘要:
吐槽: 考试的时候一直推的是f(k 1) p,就导致gg了 分析: 假设现在已经k 1个正面向上了, 首先f(k)=f(k 1)+1+(....),表示起码从k 1转移到k还需1次 后面加的就是分别讨论两种情况 如果这次硬币正面向上,则还需要抛0次 p 0 如果这次硬币反面向上,则空亏一窥 还需要( 阅读全文