欧美1区2区3区激情无套,两个女人互添下身视频在线观看,久久av无码精品人妻系列,久久精品噜噜噜成人,末发育娇小性色xxxx

【每日一題】樹 (dp)

https://ac.nowcoder.com/acm/problem/13611

Solution
因?yàn)槭菢?,所以保證任意兩點(diǎn)都可以到達(dá),所以可以選擇從一個(gè)葉子節(jié)點(diǎn)作為出發(fā)點(diǎn)思考,

表示這個(gè)葉子節(jié)點(diǎn)所在包含了 i 個(gè)節(jié)點(diǎn)的子圖染了 j 種顏色的方案。
考慮當(dāng)前取的顏色是否和前 次取的顏色一樣,就是兩種決策:

  1. 若取的顏色相同則:
  2. 若取的是新的顏色,則有 種新顏色可以選擇,則:

這樣的話就可以從一個(gè)葉子節(jié)點(diǎn)開始染色到把整棵樹染色。
最后累加 n 個(gè)點(diǎn)取 1~k 種顏色的方案即可。

Code

#include<bits/stdc++.h>
#define ll long long
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define inf 0x3f3f3f3f
using namespace std;
inline ll read(){ll s=0,w=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();return s*w;}
void put1(){ puts("Yes") ;}void put2(){ puts("No") ;}void put3(){ puts("-1"); }

const int manx=3e2+5;

ll mod=1000000000+7;

ll dp[manx][manx];

int main(){
    ll n=read(),k=read();
    dp[0][0]=1;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=k;j++)
            dp[i][j]+=(dp[i-1][j-1]*(k-j+1)+dp[i-1][j]), dp[i][j]%=mod;
    ll ans=0;
    for(int i=1;i<=k;i++)
        ans+=dp[n][i],ans%=mod;
    cout<<ans;
    return 0;
}

全部評(píng)論
借樓問下ACM比賽中不用的輸入不讀入也算通過嗎?
點(diǎn)贊 回復(fù) 分享
發(fā)布于 2020-04-09 23:03

相關(guān)推薦

昨天 13:14
已編輯
中山大學(xué) 算法工程師
???49740264號(hào):友友,要不要看看我們這里的算法崗?現(xiàn)在是急招崗,最后3天截至,歡迎來試一試呀
點(diǎn)贊 評(píng)論 收藏
分享
高斯林的信徒:武大簡(jiǎn)歷掛?我勒個(gè)騷崗
點(diǎn)贊 評(píng)論 收藏
分享
評(píng)論
4
收藏
分享

創(chuàng)作者周榜

更多
??途W(wǎng)
??推髽I(yè)服務(wù)