題意:要你求乙個等比數列前n項和, q, n都小於10^18, 輸出的結果對666666求餘。
這道題明顯一看就知道要用快速冪, 我們知道等比數列的前n項和公式, 但是我們是要對求出的結果求餘, 所以我們就不能用前n項的和。我們可以發現
n為偶數:n&1==0,n=2k,s=a+a^2....a^k + a^k(a+a^2....a^k );
n為奇數:n&1==1,n=2k+1,s=a+a^2....a^k +a^(k+1)+ a^(k+1)(a+a^2....a^k )
所以我們可以進行二分遞迴求和。這樣我要計算的就很少了。
#include#include#includeusing namespace std;
#define ll long long
const ll mod = 666666;
ll pow_mod(ll a, ll n)//快速冪
return ans;
}ll sum(ll a, ll k)//二分遞迴求和
else
return ans;
}int main()
return 0;
}
你為什麼會加班
上週在群裡跟一些同學聊了關於加班的問題,很有感觸,在這裡跟大家分享一下。每個公司都有自己的加班理由,有的很奇怪,有的看上去不可挑戰,不過概括一下,原因大概有下面一些吧。這種就是反正你幹啥都行,就是不到9點你不能走。有些同學加班其實也沒啥事情,只是因為主管要求,主管不走,自己也不能走。這種有點像是個別...
蘋果供應商為留員工過年加班,3倍工資,你會加班嗎?
臨近年關了,大家估計心裡想的都是什麼時候回家過年,拿著手機天天刷回去的車票吧!當然對於某些 的有償搶票,本想吐槽一下但是還是放棄了,賺歸家遊子過年人的錢,總感覺吃相很難看,跟黃牛沒什麼區別了。可能有些夥伴也在糾結,老闆開出三倍工資留我加班,我到底是回去還是加班呢?iphone代工廠商富士康率先發起了...
nyoj郵票分你一半
描述小珂最近收集了些郵票,他想把其中的一些給他的好朋友小明。每張郵票上都有分值,他們想把這些郵票分成兩份,並且使這兩份郵票的分值和相差最小 就是小珂得到的郵票分值和與小明的差值最小 現在每張郵票的分值已經知道了,他們已經分好了,你知道最後他們得到的郵票分值和相差多少嗎?輸入 第一行只有乙個整數m m...