HDOJ 2065 紅色病毒 問題

2021-06-28 03:37:51 字數 1609 閱讀 2525

題意:給出乙個只有」abcd"四種字元的字串,字串中必須為偶數個a和c(可為0個),求長度為n時,存在多少種滿足要求的字串( 輸出總數的最後兩位即可)

思路:dfs暴搜,找到規律kn = 2 * 4^(n-1) - 2 ^ ( n-1),打表。

注意點:迴圈節為3-22,注意取餘方式

以下為ac**:

run id

submit time

judge status

pro.id

exe.time

exe.memory

code len.

language

author

12677466

2015-01-10 16:26:40

accepted

2065

0ms1248k

2194 b

g++luminous11

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define ll long long

#define ull unsigned long long

#define all(x) (x).begin(), (x).end()

#define clr(a, v) memset( a , v , sizeof(a) )

#define pb push_back

#define mp make_pair

#define read(f) freopen(f, "r", stdin)

#define write(f) freopen(f, "w", stdout)

using namespace std;

const double pi = acos(-1);

/*int cnt = 0;

int k;

int num[100] = ;

void check()

; for ( int i = 1; i <= k; i ++ )

if ( ( a[1] % 2 == 0 ) && ( a[3] % 2 == 0 ) )

}void dfs ( int n )

for ( int i = 1; i < 5; i ++ )

}int main()

return 0;}*/

//以上為dfs暴搜過程

int main()

; ull b[80] = ;

for ( int i = 1; i < 60; i ++ )

for ( int i = 2; i < 60; i ++)

ull k;

int t;

bool flag = 0;

while ( cin >> t && t )

cout << "case " << i << ": " << a[k] % 100 << endl;

}cout << endl;

}}

hdu 2065 紅色病毒 問題

複習母函式,發現這道題可以用矩陣快速冪。然後做了一下 母函式 看起來好複雜的樣子 列dp方程,構造矩陣 dp n dp i 0 表示放到了第i位,前i位中有 偶數個a,有 偶數個c dp i 1 表示放到了第i位,前i位中有 奇數個a,有 偶數個c dp i 2 表示放到了第i位,前i位中有 偶數個...

HDU s ACM 2065 紅色病毒 問題

分析 這是指數型母函式的第一滴血,可參考一般型母函式 hdu s acm 1028 ignatius and the princess iii,設g x 1 x 2 2 x 4 4 x 6 1 x 1 x 2 2 x 3 3 由無窮級數e x x k k 得x n的係數為4 n 1 2 n 1 注意...

hdu 2065 紅色病毒 問題

problem description 醫學界發現的新病毒因其蔓延速度和internet上傳播的 紅色病毒 不相上下,被稱為 紅色病毒 經研究發現,該病毒及其變種的dna的一條單鏈中,胞嘧啶,腺嘧啶均是成對出現的。現在有一長度為n的字串,滿足一下條件 1 字串僅由a,b,c,d四個字母組成 2 a出...