上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 22 下一页
摘要: link 搜索中迭代加深的技巧。迭代加深是解决一类答案深度不大、但搜索树可能很深(甚至无限深)、用广搜还不是很好解决的问题。方法是枚举答案的深度,通过限制搜索树深度的方法达到解决问题的目的。 比如这道题。分解得到的分数数量可能非常多,但答案的数量不会太大,就可以通过迭代加深加剪枝的方法进行。 #in 阅读全文
posted @ 2022-06-30 19:50 Feyn618 阅读(13) 评论(0) 推荐(0) 编辑
摘要: link 用 $f_i$ 来代表准备照第 i 面镜子,照完所有镜子的期望天数。有 : $$f_i=\begin{cases}f_1+1 & (p=1-p_i)\f_{i+1}+1& (p=p_i)\end{cases}$$ 两种可能。于是就有: $$f_i=(1-p_i)f_1+p_if_{i+1} 阅读全文
posted @ 2022-06-30 14:54 Feyn618 阅读(13) 评论(0) 推荐(0) 编辑
摘要: link 容斥好题。 由子集反演公式可得: $$f(n)=\sum\limits_{i=n}^mC_i^ng(i)\iff g(n)=\sum\limits_{i=n}^m(-1)^{i-n}C_i^nf(i)$$ 用f函数代表有至少n个非平局的方案,g代表恰好有n个平局的方案,发现f和g满足前面的 阅读全文
posted @ 2022-06-29 19:40 Feyn618 阅读(11) 评论(0) 推荐(0) 编辑
摘要: link 推柿子。 令 $f(i)=\frac{1}{i^2},g(i)=q_i$ 。特别地,认为 $f(0)=0$ 。 $$E_j=\sum\limits_{i=0}^{j-1}\frac{q_i}{(i-j)^2}-\sum\limits_{i=j+1}^n\frac{q_i}{(i-j)^2} 阅读全文
posted @ 2022-06-29 16:10 Feyn618 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 应该如下进行,不然复杂度是假的: for(int i=head[wh],th;i;i=e[i].next){ if((th=e[i].t)==fa)continue; dfs(th,wh); for(int j=0;j<=size[wh];j++){ for(int k=0;k<=size[th]; 阅读全文
posted @ 2022-06-29 14:18 Feyn618 阅读(25) 评论(0) 推荐(0) 编辑
摘要: link 我竟然搞懂了FFT。好感动。说不定我的数学有救了呢。 首先它的思想就是求出 $2\times m$ 个值,分别是 $f(\omega_m^0),f(\omega_m^1)\dots f(\omega_m^{m-1})$ ,以及 $g(\omega_m^0),g(\omega_m^1)\do 阅读全文
posted @ 2022-06-29 11:13 Feyn618 阅读(50) 评论(0) 推荐(0) 编辑
摘要: rt。一个简单的公式。 数列有 $n$ 项,第一项是 $a$ ,公比是 $q$ ,那么有 $sum=a\frac{1-q^n}{1-q}$ 。 很基础。 阅读全文
posted @ 2022-06-29 11:04 Feyn618 阅读(405) 评论(0) 推荐(0) 编辑
摘要: link 题外话。昨天学了二项式反演,感觉好玄乎的亚子。其实蒟蒻觉得二项式反演就是为了证明小学奥数的那个容斥原理的系数为什么是 $(-1)^{|S|}$ ,目前为止还没看到它的其它用处。既然如此,记个结论就好啦。 说回题目。首先我们需要思考的是最后得到的有向无环图到底应该是什么样子的。正如其它题解所 阅读全文
posted @ 2022-06-28 17:16 Feyn618 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 就是这样一个柿子: $$f(S)=\sum\limits_{T\subseteq S}g(T)\iff g(S)=\sum\limits_{T\subseteq S}(-1)^{S\oplus T}f(T)$$ 证明并不是很会证(昨天讲了但没太理解),但它的处理场景是很明晰的,其实就是求一些集合并集 阅读全文
posted @ 2022-06-28 08:34 Feyn618 阅读(31) 评论(0) 推荐(0) 编辑
摘要: link 去除相同情况是繁琐的,再加上这些集合本身是严格互异的,不会出现重复的问题,所以把它当成有序集合序列来做,最后除以阶乘即可。 然后考虑有序的情况下怎么做。用fi来代表选出i段合法音乐的方案数,考虑用整体减空白的方法。由于要求所有音阶都必须出现偶数次,所以假如i-1个集合定了那么剩下的那个集合 阅读全文
posted @ 2022-06-27 21:35 Feyn618 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 一个很经典的问题。 首先要明确错排问题只和元素个数有关(只要元素互不相同),于是考虑递推。对于第i个元素放在哪里有两种决策,一种是放置的位置上面有一个本就不属于它的元素,另一种是干得漂亮刚好一互换就顶掉了那个位置原来的数,两种决策分别有 i-1 种可能(毕竟你总要选出一个位置来霍霍的吧),于是递推方 阅读全文
posted @ 2022-06-27 21:20 Feyn618 阅读(37) 评论(0) 推荐(0) 编辑
摘要: link 教会了我反悔DP。 考虑一步一步来,先思考假如只需要一条路怎么办,很明显直接选最小的;但两条路呢?只有两种方案,要么再选次小的,要么选最小两端的元素(不可能只选一端,如果那样最小就不是最小了)。为了使得后续可以反悔每次考虑pop最小点之后push一个新点,点权为两端点权和减去自身点权,删去 阅读全文
posted @ 2022-06-27 21:13 Feyn618 阅读(24) 评论(0) 推荐(0) 编辑
摘要: link 只能说很多重要的贪心思想我是……真的不知道啊,鬼知道去年S的T3我是怎么搞出来的。 这道题提供的思想就是如何解决这类有限制的朴素贪心。会发现这道题如果没有路上时间的限制就是一个贪心,把所有贡献丢进一个小根堆里每次选一个,减去变化值再丢进去即可。然而现在有了路上时间,我们要做的就是考虑如何预 阅读全文
posted @ 2022-06-27 21:09 Feyn618 阅读(13) 评论(0) 推荐(0) 编辑
摘要: link 很巧妙的一道贪心。 首先有一个思路就是整个过程的最终效果等于每个点有一个值x,代表这个点向右(或者向左)传递的糖果数量,那么就会发现需要满足 $A_i+X_{i-1}+X_i=ave$ ,然后把一个通项式列出来发现所有的x都可用x1,A和V来表示,于是问题就变成了求数轴上一点到所有点距离之 阅读全文
posted @ 2022-06-27 21:03 Feyn618 阅读(25) 评论(0) 推荐(0) 编辑
摘要: discuss 就像我提的那个问题一样,在状压中每次枚举一个状态i的合法子集j可以通过 for(int j=i;j;j=(j-1&i)) 的写法使得时间被最大效率地利用,复杂度是 $3^N$ ,证明嘛……各种方法都可以证没注意啦,记住结论就可以啦,毕竟不论组合意义还是硬推柿子都可以证。 阅读全文
posted @ 2022-06-27 20:57 Feyn618 阅读(25) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 22 下一页