看到fi=a*f_+b*f_+c*ci2很容易想到矩陣快速冪:
這個也可以直接求出通項,不過可能會出現開根。
**:
#include #include首先我們要先看一下這些數字有什麼性質(p^0,p^1,p^2...)const
long
long mod=19260817
;long
long
aa,b,c,js1,js2,n;
struct
jz
if(s==1
)
if(s==2
) }
friend jz
operator *(jz a,jz b)
return
c; }
};void
cl()
printf(
"%d\n
",an.a[0][0
]); }
}int main()
很容易發現他們%(p+1)只能得到1和p,證明:
p^0%(p+1)=1
p^1%(p+1)=p
p^2%(p+1)=(p+1-1)^2%(p+1)=1
p^(奇數)%(p+1)=(p^2)^n*p^1=p
p^(偶數)%(p+1)=(p^2)^n=1
可以把p看成-1。
於是我們這樣考慮,假設n<=p,等於p的話先手就一定獲勝(直接拿p個走人)n如果n>p,如果n%(p+1)的結果為先手贏,於是先手就會先"搞一局",然後無論後手怎麼拿,這要他湊一下mod(p+1)為0就行了(mod只有p和1,能配成),於是先手勝
如果n%(p+1)為後手勝的情況,後手只要配p+1的整數倍最後把先手搞一下就行了
然後由於n比較大,邊讀邊取模就行了
**:
#include voidcl()
if(ha==p-1||ha%2) printf("
lsx\n");
else printf("
gjk\n");
}}int main()
飛躍太平洋 9 12
飛躍太平洋 9 12 旅行總是艱辛的,特別是長途旅行,況且當重點是行而不是旅的時候。去延安坐過十幾個小時的汽車,去北京坐過十幾個小時的火車,到達目的地後的喜悅可以沖淡旅途的疲勞。但這次我不曉得在經濟艙內坐十幾個小時的感覺會怎樣 期望越大失望越大,所以生活中有時悲觀點也不無益處。當你揣著受苦受難的準備...
leetcode 題目417 太平洋大西洋水流問題
2020 3 27 打卡 給定乙個 m x n 的非負整數矩陣來表示一片大陸上各個單元格的高度。太平洋 處於大陸的左邊界和上邊界,而 大西洋 處於大陸的右邊界和下邊界。規定水流只能按照上 下 左 右四個方向流動,且只能從高到低或者在同等高度上流動。請找出那些水流既可以流動到 太平洋 又能流動到 大西...
417太平洋大西洋水流問題
採用逆向思維,從陣列的最外邊開始遍歷,向陣列中心開始遍歷,如果太平洋和大西洋都被訪問過,那麼當前節點就就符合題目條件。class solution,bool iseffective int x,int y void dfs int x,int y,int pre,vector bool shuzu,...