BZOJ4816 Sdoi2017数字表格】的更多相关文章

Description 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取模. Input 有多组测试数据. 第一个一个数T,表示数据组数. 接下来T行,每行两个数n…
原文链接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…
传送门 做莫比乌斯反演题显著提高了我的\(\LaTeX\)水平 推式子(默认\(N \leq M\),分数下取整,会省略大部分过程) \(\begin{align*} \prod\limits_{i=1}^N \prod\limits_{j=1}^M f[gcd(i,j)] & = \prod\limits_{d=1}^N f[d]^{\sum\limits_{i=1}^\frac{N}{d} \sum\limits_{j=1}^\frac{M}{d}[gcd(i,j)==1]} \\ &…
一开始只推出O(TN)的做法,后来看了看发现再推一步就好了. 我们只需要枚举gcd就可以啦. 然后我们改变一下枚举顺序 设T为dk 预处理中间那部分前缀积就好了. #include<bits/stdc++.h> using namespace std; ,mod=1e9+; ],miu[N],g[N],f[N],inv[N],cnt;bool v[N]; typedef long long ll; int qmod(int x,ll y) { ; while(y) { )ans=1ll*ans…
(真不想做莫比乌斯了) 首先根据题意写出式子 ∏(i=1~n)∏(j=1~m)f[gcd(i,j)] 很明显的f可以预处理出来,解决 根据套路分析,我们可以先枚举gcd(i,j)==d ∏(d=1~n)f[d]......后面该怎么写? 我们发现前面式子中i,j为连乘,而对于相同的gcd,就可以变成f[d]的几次幂! 则∏(d=1~n)f[d]Σ(i=1~n/d)Σ(j=1~m/d)[gcd(i,j)==1] 然后就可以开心的反演了 ∏(d=1~n)f[d]Σ(i=1~n/d)Σ(j=1~m/d…
4816: [Sdoi2017]数字表格 Time Limit: 50 Sec  Memory Limit: 128 MBSubmit: 501  Solved: 222[Submit][Status][Discuss] Description 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)]…
[Sdoi2017]数字表格 题意:求 \[ \prod_{i=1}^n \prod_{j=1}^m f[(i,j)] \] 考场60分 其实多推一步就推倒了... 因为是乘,我们可以放到幂上 \[ \prod_{d=1}^n \prod_{i=1}^{\frac{n}{d}}\prod_{i=1}^{\frac{m}{d}} f[d]^{[(i,j)=1]} \] 套路一直推完 \[ \prod_{D=1}^n \prod_{d|D} f[d]^{\mu(\frac{D}{d}) \cdot…
[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,…
4816: [Sdoi2017]数字表格 Time Limit: 50 Sec  Memory Limit: 128 MBSubmit: 666  Solved: 312 Description 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的最大公约数.D…
P3704 [SDOI2017]数字表格 链接 分析: $\ \ \ \prod\limits_{i = 1}^{n} \prod\limits_{j = 1}^{m} f[gcd(i, j)]$ $=\prod\limits_{d = 1}^{min(n, m)} \prod\limits_{i = 1}^{n} \prod\limits_{j = 1}^{m} [gcd(i, j) = d] \times f[d]$ $=\prod\limits_{d = 1}^{min(n, m)} f[…
[SDOI2017]数字表格 由于使用markdown的关系 我无法很好的掌控格式,见谅 对于这么简单的一道题竟然能在洛谷混到黑,我感到无语 \[\begin{align*} \prod\limits^{n}_{i=1} \prod\limits^{m}_{j=1} fi[gcd(i,j)] &= \prod\limits^{n}_{d=1} fi[d]^{\sum\limits_{e=1}^{n} [n/de][m/de]\mu(e)} \\ &= \prod\limits^{n}_{T…
题解-[SDOI2017]数字表格 前置知识: 莫比乌斯反演</> [SDOI2017]数字表格 \(T\) 组测试数据,\(f_i\) 表示 \(\texttt{Fibonacci}\) 数列第 \(i\) 项(\(f_0=0\),\(f_1=1\),\(f_i=f_{i-1}+f_{i-2}\)),求 \[\left(\prod\limits_{i=1}^n\prod\limits_{j=1}^mf_{\gcd(i,j)}\right)\bmod(10^9+7) \] 数据范围:\(T\l…
P3704 [SDOI2017]数字表格 首先根据题意写出答案的表达式 \[\large\prod_{i=1}^n\prod_{j=1}^mf_{\gcd(i,j)} \] 按常规套路改为枚举 \(d=\gcd(i,j)\) (不妨设 \(n\le m\) ) \[\large\prod_{d=1}^n{f_d}^{\sum_{i=1}^n\sum_{j=1}^m~[(i,j)=d]} \] 指数上的式子很熟悉了,单独拿出来推一下 \[\begin{aligned} \sum_{i=1}^n\s…
题目描述 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…
题目大意 有函数\(f(x)\),\(f(0)=0,f(1)=1,f(x)=f(x-1)+f(x-2)\) \(t\)(\(t\leq1000\))组询问,每次给定\(n,m\)(\(n,m\leq10^6\)),求: \[\prod_{i=1}^{n}\prod_{j=1}^{m}f(gcd(i,j))\] 题解 这个人(点这里)讲得很清楚\(\color{white}{\text{shing太强了}}\) 假设\(n\)是\(n,m\)中较小的那个,讲一些在得出答案\(=\prod_{d=1…
点此看题面 大致题意: 求\(\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=…
Description 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取模. Input 有多组测试数据. 第一个一个数T,表示数据组数. 接下来T行,每行两个数n…
Description 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取模. Input 有多组测试数据. 第一个一个数T,表示数据组数. 接下来T行,每行两个数n…
[题目链接] 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\)…
题目描述 Doris刚刚学习了fibonacci数列.用f[i]f[i] 表示数列的第ii 项,那么 f[0]=0f[0]=0 ,f[1]=1f[1]=1 , f[n]=f[n-1]+f[n-2],n\geq 2f[n]=f[n−1]+f[n−2],n≥2 Doris用老师的超级计算机生成了一个n×mn×m 的表格, 第ii 行第jj 列的格子中的数是f[\gcd(i,j)]f[gcd(i,j)] ,其中\gcd(i,j)gcd(i,j) 表示i,ji,j 的最大公约数. Doris的表格中共有…
链接: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[…
题目分析: 比较有意思,但是套路的数学题. 题目要求$ \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} $. 更进一步的,我们可以发现幂是一个求和,那么把求…
传送门 我是真的弱,推式子只能推一半 下面假设\(n<m\) 考虑题目要求的东西,可以考虑每个gcd的贡献,即\[\prod_{d=1}^{n}f[d]^{\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{d}\rfloor}[gcd(i,j)=1]}\] 由\(n=\sum_{d|n} \mu[d]\),得\[\prod_{d=1}^{n}f[d]^{\sum_{i=1}^{\lfloor\frac{n}{d}\…
目录 太才了 注意,错误 代码 太才了 \(\prod \limits_{i=1}^{n}\prod\limits_{j=1}^{m}f[gcd(i,j)]\) \(\prod\limits_{k=1}^{n}f[k]^{\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}[gcd(i,j)==k]}\) 幂我们很熟悉 就是 \(g(x)=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}[gcd(i,j)==x]=\sum\li…
大力推式子 现根据套路枚举\(\gcd(i,j)\) \(ans=\Pi_{x=1}^nfib[x]^{\sum_{i=1}^{n/x}\sum_{j=1}^{n/x}[\gcd(i,j)=1]}\) 莫比乌斯反演 \(ans=\Pi_{x=1}^nfib[x]^{\sum_{i=1}^{n/x}\mu(i)(n/ix)(m/ix)}\) 把枚举\(i\)提出来,改成枚举\(ix\),里面还是枚举\(x\) \(ans=\Pi_{i=1}^n\Pi_{x|i}fib[x]^{\mu(i/x)(n…
题目链接 总感觉博客园的\(Markdown\)很..\(gouzhi\),可以看这的. 这个好像简单些啊,只要不犯sb错误 [Update] 真的算反演中比较裸的题了... \(Description\) 用\(f[i]\)表示\(Fibonacci\)数列的第\(i\)项,求\[\prod_{i=1}^n\prod_{j=1}^mf[\gcd(i,j)]\mod (10^9+7)\] \(Solution\) \[ \begin{aligned} Ans &=\prod_{i=1}^n\pr…
求 \[Ans=\prod_{i=1}^N\prod_{j=1}^MFib[(i,j)]\] 连乘的反演,其实并没有什么不一样 我们把套路柿子拿出来 \[F(n)=\sum_{i=1}^N\sum_{j=1}^M[n|(i,j)]=\left \lfloor \frac{N}{n} \right \rfloor\times \left \lfloor \frac{M}{n} \right \rfloor=\sum_{n|d}f(d)\] \[f(n)=\sum_{i=1}^N\sum_{j=1}…
洛谷很早以前就写过了,今天交到bzoj发现TLE了. 检查了一下发现自己复杂度是错的. 题目传送门:洛谷P3704. 题意简述: 求 \(\prod_{i=1}^{N}\prod_{j=1}^{M}F_{\gcd(i,j)}\bmod mod\) ,其中 \(F_{i}\) 是斐波那契数列的第 \(i\) 项, \(mod=10^9+7\) . \(T\) 组数据. 题解: 喜闻乐见的推式子时间. 不失一般性,假设 \(N\le M\) . \[\begin{aligned}&\prod_{i=…
输入描述 Input Description  [题解] 对于蓝色部分预处理前缀积. 然后在用除法分块搞一下. O(Q*sqrt(min(n,m))*logn+nlogn) #include<cstdio> #include<iostream> using namespace std; typedef long long ll; ; ; ];bool check[N]; ll f[N],invf[N],g[N]; ll fpow(ll a,ll p){ ll res=; ,a=a*…