LINK:Independent Set

题目定义了 独立集和边诱导子图。然而和题目没有多少关系。

给出一棵树 求\(\sum_{E'\neq \varnothing,E'\subset E}w(G(E'))\)

\(w(E)\)表示一张E的独立集的个数。E'为边诱导子图.

在这棵树中 边诱导子图的个数为\(2^{n-1}-1\)除掉空集.

还是利用儿子来表示每一条边选了没有 这样可以实现断边的问题。

所以有由于此时独立集的数量只要在知道集合的最大独立集个数时才能O(1)求出 但是个数有很多 还是考虑dp求出数量。

f[i][1/0][1/0]表示i与父亲相连的边在不在诱导子图中0/1,在不在独立集中1/0.

考虑 \(f[i][1][1]=\Pi(f[tn][0][1]+f[tn][0][0]+f[tn][1][0]) tn\in son[i]\)

\(f[i][1][0]=\Pi(f[tn][0][1]+f[tn][0][0]+f[tn][1][0]+f[tn][1][1]) tn\in son[i]\)

\(f[i][0][1]=\Pi(f[tn][0][1]+f[tn][0][0]+f[tn][1][0])-\Pi(f[tn][0][1]+f[tn][0][0]) tn\in son[i]\)

\(f[i][0][0]=\Pi(f[tn][0][1]+f[tn][0][0]+f[tn][1][0]+f[tn][1][1]) tn\in son[i]\)

转移确实不难 但是状态还是很难构思出来的。

  1. const ll MAXN=300010;
  2. ll n,maxx,m,len;
  3. ll lin[MAXN],ver[MAXN<<1],nex[MAXN<<1];
  4. ll f[MAXN][2][2];
  5. inline void add(ll x,ll y)
  6. {
  7. ver[++len]=y;
  8. nex[len]=lin[x];
  9. lin[x]=len;
  10. }
  11. inline void dp(ll x,ll fa)
  12. {
  13. f[x][1][1]=1;
  14. f[x][1][0]=1;
  15. ll sum=1;
  16. go(x)
  17. {
  18. if(tn==fa)continue;
  19. dp(tn,x);
  20. f[x][1][1]=f[x][1][1]*(f[tn][0][1]+f[tn][0][0]+f[tn][1][0])%mod;
  21. f[x][1][0]=f[x][1][0]*(f[tn][0][1]+f[tn][0][0]+f[tn][1][0]+f[tn][1][1])%mod;
  22. sum=sum*(f[tn][0][1]+f[tn][0][0])%mod;
  23. }
  24. f[x][0][1]=(f[x][1][1]-sum)%mod;
  25. f[x][0][0]=f[x][1][0];
  26. }
  27. signed main()
  28. {
  29. freopen("1.in","r",stdin);
  30. get(n);
  31. rep(1,n-1,i)
  32. {
  33. ll get(x);ll get(y);
  34. add(x,y);add(y,x);
  35. }
  36. dp(1,0);putl(((f[1][0][1]+f[1][0][0]-1)%mod+mod)%mod);
  37. return 0;
  38. }

CF R 630 div2 1332 F Independent Set的更多相关文章

  1. CF R 639 div2 F Review 贪心 二分

    LINK:Résumé Review 这道题让我眼前一亮没想到二分这么绝. 由于每个\(b_i\)都是局部的 全局只有一个限制\(\sum_{i=1}^nb_i=k\) 所以dp没有什么用 我们只需要 ...

  2. E CF R 85 div2 1334E. Divisor Paths

    LINK:Divisor Paths 考试的时候已经想到结论了 可是质因数分解想法错了 导致自闭. 一张图 一共有D个节点 每个节点x会向y连边 当且仅当y|x,x/y是一个质数. 设f(d)表示d的 ...

  3. CF R 635 div2 1337D Xenia and Colorful Gems 贪心 二分 双指针

    LINK:Xenia and Colorful Gems 考试的时候没想到一个很好的做法. 赛后也有一个想法. 可以考虑答案的样子 x,y,z 可以发现 一共有 x<=y<=z,z< ...

  4. CF R 632 div2 1333F Kate and imperfection

    赛后看了半天题 才把题目看懂 英语水平极差. 意思:定义一个集合S的权值为max{gcd(a,b)};且\(a\neq b\) 这个集合可以从1~n中选出一些数字 求出当集合大小为k时的最小价值. 无 ...

  5. CF R 632 div2 1333D Challenges in school №41

    LINK:Challenges in school №41 考试的时候读错题了+代码UB了 所以wa到自闭 然后放弃治疗. 赛后发现UB的原因是 scanf读int类型的时候 宏定义里面是lld的类型 ...

  6. CF Round #580(div2)题解报告

    CF Round #580(div2)题解报告 T1 T2 水题,不管 T3 构造题,证明大约感性理解一下 我们想既然存在解 \(|a[n + i] - a[i]| = 1\) 这是必须要满足的 既然 ...

  7. CF round #622 (div2)

    CF Round 622 div2 A.简单模拟 B.数学 题意: 某人A参加一个比赛,共n人参加,有两轮,给定这两轮的名次x,y,总排名记为两轮排名和x+y,此值越小名次越前,并且对于与A同分者而言 ...

  8. CF-1332 F. Independent Set

    F. Independent Set 题意 一颗 n 个节点的树,求出每个\(edge-induced~subgraph\)的独立集个数之和. \(edge-induced~subgraph\)含义是 ...

  9. CF R630 div2 1332 E Height All the Same

    LINK:Height All the Same 比赛的时候 被这道题给打自闭了 还有1个多小时的时候开始想 想了30min 无果 放弃治疗. 心态炸了 F不想看了 应该要把题目全看一遍的 下次不能这 ...

随机推荐

  1. Vue 项目推荐,Github 过万 Star

    电鸭社区-远程工作-自由职业-兼职外包-自由从这开始 嗨,我是 Martin,也叫老王.不少小伙伴,说自己是转行.自学,没有项目,今天推荐一个 Vue 实战项目 还记得 Martin 仿写过在线 Ma ...

  2. C++敲代码前的准备工作

    #pragma GCC target("avx,sse2,sse3,sse4,popcnt") #pragma GCC optimize("O2,Ofast,inline ...

  3. sqlilabs 1-20关 payload

    1.联合查询注入:http://127.0.0.1/sqli/Less-1/?id=-1' union select 1,user(),3 --+http://127.0.0.1/sqli/Less- ...

  4. poi excel单元格的校验

    switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_NUMERIC://数值类型 if (0 == cell.getCellType()) { ...

  5. Hadoop基础(一):概论

    1.大数据概念 2 大数据特点(4V) 图2-2 大数据特点之大量 图2-3 大数据特点之高速 图2-4 大数据特点之多样 图2-5 大数据特点之低价值密度 3 大数据部门业务流程分析 4 大数据部门 ...

  6. 数据可视化实例(十四):带标记的发散型棒棒糖图 (matplotlib,pandas)

    偏差 (Deviation) 带标记的发散型棒棒糖图 (Diverging Lollipop Chart with Markers) 带标记的棒棒糖图通过强调您想要引起注意的任何重要数据点并在图表中适 ...

  7. bzoj4318OSU!*

    bzoj4318OSU! 题意: 一个长度为n的序列,每个元素有一定概率是1,不是1就是0.连续x个1可以贡献x^3的分数,问期望分数. 题解: 期望dp.f1[i]表示连续到i的期望长度,f2[i] ...

  8. 小程序开发全栈1.2/3/4组件、flex布局、样式

    1.2 组件 1.2.1 text组件 编写文本信息,类似于HTTP中的span 1.2.2 view组件 容器,类似于HTTP中的div 1.2.3 image组件 图片显示组件 1.3 页面fle ...

  9. 【原创】xenomai内核解析--同步互斥机制(一)--优先级倒置

    版权声明:本文为本文为博主原创文章,转载请注明出处.如有错误,欢迎指正.博客地址:https://www.cnblogs.com/wsg1100/ 目录 一.xenomai 资源管理简要 二.优先级倒 ...

  10. Flutter防止布局溢出

    添加一层可滑动View(Widget)的布局, 将之前进行包裹: return new Scaffold(      appBar: new AppBar(        title: new Tex ...