前話
聽說學oi的同志們數學都挺好。那麼。就請完成下面的題目證明這一點吧!
這裡的題不是一般的難,首先要結合一定的基礎和想象力與聯想力。
正題第一題:花園
這一題是我最後才做的,因為題目只給出了乙個環形花圃。
主要利用的是乘法原理和加法原理來解決問題。
我們用乙個m位的二進位制數來儲存當前的狀態。
假如i狀態到k狀態有2種走法,k狀態到j狀態有3種走法。那麼i到j就有2*3=6種走法。
又假設i狀態到p狀態有3種走法,p狀態到j狀態有4種走法。那麼i到j又有3*4=12種走法。
所以根據加法原理,i到j有18種走法。
覺不覺得很像矩陣乘法f[i][j] += f[i][k]*f[k][j] (0<=k<=(1<
那麼我們乘一次,就相當於從i到i+m-1 轉移到了 i+1到i+m
那麼很明顯,我們乘n次看一下,從第乙個合法狀態到第n步的相同狀態的走法。
相加輸出即可.
**
#include#include#includebool v[64];
long long n,m,k;
const long long mod=1000000007;
struct node
void dfs(int p,int num,int zt)
dfs(p+1,num,zt);
if(num0)
}int main()
提高歷練地 其他數學問題
p1641 scoi2010 生成字串 題目描述 lxhgww最近接到了乙個生成字串的任務,任務需要他把n個1和m個0組成字串,但是任務還要求在組成的字串中,在任意的前k個字元中,1的個數不能少於0的個數。現在lxhgww想要知道滿足要求的字串共有多少個,聰明的程式設計師們,你們能幫助他嗎?輸入格式...
計算係數,洛谷之提高歷練地,數論(3 5)
正題 第四題 計算係數 做這道題之前先要明白乙個東西,楊暉三角型的第i行表示的正是 x y 的 i 1 次方的係數。斐波那契搞一搞發現不會超時。注意數量關係,建議做題之前先要理清思路。include include includeint s 1010 1010 int a,b,k,n,m const...
情書,洛谷之提高歷練地,強連通分量
正題 給你乙份情書 這題就是裸裸的字典樹。對於乙個句子,我們把每乙個單詞提取出來,放進字典樹內,如果有完全匹配的單詞 存單詞時標記一下最後乙個節點 那麼我們就加一,輸出ans即可,注意要開乙個bool陣列來儲存是否出現過單詞。include include include includeusing ...