问题 I: 连通块计数
生活随笔
收集整理的這篇文章主要介紹了
问题 I: 连通块计数
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
問(wèn)題 I: 連通塊計(jì)數(shù)
時(shí)間限制: 1 Sec??內(nèi)存限制: 128 MB
提交: 108??解決: 45
[提交] [狀態(tài)] [討論版] [命題人:admin]
題目描述
小A有一棵長(zhǎng)的很奇怪的樹(shù),他由n條鏈和1個(gè)點(diǎn)作為根構(gòu)成,第i條鏈有ai個(gè)點(diǎn),每一條鏈的一端都與根結(jié)點(diǎn)相連。
現(xiàn)在小A想知道,這棵長(zhǎng)得奇怪的樹(shù)有多少非空的連通子樹(shù),你只需要輸出答案對(duì)998244353取模的值即可
?
輸入
第一行一個(gè)正整數(shù)n
第二行n個(gè)正整數(shù)a1…an
1≤n≤105
1≤ai≤107
?
輸出
輸出答案對(duì)998244353取模后的值
?
樣例輸入
2 1 1?
樣例輸出
6AC代碼:
#include <stdio.h> #include <iostream> #include <algorithm> #include <math.h> #include <stdlib.h> #include <string.h> #include <map> #include <limits.h> #include <stack> #include <queue> #include <vector> #include <bitset> #define ll long long #define inf 0x3f3f3f3f using namespace std; const int man=1e5+50; const ll mod=998244353; ll a[man],b[man]; ll n,i,j; int main() {#ifndef ONLINE_JUDGE// freopen("in.txt","r",stdin);#endifscanf("%lld",&n);for(i=0;i<n;i++)scanf("%lld",&a[i]);ll m=1;for(i=0;i<n;i++)m=(m*(a[i]+1))%mod;for(i=0;i<n;i++)m=(m+a[i]*(1+a[i])/2%mod)%mod;printf("%lld\n",m);return 0; }?
總結(jié)
以上是生活随笔為你收集整理的问题 I: 连通块计数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Qt自定义QML模块
- 下一篇: MIP 官方发布 v1稳定版本