其他分享
首页 > 其他分享> > 【解题报告】洛谷P1062 数列&&CF1594B

【解题报告】洛谷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