原文链接http://www.cnblogs.com/zhouzhendong/p/8666106.html 题目传送门 - BZOJ4816 题意 定义$f(0)=0,f(1)=1,f(i)=f(i-1)+f(i-2)$. $T$组数据,每组数据两个整数$n,m$,求$\prod_{i=1}^n\prod_{j=1}^m f(\gcd(i,j))$. $T\leq 1000,1\leq n,m \leq 10^6$ 题解 先推一波式子. $$\prod_{i=1}^n\prod_{j=1}^m…
题目 Doris刚刚学习了fibonacci数列.用f[i]表示数列的第i项,那么 f[0]=0 f[1]=1 f[n]=f[n-1]+f[n-2],n>=2 Doris用老师的超级计算机生成了一个n×m的表格,第i行第j列的格子中的数是f[gcd(i,j)],其中gcd(i,j)表示i, j的最大公约数.Doris的表格中共有n×m个数,她想知道这些数的乘积是多少.答案对10^9+7取模. 输入格式 有多组测试数据. 第一个一个数T,表示数据组数. 接下来T行,每行两个数n,m T<=100…
[BZOJ4816]数字表格(莫比乌斯反演) 题面 BZOJ 求 \[\prod_{i=1}^n\prod_{j=1}^mf[gcd(i,j)]\] 题解 忽然不知道这个要怎么表示... 就写成这样吧.. \[\prod_{d=1}^n\prod_{i=1}^n\prod_{j=1}^mif(gcd(i,j)==d)f[gcd(i,j)]\] 直接把\(f[d]\)提出来 \[\prod_{d=1}^{n}f[d]^{\sum_{i=1}^{n/d}\sum_{j=1}^{m/d}[gcd(i,…
题目分析: 比较有意思,但是套路的数学题. 题目要求$ \prod_{i=1}^{n} \prod_{j=1}^{m}Fib(gcd(i,j)) $. 注意到$ gcd(i,j) $有大量重复,采用莫比乌斯反演.可以写成: $ \prod_{i=1}^{min(n,m)}Fib(i)^{\sum_{i|d}\mu(\frac{d}{i})\lfloor \frac{n}{d}\rfloor\lfloor \frac{m}{d}\rfloor} $. 更进一步的,我们可以发现幂是一个求和,那么把求…
把题意简化,就是要求 \[ \prod_{d=1}^{min(n,m)}f[d]^{\sum_{i=1}^{n}\sum_{j=1}^{m}e[gcd(i,j)==d]} \] 把幂用莫比乌斯反演转化,得到 \[ \prod_{d=1}^{min(n,m)}f[d]^{\sum_{k=1}^{min(\frac{n}{d},\frac{m}{d})}\mu(k)\left \lfloor \frac{n}{dk} \right \rfloor\left \lfloor \frac{m}{dk}…
点此看题面 大致题意: 求\(\prod_{i=1}^n\prod_{j=1}^mf(gcd(i,j))\). 推式子 首先,按照套路我们枚举\(gcd\),得到: \[\prod_{d=1}^{min(n,m)}f(d)^{\sum_{i=1}^{\lfloor\frac nd\rfloor}\sum_{j=1}^{\lfloor\frac md\rfloor}[gcd(i,j)=1]}\] 根据\(\sum_{d|n}\mu(d)=[n=1]\),我们可以再转化得到: \[\prod_{d=…
[题目链接] https://www.luogu.org/problemnew/show/P3704 [题解] https://www.luogu.org/blog/cjyyb/solution-p3704 题目描述 Doris刚刚学习了fibonacci数列.用\(f[i]\)表示数列的第\(i\)项,那么 \(f[0]=0,f[1]=1,\) \(f[n]=f[n-1]+f[n-2],n\geq 2\) Doris用老师的超级计算机生成了一个\(n×m\)的表格, 第\(i\)行第\(j\)…
题目链接 \(Description\) 用\(f_i\)表示\(fibonacci\)数列第\(i\)项,求\(\prod_{i=1}^{n}\prod_{j=1}^{m}f[gcd(i,j)]\). \(T<=10^3,n,m≤10^6\) \(Solution\) 再来推式子(默认\(n<m\)) \[\prod_{i=1}^{n}\prod_{j=1}^mf[gcd(i,j)]\] 按照套路枚举\(gcd\) \[\prod_{d=1}^n\prod_{i=1}^{n/d}\prod_…
链接:https://ac.nowcoder.com/acm/problem/20391来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 Doris刚刚学习了fibonacci数列.用f[i]表示数列的第i项,那么 f[0]=0 f[1]=1 f[n]=f[n-1]+f[n-2],n ≥ 2  Doris用老师的超级计算机生成了一个n×m的表格,第i行第j列的格子中的数是f[…
传送门 yyb大佬太强啦…… 感觉还是有一点地方没有搞懂orz //minamoto #include<cstdio> #include<iostream> #include<cstring> using namespace std; #define getc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++) <<],*p1=buf,*p2=bu…