upc contest2394 - 2023年春混合個人訓練第八場問題 a: 埃匹希斯水晶
題目描述
⼤家都知道,卡德加是⼀個神奇的法師。
有⼀天,他發現了⼀種可以作⽤在埃匹希斯⽔晶上的魔法:在左右兩個祭壇上放⼀定量的⽔晶,然後施放⼀個法術,左邊⼀堆的⽔晶數量會變成原來兩個祭壇上⽔晶之和,右邊⼀堆會變成兩個祭壇上⽔晶數量之差。
卡德加現在有兩堆⽔晶,分別有a個和b個。他打算集中精⼒連續釋放n次法術,但不知道最後能拿到多少⽔晶,於是他找到了要塞指揮官(就是你了)。
輸入
三個整數a,b,n(a,b≤109,n≤1018),表⽰祭壇上剛開始的⽔晶數,和法術的釋放次數。
輸出
兩個數,祭壇上最後的⽔晶數。輸出模(109+7)。
樣例輸入 copy
1 2 3
樣例輸出 copy
6 2先放乙個暴力**:
這道題比較神奇,看著題目模擬的話,反正我是沒能模擬出來,然後就打了個暴力的列舉法,隨便找兩個數,全都列出前十項進行了一波觀察,一看,巧妙啊,果然有規律可循,注意奇偶的情況,比如說就那上圖的第乙個例子來說,奇數行,第一行左側的值等於(2+3)×20,第三行左側的值,(2+3)×21,第五行(2+3)×22,如果n是奇數,那麼就可以根據上述規律推出左側的值,,偶數的時候,也是相同的情況,只不過一開始的那個數是(2+3)+abs(2-3);接著再來找右側值得規律,神奇的發現,規律也是一樣的,也是只改變了一開始的那個基數;右側奇數項一開始的那個數是abs(3-2),偶數項的話,一開始的那個數是(3+2)-abs(3-2);
接下來就請看**吧:
#include
using
namespace std;
typedef
long
long ll;
const
int mod=
1e9+7;
ll qpow
(ll q,ll x,ll y)
x=x*x%mod;
y/=2
;}return res;
}int
main()
else
//計算右側的值
if(n&1)
//奇數
else
//偶數
printf
("%lld %lld\n"
,ans1,ans2)
;return0;
}/*while(n--)
{ ll tmp=a;
a=a+b;
b=abs(tmp-b);
cout<
思維找規律題 CodeForces 603A
題目大意 給你乙個長為n的串,只包含0和1字元,求這個串的最長的交替子串行 不連續 例如010,1,1010等都是交替序列,1001,11等都不是。還可以對串的乙個連續子串做乙個操作,將子串中的0都反轉為1,或著,將子串中的1都反轉為0.求這個串的最長的交替子串行。解題思路 若是滿足進行反轉的情況,...
找規律 koishi的數學題
給你乙個公式,讓你求結果 詳細看題目鏈結裡面 如果出這種題,我就死定了 真的 看了一下,不會 那就打表。打了半天表沒發現什麼,因為 n 也在變,每次答案都不一樣,然後我換了個思路,對於每一位上的數針對 n 不同又是怎麼變得呢?於是我對於每一位又打了個表 x代表沒有數 1 0 1 2 3 4 5 6 ...
sequence 這個算 找規律的題吧
problem description input the first line contains an integer n,the number of sequence member to be calculated.1 n 2 147 483 647 output the output file...