【解题报告】洛谷P1062 数列&&CF1594B
作者:互联网
【解题报告】洛谷P1062 数列&&CF1594B
题目链接
https://www.luogu.com.cn/problem/P1062
https://www.luogu.com.cn/problem/CF1594B
思路
u1s1,实际上CF的题目正好是这个普及组题目的加强版
但是两个都很简单
我们把第 \(n\) 项中 \(n\) 用二进制展开
发现了每个要假的幂都是对应的一个从右向左数的1的位置,这样就很好做了
CF代码,PJ代码改一改就随便过了
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
#define int long long
using namespace std;
const int mod=1e9+7;
int T;
signed main()
{
cin>>T;
while(T--)
{
int n,k;
cin>>n>>k;
int res=0;
int a=1;
while(k)
{
if(k&1)
res=(res%mod+a%mod)%mod;
a=a%mod*n%mod;
k>>=1;
}
cout<<res<<'\n';
}
return 0;
}
标签:洛谷,int,CF1594B,&&,题目,P1062,include,mod 来源: https://www.cnblogs.com/wweiyi2004/p/15430585.html