牛客練習賽40A題

2021-09-18 07:28:08 字數 2456 閱讀 2242

題目描述

作為這命運劇場永遠的觀眾,小d一直注視著這片星光璀璨的舞台,舞台上,少女們的身姿演繹出了一幕幕動人的場景,令人回味無窮。

有的時候,小d也會自己寫一些歌曲,來加入starlight的劇本,使得劇本充滿了新的生命力。

現在小d又要準備寫樂譜了,小d寫譜的方式比較獨特。他會先寫出乙個按照音符出現順序排成的序列,再進一步整合,每次整合會選取相鄰的三個作為三和弦。整合次數無限。

小d選取的音符形如d5 f6這種形式,例如d5表示d大調sol(這裡不考慮公升降音)為了方便生成樂譜,他將這些音符進一步轉化了,小d給c d e f g a b重新編號成了1 2 3 4 5 6 7,之後新的音符編號生成方式應為(字母對應的標號-1)*7+數字,例如c7=(1−1)×7+7=7但小d討厭一些他所認為的不優美的和弦,因此他並不希望自己的譜子裡面有可能出現這樣的三和弦,也就說音符組成的序列裡不應該存在他所討厭的子段,假如c5 f1 a2這三個音符湊成的和弦小d不喜歡,那麼序列裡面就不能出現c5 f1 a2,c5 a2 f1,a2 c5 f1,a2 f1 c5,f1 a2 c5,f1 c5 a2這六種子段。

現在小d正在推算有多少合法的序列,答案對 109+7 取模。星屑飄灑的舞台上,可人綻放的愛之花,請努力讓大家星光閃耀吧!

輸入描述

第一行為兩個整數 n, q ,表示序列的長度和有多少和弦小d不喜歡.接下來 q 行,每行三個整數 a, b, c ,表示小d不想出現的和弦

輸出描述

一行乙個整數,表示答案

輸入樣例

10 10

18 3 3

43 28 22

42 28 3

48 48 4

29 9 31

47 9 22

1 22 49

15 48 29

2 8 27

4 24 34

輸出樣例

382785822

輸入樣例

3 11 2 3

輸出樣例

117643

說明

一共有6種不合法的序列:

1 2 3

1 3 2

2 1 3

2 3 1

3 1 2

3 2 1

答案為:493−6=117643

資料範圍

3≤n≤500,0≤q≤117649,1≤a,b,c≤49

思路:dp[i][j][k]表示第i位為k,i-1位為j時的方案數,dp[i][k][l]=dp[i][k][l]+vis[j][k][l]*dp[i-1][j][k],vis[j][k][l]=1表示合法。每一步都要取餘。

123

4567

891011

1213

1415

1617

1819

2021

2223

2425

2627

2829

3031

3233

3435

3637

3839

4041

4243

4445

4647

4849

5051

5253

5455

5657

5859

6061

62

#include

#include

#include

#include

using

namespace

std;

typedef

long

long ll;

template

t>

inline

void

read(t &n)

while (ch >= '0'&&ch <= '9')

n = flag == 1 ? -ans : ans;

}ll dp[550][50][50];

int vis[50][50][50];

const ll maxn = 1e9 + 7;

intmain()}

}for (register

int i = 1; i <= m; ++i)

dp[0][0][0] = 1;

for (int i = 1; i <= n; i++) }}

}ll ans = 0;

for (int i = 0; i < 50; i++)

}printf("%lld\n", ans);

system("pause");

}

賞 謝謝你請我吃糖果

牛客練習賽40

題目鏈結 c題 小a與尤拉路 先考慮迴路的情況。由於是一棵樹,任兩點間路徑只有一條,從一條邊走到深度更大的點,一定還會從同一條邊返回以回到起點或者遍歷其他子樹,所以每條邊需要複製一次,此時答案是邊權和的兩倍。不是迴路的情況可以減掉從終點回到起點的路徑,要讓這條路徑盡量長,所以長度一定是直徑的長度。答...

牛客練習賽40 題解(部分)

官方題解 a 小d的劇場 大概意思就是,有1 49個數,代表著不同的音符,問你能組成長度為n的串有多少種 mod 109 7 有若干個限制,比如1 2 3,就是1,2,3不能放在一起,然後問你在這些限制下有多少種不同的長度為n的串。3 n 500,0 q 117649,1 a,b,c 49 思路 看...

牛客練習賽65水題

powered by ab in 局外人 純模擬題。mod 998244353 n int input s list map int input split s.sort if n 1 lst s n 2 1 tmp s n 2 1 ans 1for i in tmp ans ans i mod p...