给出图,求他的“仙人掌度”,即求包括他自身的生成子图有多少?

只能删去仙人掌上的叶子的一条边,然后根据乘法原理相乘;

1、怎么求一个仙人掌叶子上有多少边? 可以利用点,边双连通的时间戳这个概念,但是绝对时间是不对的,只能用相对的时间戳。

2、怎么把第二种情况剔除掉?    就是记录每一个点加入环中的次数;

3、第三种情况,就是判连通了;

 #include <bits/stdc++.h>

 using namespace std;

 const int maxn =  + ;

 struct Sol {
vector<int> G[maxn];
int cyclecnt;
int cycle[maxn];
int dfn[maxn];
int c[maxn];
int n;
int num[maxn]; void init(int n) {
this->n = n;
for(int i=; i<=n; i++)
G[i].clear();
memset(dfn,,sizeof(dfn));
memset(cycle,,sizeof(cycle));
memset(num,,sizeof(num));
cyclecnt = ;
dfn[] = ;
} void AddEdge (int from,int to) {
G[from].push_back(to);
G[to].push_back(from);
} void dfs(int u,int fa) {
for(int i=; i<G[u].size(); i++) {
int v = G[u][i];
if(v==fa) continue; if(!dfn[v]) {
dfn[v] = dfn[u] + ;
dfs(v,u);
c[u]+=c[v];
} else if(dfn[v]<dfn[u]) {
cycle[cyclecnt++] = dfn[u] - dfn[v] + ;
c[u]++;
c[v]--;
}
}
} void ans() {
for(int i=; i<=n; i++)
if(c[i]>||dfn[i]==) {
puts("");
return;
}
//int res = 1;
//for(int i=0;i<cyclecnt;i++)
// res = res * cycle[i];
//return res; int len = ;
num[] = ; for(int i=; i<cyclecnt; i++) { for(int j=; j<=len; j++)
num[j] = num[j]*cycle[i]; for(int j=; j<=len; j++) {
num[j+] += num[j]/;
num[j] = num[j]%;
}
while(num[len+]) {
num[len+]+=num[len+]/;
num[++len]%=;
}
} for(int i=len; i>=; i--)
printf("%d",num[i]);
puts("");
} } sol; int main() {
freopen("cactus.in","r",stdin);
freopen("cactus.out","w",stdout);
int n,m;
scanf("%d%d",&n,&m); sol.init(n); for(int i=; i<m; i++) {
int k,u;
scanf("%d%d",&k,&u);
for(int i=; i<k-; i++) {
int v;
scanf("%d",&v);
sol.AddEdge(u,v);
u = v;
}
} sol.dfs(,-); sol.ans(); //printf("%d\n",sol.ans()); return ;
}

Gym 101334C 无向仙人掌的更多相关文章

  1. HDU 6041.I Curse Myself 无向仙人掌图

    I Curse Myself Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

  2. Gym - 101334C 3514 无向仙人掌

    http://codeforces.com/gym/101334/attachments 题意: 判断是否是仙人掌图并且连通,如果是的话则计算出它有多少个连通子图也是仙人掌. 思路:连通子图也就是我们 ...

  3. $dy$讲课总结

    字符串: 1.广义后缀自动机(大小为\(m\))上跑一个长度为\(n\)的串,所有匹配位置及在\(parent\)树上其祖先的数量的和为\(min(n^2,m)\),单次最劣是\(O(m)\). 但是 ...

  4. codeforces GYM 100114 J. Computer Network 无相图缩点+树的直径

    题目链接: http://codeforces.com/gym/100114 Description The computer network of “Plunder & Flee Inc.” ...

  5. Gym 100553B Burrito King 无脑背包

    题意就是你有n和m两个上限 吃一个东西会同时增加两个东西 m的值不能超过给定的m 问最后的n m值和每个东西吃了多少 贪心一下就好了 算一下性价比 从最大的开始吃 直到吃满了m n也一定是最大了 只是 ...

  6. 深度|OpenAI 首批研究成果聚焦无监督学习,生成模型如何高效的理解世界(附论文)

    本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载,原文. 选自 Open AI 作者:ANDREJ KARPATHY, PIETER ABBEEL, GREG BRO ...

  7. 【BZOJ-1952】城市规划 [坑题] 仙人掌DP + 最大点权独立集(改)

    1952: [Sdoi2010]城市规划 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 73  Solved: 23[Submit][Status][ ...

  8. 【BZOJ-4316】小C的独立集 仙人掌DP + 最大独立集

    4316: 小C的独立集 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 57  Solved: 41[Submit][Status][Discuss] ...

  9. (转)【重磅】无监督学习生成式对抗网络突破,OpenAI 5大项目落地

    [重磅]无监督学习生成式对抗网络突破,OpenAI 5大项目落地 [新智元导读]"生成对抗网络是切片面包发明以来最令人激动的事情!"LeCun前不久在Quroa答问时毫不加掩饰对生 ...

随机推荐

  1. jquery 属性选择器

    jquery 属性选择器   第一种根据属性选择E[attr] $("[title]").click().......... 即选择所有元素内 属性带有title的元素即<l ...

  2. pat02-线性结构3. 求前缀表达式的值(25)

    02-线性结构3. 求前缀表达式的值(25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 算术表达式有前缀表示法.中缀表示法和后缀表示法 ...

  3. bnu 28890 &zoj 3689——Digging——————【要求物品次序的01背包】

    Digging Time Limit: 2000ms Memory Limit: 65536KB This problem will be judged on ZJU. Original ID: 36 ...

  4. [转] EF cannot be tracked because another instance of this type with the same key is already being tracked

    本文转自:http://stackoverflow.com/questions/6033638/an-object-with-the-same-key-already-exists-in-the-ob ...

  5. .net 金额中文大写 日期转中文

    金额中文大写 #region 中文大写 /// <summary> /// 返回中文数字 ,如壹佰元整 /// </summary> /// <param name=&q ...

  6. asp.net之cookie

    1.创建cookie HttpCookie userCookie = new HttpCookie("userInfo"); userCookie["name" ...

  7. CSP学习之CryptoAPI初识

    Crypto API目的就是提供开发者在windows下使用PKI的编程接口. Crypto 提供了很多的加解密相关函数,如编码.解码.加密解密,哈希,数字证书.证书管理证书存储等.       有关 ...

  8. 【代码笔记】Java连连看项目的实现(1)——JTable 、TableModel的使用

    javax.swing.table.TableModel和javax.swing.JTable JTable .TableModel是Java里面画表格的包. TableModel:为Table提供显 ...

  9. Js浮动广告效果实现

    第一种 漂浮广告 不符合W3CJavaScript漂浮广告代码,很不错,代码精简,不过一次只有漂一个,复制就能用了.希望站长朋友喜欢. <html> <head> <ti ...

  10. 1e6等于多少?

    如果抽象成这样:aeb 要求a不能不写,也就是说是1也要写上 b必须是整数. 实现上就是 a*10^b a乘以10的b次方 所以楼主的就是1*10^6 100000