首页 > TAG信息列表 > 九连环
九连环
题面 即求\(\left\lfloor\frac{2^{i+1}}{3}\right\rfloor\) 具体证明可以康luogu题解区。 发现需要高精度,而且不能暴力\(n^2\)高精度。因为二进制位数是\(10^5\)级别,所以十进制至少是\(10^4\)级别。 fft当然可以的,多项式除3也不是很难想。 这里学的是这篇题解的压位高精度 跑的飞递归算法之九连环操作步骤
import java.util.ArrayList; import java.util.Scanner; /** * 九连环的装卸需要遵守两个规则。 * 1、第一个(最右边)环任何时候都可以装上或卸下。 * 2、如果第k个环没有被卸下,且第k个环右边的所有环都被卸下,则第k+1个环(第k个环左边相邻的环)可以任意装上或卸下。 */ public九连环的问题及撒谎问题求解
一.九连环 思路: 设置两个函数 f(i,1)函数代表,当前局面为[0,i]为空,装上单环i f(i,0)函数代表,当前局面为[0,i-1]为空,i存在,卸下单环i, digui(i,1),表示[0,i]为空,[0,i]全装上 digui(i,0),表示[0,i]全都存在,[0,i]全卸下来; 二.撒谎问题 某班中的一位同学做了好事不留名,表扬信来了之后,班BZOJ 5300: [Cqoi2018]九连环 打表+FFT
仔细观察样例解释,发现 $F(n)=2F(n-1)+[n \%2]$. 然后我们就可以推出来前 10 项左右的 $F(n)$ 的值,然后打表找规律发现 $F(n)=\frac{2^{n+1}}{3}$ (向下取整) 由于没有模数,所以需要手写一个 $FFT$ 维护高精度乘法的板子. code: #include <cstdio> #include <cmat“华为杯”山东理工大学第十一届ACM程序设计竞赛 E - 九连环
Problem Description 不知道大家有没有玩过一个叫做 九连环 的玩具,如下图所示。 如果你不了解九连环,那玄黄就带你领略九连环的奥妙: 九连环是我国传统的民间智力玩具,玩具上面有九个连环套在杆上,目标就是通过一定的方式将九个连环从杆上全部取下来。 玩法是这样的: 1、对每个环,题解 P4461 【[CQOI2018]九连环】
题解 P4461 【[CQOI2018]九连环】 由于各位大佬已经用各种方法,将公式推得我这里便不再过多阐述,我们来谈谈本题的实现~ 首先,我们先来看公式:$\lfloor\frac{2^{n+1}}{3}\rfloor$ 我们知道,因为n<=1e5,所以$|2^{n+1}|$很小,而且询问也只有10,所以我们如果能较快求出$2^{n+1