日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

codeforces 450B. Jzzhu and Sequences 解题报告

發(fā)布時(shí)間:2025/7/25 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 codeforces 450B. Jzzhu and Sequences 解题报告 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目鏈接:http://codeforces.com/problemset/problem/450/B

題目意思:給出 f1 和 f2 的值,以及n,根據(jù)公式:fi = fi-1 + fi+1,求出fn是多少。

? ? 這題通過手工模擬,可以發(fā)現(xiàn)它有一個(gè)周期的:以6為周期!

? ? f1 = f1, ? f2 = f2, ? f3 = f2 - f1

? ? f4 = -f1, ?f5 = -f2, ?f6 = -f2 + f1?

? ? 以前從來不知道負(fù)數(shù)的模怎么求,這題剛好考到!其實(shí)根據(jù)第二個(gè)test約莫猜到,就是要加上要mod的那個(gè)數(shù),即1e9+7,可恨的是,一開始 mod多少?zèng)]有搞清楚(寫成n mod 7了),mod 7 = 0,即f[7]其實(shí)是等于f[1]的;然后改了之后又把while寫成if(這個(gè)while結(jié)束的條件是被除數(shù) > 0為止)被人hack了,還全然不知呢,最后查不出來......唉,經(jīng)驗(yàn)還是很不夠啊,繼續(xù)努力!!!

? ??

1 #include <iostream> 2 #include <cstdio> 3 #include <cstdlib> 4 #include <cstring> 5 using namespace std; 6 7 typedef long long ll; 8 ll f[6+5]; 9 ll x, y, n; 10 11 int main() 12 { 13 while (scanf("%lld%lld%lld", &x, &y, &n) != EOF) 14 { 15 ll MOD = 1e9+7; 16 f[1] = x; 17 f[2] = y; 18 f[3] = y - x; 19 f[4] = -x; 20 f[5] = -y; 21 f[6] = x - y; 22 n %= 6; 23 if (n == 0) // 因?yàn)闆]有f[0]的定義!f[k*6] 是等于 f[6]的! 24 { 25 while (f[6] < 0) 26 f[6] += MOD; 27 printf("%lld\n", f[6]%MOD); 28 } 29 else 30 { 31 while (f[n] < 0) 32 f[n] += MOD; 33 printf("%lld\n", f[n]%MOD); 34 } 35 } 36 return 0; 37 }

?

? ??

轉(zhuǎn)載于:https://www.cnblogs.com/windysai/p/3855919.html

總結(jié)

以上是生活随笔為你收集整理的codeforces 450B. Jzzhu and Sequences 解题报告的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。