首页 > 其他分享 >【题解】CF185D - Visit of the Great

【题解】CF185D - Visit of the Great

时间:2024-01-30 13:44:06浏览次数:26  
标签:qp Great 题解 ll Visit ans bmod equiv

【题解】CF185D - Visit of the Great

设 \(d=\gcd(k^{2^a}+1,k^{2^b}+1),(a<b)\),则:

\[k^{2^a}\equiv k^{2^b}\equiv-1(\bmod d) \]

所以

\[1\equiv(-1)^{2^{b-a}}\equiv k^{2^a*2^{b-a}}\equiv k^{2^b}\equiv1(\bmod d) \]

所以 \(d\) 为 \(1\) 或 \(2\)。

设 \(t=(k^{2^l}+1)(k^{2^{l+1}}+1)...(k^{2^r}+1)\),

则当 \(d=2\),即 \(k\) 为奇数时 \(ans=\dfrac t{2^{r-l}}\),否则 \(ans=t\)。

设 \(a = k^{2^l}\),则 \(t=(a+1)(a^2+1)...(a^{2^{r-l}}+1)\)。

考虑到这相当于每次取若干个 \(a\) 和若干个 \(1\) 最后求和,发现每次取的 \(a\) 幂次都是不同的,所以 \(t=\sum_{i=0}^{2^{r-l+1}-1}a^i=\dfrac{a^{2^{r-l+1}}-1}{a-1}=\dfrac{k^{2^{r+1}}-1}{k^{2^l}-1}\)。

但是最后一步等比数列求和要求了 \(a\neq 1\),所以当算出来 \(a=1\) 时,\(t\) 直接等于 \(2^{r-l+1}\),很好理解。

另外,当计算 \(a=k^{2^l}\bmod p\) 时,若 \(p|a\) 应直接设 \(a=0\) 而不应使用快速幂,因为费马小定理要求了 \(a\) 不是 \(p\) 的倍数,直接用快速幂计算时若 \(p-1|2^l\) 会出错。还有应为会出现 \(\bmod 1\) 的情况,所以 \(ans\) 初始化为 \(1\bmod p\)。

int T;
ll k, l, r, P;

ll qp(ll a, ll b, ll p){
	ll ans = 1 % p;
	while(b){
		if(b & 1){
			ans = ans * a % p;
		}
		a = a * a % p;
		b >>= 1;
	}
	return ans;
}
ll f(ll x){
	return k % P == 0 ? 0 : qp(k, qp(2, x, P-1), P);
}

void solve(){
	read(T);
	while(T--){
		read(k, l, r, P);
		ll x = (f(l) == 1 ? qp(2, r-l+1, P) : (f(r+1)-1+P) % P * qp((f(l)-1+P)%P, P-2, P) % P);
		if(k & 1){
			x = x * qp(qp(2, r-l, P), P-2, P) % P;
		}
		println(x);
	}
}

标签:qp,Great,题解,ll,Visit,ans,bmod,equiv
From: https://www.cnblogs.com/KiharaTouma/p/17996914

相关文章

  • RocketMQ应用-消费幂等性问题解决
    重复消费产生原因生产者多次投递-投递时服务端接收后客户端网络原因确认失败,重新投递消费者扩容重试-消费者扩容导致正在消费的消息没有正常应答,服务端重新推送重复消费解决方案给消息增加唯一key,消费时校验key是否已经消费过消费者控制消息的幂等性(多次同样的操作结果一......
  • 9.【题解】计算器
    题解\(BSGS\)(拔山盖世)其实叫\(Baby\)\(Step\)\(Giant\)\(Step\)(大步小步)\(qwq\),事实上还有\(ex\)\(BSGS\),但是这里只写\(BSGS\)。当\(\gcd(x,y)=1\)时,\(BSGS\)可以用\(\sqrtn\)的时间复杂度求解\(\largey^x\equivz\pmodz\)的问题。(原根是\(\largex^a......
  • P6824 「EZEC-4」可乐 题解
    题目链接:可乐一开始想着0-1Trie,枚举\(x\)去写,然后判断就行了。然后想起南京区域赛的C题,其实和这个也有点大同小异的感觉,可以用更朴素的办法,找到对于一个\(a_i\)而言,满足题意的所有\(x\)去\(+1\)。这玩意很容易办到的,稍微讨论下:类似0-1Trie的按位讨论,从高位开始,我......
  • [ARC163D] Sum of SCC 题解
    题目链接点击打开链接题目解法好牛的性质!!!首先一个家喻户晓的性质是:竞赛图缩点之后是一条链考虑从这个上面拓展出一个更优美的性质:竞赛图的\(scc\)个数\(=\)把点集分成两个集合\(A,B\),满足\(\forallu\inA,v\inB\),\(u,v\)之间边的方向为\(u\tov\)的方案数\(-1\)......
  • CF1925B A Balanced Problemset? 题解
    CF1925B题解题目链接CodeforcesLuogu题目大意有一个长度为\(n\)且和为\(x\)的正整数序列,询问该序列可能的最大公因数。多测。简要思路首先先给出结论:最终的答案一定是\(x\)的因数。接下来我通过两种方法证明:一、类似于“更相减损法”一个序列的\(\gcd\)等于......
  • 2024 USACO 题解
    BronzeSilverT1Question给你长度为\(n\)的序列\(c\),$0\lec_i\leC$。若当前位置为\(0\)则表示这个数未知,要求你填数使得序列字典序最小,并满足给出的\(q\)条限制\((a_j,h_j)\),使得\(C_{h_j}\)是第一个严格大于\(C_1\cdotsC_{a_j}\)的数。Solution我的方法叫......
  • CF1925D Good Trip 题解
    考虑分别计算\(p\)和\(q\)。按照期望的定义,\(q\)应该等于方案的总数,也就是\(s^k\),其中\(s\)表示一共有多少个不同的组。考虑如何求\(p\),我们先只计算第\(i\)组对\(p\)的贡献。如果第\(i\)组一共被选了\(1\)次,那么贡献为:\[g=f_i\timesC_{k}^{1}\times(s-1)^{......
  • P5208 [WC2019] I 君的商店 题解
    第一道黑题,发个题解。很好玩的一道交互题。题意有一个长为\(n\)的01字符串,保证至少有一个1,且已知1的数量的奇偶性。每次可以询问两个下标集合,返回哪个下标集合中1的个数更多(相同则可能返回其中任意的一个)。求该字符串,查询次数有限。题解我们约定a,b,c等......
  • 洛谷题解-[ABC286E] Souvenir
    https://www.luogu.com.cn/problem/AT_abc286_e题目描述NNN個の都市があり、いくつかの相異なる都市の間は一方通行の直行便によって移動することができます。どの直行便が存在するかはNNN個の長さNNNの文字列S1,S2,…,SNS_1,S_2,\ldots,S_NS1​,S2​,…,SN​......
  • P5208 [WC2019] I 君的商店 题解
    第一道黑题,发个题解。很好玩的一道交互题。题意有一个长为\(n\)的01字符串,保证至少有一个1,且已知1的数量的奇偶性。每次可以询问两个下标集合,返回哪个下标集合中1的个数更多(相同则可能返回其中任意的一个)。求该字符串,查询次数有限。题解我们约定a,b,c等......