Hdu 5496 Beauty of Sequence (组合数)
生活随笔
收集整理的這篇文章主要介紹了
Hdu 5496 Beauty of Sequence (组合数)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目鏈接:
Hdu 5496 Beauty of Sequence
題目描述:
一個(gè)整數(shù)序列,除去連續(xù)的相同數(shù)字(保留一個(gè))后,序列的和成為完美序列和。問:一個(gè)整數(shù)序列的所有子序列的完美序列和?
解題思路:
考慮位于i位置數(shù)字x的貢獻(xiàn)值,假設(shè)x是子序列中連續(xù)相同數(shù)字的第一個(gè),那么x對(duì)于i后面的數(shù)有2(n-i)個(gè)貢獻(xiàn)值,對(duì)前面的數(shù),要么不選取,要么選取結(jié)尾不為x的方案數(shù)目。
#include <map>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std; typedef long long LL;
const LL maxn = ;
const LL mod = ;
LL a[maxn];
map<LL, LL>M; int main ()
{
LL t, n;
scanf ("%lld", &t); while (t --)
{
scanf ("%lld", &n);
for (int i=; i<n; i++)
scanf ("%lld", &a[i]); LL sum, cnt, num;
sum = cnt = ;
M.clear(); for (int i=; i<n; i++)
{
num = (cnt + - M[a[i]] + mod) % mod;
sum = ( * sum % mod + num * a[i] % mod) % mod;
M[a[i]] = (M[a[i]] + cnt + ) % mod;
cnt = (cnt * + ) % mod;
} printf ("%lld\n", sum);
}
return ;
}
總結(jié)
以上是生活随笔為你收集整理的Hdu 5496 Beauty of Sequence (组合数)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NPOI在EXCEL中插入图片和超链接
- 下一篇: List去除重复数据的五种方式