排列組合數學 子串行

2021-09-20 21:11:31 字數 793 閱讀 9989

題目描述

給定乙個小寫字母字串t

求有多少長度為m的小寫字母字串s滿足,t是s的乙個子串行(不需要連續)

輸入描述:

第一行乙個字串t

第二行乙個正整數m

輸出描述:

輸出答案對109+7取模的值

示例1輸入a2

輸出51

說明長度為2的裡面有a的串有51種

備註:1<=|t|,m<=105

列舉終點,前面的除了已經確定的 每個有25種選法,後面的每個有26種選法,前面的加個組合數就好,注意終點的值是確定的為t字串的最後乙個字元,所以組合數應寫成c(i-1,lens-1),i表示終點,lens是字串t的長度。

#include

using namespace std;

#define ll long long

const ll mod =

1e9+7;

ll p[

100005

],pp[

100005];

ll fac[

100005

],inv[

100005];

void

init()

}ll q_pow

(ll a,ll b)

a=a*a%mod;

b=b/2;

}return ans;

}ll c

(ll n,ll m)

intmain()

cout

}

排列 組合數學

定義 從n個不同的元素中,取出m個不同元素,按照順序排成一列,叫做從n個元素取出m個元素的乙個排列。我們將從n個不同的元素取出m個元素所得到得不同排列數,叫做從n個元素取出m個元素的排列數 記為a n,m 其中n m a n,m n n 1 n m 1 n n m 定義 n個不同元素中取m個不同元素...

組合數學之排列組合若干題

poj1833 題目連線 題意 中文題目題意不多說,只是用到了stl裡面的next permutation 函式 next permutation op1,op2 最後乙個排列時返回null include include include include include includeusing n...

排列組合(組合數)

儒雅隨和的小趙閒暇時很喜歡古典文學,比如金 金銀角大王和孫悟空。話說悟空一行在西天取經路上遇上了妖怪金角大王 銀角大王,把唐僧 八戒 沙僧 白馬,連行李一道擄去。兩個大王有幾個法寶,其中乙個是個魔葫蘆,妖怪叫誰的名字,誰應一聲,就被吸進葫蘆,兩個時辰化為膿水。孫悟空來鬥妖魔,魔王叫 孫悟空 他應了,...