BZOJ2734 HNOI2012 集合選數

2022-05-20 05:30:33 字數 607 閱讀 9934

蒻得不行的我覺得這是一道比較難的題,以至於我卡了很久

可以看出,所有會互相直接造成影響的數之間構成一張\(dag\),邊就是\(i->i*2,i->i*3\)

取出每乙個連通塊之後,連了邊的點不能同時選,就是乙個獨立集個數的問題

\(dag\)還可以求獨立集?

我們其實可以驚人得發現,這張\(dag\)過於整齊,每個點都是至多兩條出邊,就是乙個網格圖,轉化成一張網格圖上相鄰的點不能取的問題

這個,狀壓矩陣即可\(dp[i][s]\)

const int n=1e5+10,p=1e9+1;  

int n;

ll dp[20][1<<11];

int a[20];

ll solve(int i)

(dp[t][s2]+=dp[t-1][s1])%=p;

if(!s2) break;}}

}ll res=0;

rep(i,0,a[t]) res+=dp[t][i];

res%=p;

return res;}

int main()

printf("%lld\n",ans);

}

bzoj2734 HNOI2012 集合選數

time limit 10 sec memory limit 128 mb submit 831 solved 487 submit status discuss 集合論與圖論 這門課程有一道作業題,要求同學們求出的所有滿足以 下條件的子集 若 x 在該子集中,則 2x 和 3x 不能在該子集中。同...

bzoj2734 HNOI2012 集合選數

time limit 10 sec memory limit 128 mb submit 889 solved 523 submit status discuss description 集合論與圖論 這門課程有一道作業題,要求同學們求出的所有滿足以 下條件的子集 若 x 在該子集中,則 2x 和 ...

bzoj2734 HNOI2012 集合選數

題目鏈結 集合論與圖論 這門課程有一道作業題,要求同學們求出的所有滿足以 下條件的子集 若 x 在該子集中,則 2x 和 3x 不能在該子集中。同學們不喜歡這種具有列舉性 質的題目,於是把它變成了以下問題 對於任意乙個正整數 n 100000,如何求出 的滿足上述約束條件的子集的個數 只需輸出對 1...