loj2091 「ZJOI2016」小星星

ref
总的来说,就是

  1. 容斥转化为点对应到点集问题。
  2. 树形 dp 解决转化后的问题。
#include 
#include 
#include 
#include 
using namespace std;
typedef long long ll;
int n, m, hea[19], cnt, uu, vv;
bool w[19][19];
ll dp[19][19], ans;
struct Edge{int too, nxt;
}edge[105];
vector vec;
void add_edge(int fro, int too){edge[++cnt].nxt = hea[fro];edge[cnt].too = too;hea[fro] = cnt;
}
void dfs(int x, int f){for(int i=0; i>n>>m;for(int i=1; i<=m; i++){scanf("%d %d", &uu, &vv);w[uu][vv] = w[vv][uu] = true;}for(int i=1; i

转载于:https://www.cnblogs.com/poorpool/p/9079045.html


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部