摘要:
link 去除相同情况是繁琐的,再加上这些集合本身是严格互异的,不会出现重复的问题,所以把它当成有序集合序列来做,最后除以阶乘即可。 然后考虑有序的情况下怎么做。用fi来代表选出i段合法音乐的方案数,考虑用整体减空白的方法。由于要求所有音阶都必须出现偶数次,所以假如i-1个集合定了那么剩下的那个集合 阅读全文
摘要:
一个很经典的问题。 首先要明确错排问题只和元素个数有关(只要元素互不相同),于是考虑递推。对于第i个元素放在哪里有两种决策,一种是放置的位置上面有一个本就不属于它的元素,另一种是干得漂亮刚好一互换就顶掉了那个位置原来的数,两种决策分别有 i-1 种可能(毕竟你总要选出一个位置来霍霍的吧),于是递推方 阅读全文
摘要:
link 教会了我反悔DP。 考虑一步一步来,先思考假如只需要一条路怎么办,很明显直接选最小的;但两条路呢?只有两种方案,要么再选次小的,要么选最小两端的元素(不可能只选一端,如果那样最小就不是最小了)。为了使得后续可以反悔每次考虑pop最小点之后push一个新点,点权为两端点权和减去自身点权,删去 阅读全文
摘要:
link 只能说很多重要的贪心思想我是……真的不知道啊,鬼知道去年S的T3我是怎么搞出来的。 这道题提供的思想就是如何解决这类有限制的朴素贪心。会发现这道题如果没有路上时间的限制就是一个贪心,把所有贡献丢进一个小根堆里每次选一个,减去变化值再丢进去即可。然而现在有了路上时间,我们要做的就是考虑如何预 阅读全文
摘要:
link 很巧妙的一道贪心。 首先有一个思路就是整个过程的最终效果等于每个点有一个值x,代表这个点向右(或者向左)传递的糖果数量,那么就会发现需要满足 $A_i+X_{i-1}+X_i=ave$ ,然后把一个通项式列出来发现所有的x都可用x1,A和V来表示,于是问题就变成了求数轴上一点到所有点距离之 阅读全文
摘要:
discuss 就像我提的那个问题一样,在状压中每次枚举一个状态i的合法子集j可以通过 for(int j=i;j;j=(j-1&i)) 的写法使得时间被最大效率地利用,复杂度是 $3^N$ ,证明嘛……各种方法都可以证没注意啦,记住结论就可以啦,毕竟不论组合意义还是硬推柿子都可以证。 阅读全文
摘要:
link 推柿子。 \(f(n,k)\) \(=\sum\limits_{i=1}^kC_n^i\%P\) \(=\sum\limits_{i=1}^kC_{n/P}^{i/P}\times C_{n\%P}^{i\%P}\%P\) \(=\sum\limits_{k=0}^{\lfloor\fra 阅读全文