问题 I: 连通块计数
生活随笔
收集整理的這篇文章主要介紹了
问题 I: 连通块计数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題 I: 連通塊計數
時間限制: 1 Sec??內存限制: 128 MB
提交: 108??解決: 45
[提交] [狀態] [討論版] [命題人:admin]
題目描述
小A有一棵長的很奇怪的樹,他由n條鏈和1個點作為根構成,第i條鏈有ai個點,每一條鏈的一端都與根結點相連。
現在小A想知道,這棵長得奇怪的樹有多少非空的連通子樹,你只需要輸出答案對998244353取模的值即可
?
輸入
第一行一個正整數n
第二行n個正整數a1…an
1≤n≤105
1≤ai≤107
?
輸出
輸出答案對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; }?
總結
以上是生活随笔為你收集整理的问题 I: 连通块计数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt自定义QML模块
- 下一篇: C#异或运算符的使用【C#】