摘要: 布尔函数的傅里叶展开 我们先来看几个例子。考虑几个简单的定义在\(f:\{-1,1\}^n\rightarrow \{-1,1\}\)的函数。 \(n=2\),\(f\)定义为向量的最大值。那么\(f=\frac{1}{2}+\frac{1}{2}x_1+\frac{1}{2}x_2-\frac{1 阅读全文
posted @ 2024-10-22 16:50 menhera 阅读(18) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2023-12-25 13:42 menhera 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 不知道为什么作业第八题会有这玩意T^T,我做了好久没做出来,然后去看了一篇知乎blog:https://zhuanlan.zhihu.com/p/347519537 这篇讲得听不错的,但是感觉还是有点难以看懂,所以我们重新推一遍。 定义 假设我们手里有一个算符(一个本征函数)$\hat{Q}$,同时 阅读全文
posted @ 2023-05-11 11:41 menhera 阅读(634) 评论(0) 推荐(0) 编辑
摘要: 容易想到,选的点应该是和$1$连通的连通块。最后的答案是$a[1]$乘以$a[1]$的因子。 所以我们枚举$a[1]$的因子,然后判断是否能让所有点都变成$a[1]$的因子的倍数。我们容易发现,其实对于每个点而言,一次选中操作都相当于把它的幂次翻倍。 于是我们可以预处理出$u$变成$v$的倍数需要翻 阅读全文
posted @ 2023-02-02 18:06 menhera 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 我,差30秒,就能AC这道题,我知道错哪的时候是倒计时30,不记得优先级想赌一把,因为我没有先写括号的习惯,所以倒计时14的时候交了,然后想改了括号再交一发,改了括号之后,比赛结束了。 这题很简单,就是你任意选一个点作为根节点,然后你会发现,它给你的$r$如果在$v$的子树中,其实就相当于砍掉$v$ 阅读全文
posted @ 2023-02-02 01:31 menhera 阅读(42) 评论(0) 推荐(0) 编辑
摘要: Platinum 3 分析 树上的最优化问题先不动脑子DP一波。 用$f[i]$表示将以$i$为根的子树中,所有子树都满足题设开灭条件所需要的最少次数。 现在把这个子树画成下图这样,假设它有三个儿子$x_1,x_2,x_3$ 我为了让这一整棵树亮起来,我肯定要在某个时刻是整个树的所有节点都被我打开的 阅读全文
posted @ 2023-02-02 00:50 menhera 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 受到样例的第四个询问启发,我们可以发现一个性质:一开始先让魔力积累,然后肯定是在最晚的那个时候,我们去把魔力池里该取的魔力取走,而不是一开始就和一个无头苍蝇一样在图上乱走。 比如你像无头苍蝇一样走了一个路径:$1\rightarrow3\rightarrow2\rightarrow4\rightar 阅读全文
posted @ 2023-02-02 00:48 menhera 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 分析:注意到$|u-v|<=10$,所以可以将询问的最短路分类为,左边的最短路,跨越左右的最短路,右边的最短路。套整体二分的板子就行。以前应该做过 代码: #include<bits/stdc++.h> using namespace std; const int maxn = 102000; ty 阅读全文
posted @ 2022-12-24 17:54 menhera 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 分析: 只有一个区间的时候输出1 只有两个区间的时候,只有三种情况:包含,相离,相交。可以推出一个数学式子计算相交和相离的情况下的答案,我们用$getans(l_1,r_1,l_2,r_2)$表示。那么包含的情况的答案则可以通过容斥原理,假设$[l_1,r_1]$是小的区间,则$getans(l_1 阅读全文
posted @ 2022-11-28 20:16 menhera 阅读(114) 评论(0) 推荐(1) 编辑
摘要: 分析: 注意到你无论如何都无法改变a[1]的值,而你要改变a[2]的值时,你就必须要选择一个和a[1]相同的值,然后翻转这一段区间。 又可以发现,任意两个数的相邻情况是不会改变的。比如1和2相邻,那你无论如何也无法使得1 2不相邻。同理,不相邻也无法变成相邻。 所以依据上面的理论构造即可。 时间复杂 阅读全文
posted @ 2022-08-17 11:26 menhera 阅读(34) 评论(0) 推荐(0) 编辑