牛客16732 序列(排列组合)
生活随笔
收集整理的這篇文章主要介紹了
牛客16732 序列(排列组合)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
同個人網站 https://www.serendipper-x.cn/,歡迎訪問 !
鏈接:https://ac.nowcoder.com/acm/problem/16732
來源:??途W
時間限制:C/C++ 1秒,其他語言2秒
空間限制:C/C++ 262144K,其他語言524288K
64bit IO Format: %lld
題目描述
有一個長度為n的序列a,已知a[1]=a[n]=1,且對于2 <= x <= n,a[x] / a[x-1]是以下三個數字之一 [ 1,-2,0.5 ],問有多少種不同的序列滿足題意。
兩個序列不同當且僅當它們有至少一個位置上的數字不同,序列a可以為任何實數。
輸入描述:
一個整數 表示n (1<= n <= 1e3)
輸出描述:
一個整數 表示答案模 109 +7
直接整體來看,a[x] = a[x-1]*[1, -2, 0.5],那么等于選出n-1個數值相乘
最后答案要是1,所以-2就必須有偶數個,同理0.5的個數要等于-2,順序無關
n = int(input())import math MOD = 1000000007 def c(m, n):return math.factorial(m) // math.factorial(n) // math.factorial(m - n) % MOD ans = 0 i = 0 num = n-1 while i <= num // 2:ans = (ans + c(num, i) * c(num - i, i)) % MODi += 2 print(ans)總結
以上是生活随笔為你收集整理的牛客16732 序列(排列组合)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库基础知识——DQL语言(一)
- 下一篇: 计算机网络(一)-概述