19山東省賽 K Happy Equation

2021-09-22 16:58:56 字數 2257 閱讀 4800

當時省賽花了很長時間在這道題上,最後也沒做出來,特別傷心啊啊啊啊賽後仔細研究了一下,怎麼說呢,學到了很多,也認識到了自己的不足,唉…

little sub has just received an equation, which is shown below, as his birthday gift.a^x ≡ x^a(mod 2^p).

given the value ofa, please help little sub count the number ofx(1<=x<=2^p)which satisfies the equation.

there are multiple test cases. the first line of the input contains an integertabout(1000), indicating the number of test cases. for each test case:

the first and only line contains two integers :aandp(1<=a<=1e9,1<=p<=30).

for each test case output one line containing one integer, indicating the answer.

2

6 12

8 16

1023

16383

話不多說,上**吧,**說實話寫的有點亂,將就看一下吧

#include

#include

#include

#include

#include

using namespace std;

intmain()

if(p==1)

//當p為1時,x的個數必為1

if(p==2)

//當p為2時,x的個數必為2

/*以上特判是打表發現的*/

ans=

0;sum=1;

//sum為2的p次方

c=2;

//c為基數2

int pl=p;

//在這裡用pl來記錄p!很重要哈,pl就是p,別看到後面不知道pl是啥

while

(p>0)

//這裡用計算2的p次方記為sum

c=c*c;

p=p>>1;

}for

(i=1

;i)//因為現在只考慮a是偶數的情況,所以a是2的倍數

a1=a1%sum;

a1=a1*a1;

o=o>>1;

} s1=s1%sum;

while

(e>0)

a2=a2%sum;

a2=a2*a2;

e=e>>1;

} s2=s2%sum;

if(s2==s1)

}//前面說過,當x大於p時,左面的的式子結果必為0,

//所以就判斷右面的式子模2^p是否為0就行了

if(a>=pl)

//這裡我分了兩種情況,當a>=pl時,只要求出在pl到2^p之間2的倍數的個數就行啦

if(pl%2!=

0)}if

(a//當a

c=2;

long

long sum1=1;

//在這裡再算一下2的op次方

while

(op>0)

c=c*c;

op=op>>1;

}if(pl%sum1==0)

//以下是判斷從哪個區間開始查詢個數,仔細研究一下

if(pl%sum1!=0)

pl=oo*sum1;

ans=

(sum-pl)

/sum1+1;

}}ans=ans+kk;

//最後別忘了之前求的當x小於pl時的情況,記得加上kk哦

printf

("%lld\n"

,ans);}

return0;

}

輸入理想的程式,輸出快樂的人生

此中有真意

欲辨已忘言

共勉!

19山東省賽反思總結

這次的省賽,成績很不理想吧,只拿到了乙個銅牌,在最後的乙個小時裡,我們二選一,有兩個題目供我們選擇吧,乙個是傳遞閉包的,還有乙個是利用stl裡面的優先佇列解決的,我們選擇了前者,沒有做出來,很是遺憾吧,我們比賽的過程中,一開始出的題目還是可以的,因為都是水題,平時我們的水題罰時很高的,這次的我們就沒...

總結山東省賽2015

省賽總結 剛開始,暴力破解試題袋,三個人找水題做,我看的h,hms看a,zzh看的c,看出是做過的類似的博弈論,直接敲wa了,查bug沒有,加了個return 0,過了2y,這時再看榜,a題c題已經有許多過掉的,我和hms看a題,看完覺得簡單,就是個結構體排序,直接敲,過一遍樣例就交,結果wa,開始...

2019山東省賽補題

a題 題解 a題注意看清題目每月三十天每週五天很關鍵,因為每月星期幾是固定的。include define ll long long using namespace std const ll nl 1e5 5 ll a nl ll b nl ll c nl int main else if s tu...