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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Doom 规律+大数

發布時間:2024/10/12 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Doom 规律+大数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

                    

          Doom

比賽的時候沒有做出來,補題。

題意:題目定義了一個斐波那契串

1) fib1=b;

2) fib2=a;

3) fibi=fibi-1fibi-2,i>2

舉例,fib3=ab,fib4=aba,fib5=abaab

我們暫時將字符串sisi+1si+2si+3…sj記做s[i:j]

求滿足s[1:i]=s[m-i+1:m](i<m)的i的最大值,記做LBorderm

例如m=5時,LBorderm=2,因為abaab中前兩個和末尾兩個相同,即黑色部分

解題思路:

一看到題目的數據這么大,理所當然就會想到必定存在規律,先列出幾項觀察一下

m ?LBorderm??D-value(差值)

1 ? ? ? ? ?0 ? ? ? ? ? ? ? 1

2 ? ? ? ? ?0 ? ? ? ? ? ? ? 2

3 ? ? ? ? ?1 ? ? ? ? ? ? ? 2

4 ? ? ? ? ?1 ? ? ? ? ? ? ? 3

5 ? ? ? ? ?2 ? ? ? ? ? ? ? 3

6 ? ? ? ? ?3 ? ? ? ? ? ? ? 3

7 ? ? ? ? ?2 ? ? ? ? ? ? ? 5

8 ? ? ? ? ?3 ? ? ? ? ? ? ? 5

9 ? ? ? ? ?4 ? ? ? ? ? ? ? 5

10 ? ? ? ?5 ? ? ? ? ? ? ? 5

11 ? ? ? ?6 ? ? ? ? ? ? ? 5

12 ? ? ? ?4 ? ? ? ? ? ? ? 8

13 ? ? ? ?5 ? ? ? ? ? ? ? 8

14 ? ? ? ?6 ? ? ? ? ? ? ? 8 ?

由上述例子可知,m與結果之間的差值是斐波那契數,仔細觀察一下,便會得出這樣一個結論:

當我們找到第一個i滿足m+1<|fibi|時,LBorderm=m-|fibi-2|(|fibi-2|表示斐波那契串fibi-2的長度) ?

1 import java.util.*; 2 import java.io.*; 3 import java.math.*; 4 5 public class Main { 6 public static Scanner cin = new Scanner(new BufferedInputStream(System.in)); 7 public final static int MS = 1005; 8 public final static BigInteger MOD = new BigInteger("258280327"); 9 public final static BigInteger[] fib = new BigInteger[MS]; 10 static { 11 fib[1] = BigInteger.ONE; 12 fib[2] = new BigInteger("2"); 13 for(int i = 3; i < MS; i++) 14 fib[i] = fib[i - 1].add(fib[i - 2]); 15 } 16 public static void main(String[] args) { 17 int T, n; 18 BigInteger m; 19 T = cin.nextInt(); 20 while (T-- > 0) { 21 n = cin.nextInt(); 22 m = cin.nextBigInteger(); 23 m.add(BigInteger.ONE); 24 for (int i = 1; i < MS; i++) { 25 if (fib[i].compareTo(m) > 0) { 26 System.out.println(m.subtract(fib[i - 2]).mod(MOD)); 27 break; 28 } 29 } 30 } 31 } 32 }

?

轉載于:https://www.cnblogs.com/hutaishi/p/4705902.html

總結

以上是生活随笔為你收集整理的Doom 规律+大数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。