哪里有幻想乡里的妖怪大贤者的大妖怪小说,尤其是刚上架时的那两章

4596: [Shoi2016]黑暗前的幻想乡
Time Limit:&20 Sec&&Memory Limit:&256 MBSubmit:&324&&Solved:&187
Description
四年一度的幻想乡大选开始了,最近幻想乡最大的问题是很多来历不明的妖
怪涌入了幻想乡,扰乱了幻想乡昔日的秩序。但是幻想乡的建制派妖怪(人类)
博丽灵梦和八云紫等人整日高谈所有妖怪平等,幻想乡多元化等等,对于幻想乡
目前面临的种种大问题却给不出合适的解决方案。
风间幽香是幻想乡里少有的意识到了问题的严重性的大妖怪。她这次勇敢的
站了出来参加幻想乡大选。提出包括在幻想乡边境建墙(并让人类出钱),大力
开展基础设施建设挽回失业率等一系列方案,成为了大选年出人意料的黑马并顺
利的当上了幻想乡的大统领。
幽香上台以后,第一项措施就是要修建幻想乡的公路。幻想乡有 N 个城市,
之间原来没有任何路。幽香向选民承诺要减税,所以她打算只修 N- 1 条路将
这些城市连接起来。但是幻想乡有正好 N- 1 个建筑公司,每个建筑公司都想
在修路的过程中获得一些好处。
虽然这些建筑公司在选举前没有给幽香钱,幽香还是打算和他们搞好关系,
因为她还指望他们帮她建墙。所以她打算让每个建筑公司都负责一条路来修。
每个建筑公司都告诉了幽香自己有能力负责修建的路是哪些城市之间的。所
以幽香打算选择 N-1 条能够连接幻想乡所有城市的边,然后每条边都交给一
个能够负责该边的建筑公司修建,并且每个建筑公司都恰好修一条边。
幽香现在想要知道一共有多少种可能的方案呢?两个方案不同当且仅当它
们要么修的边的集合不同,要么边的分配方式不同。
第一行包含一个正整数 N(N&=17), 表示城市个数。
接下来 N-1 行,其中第 i行表示第 i个建筑公司可以修建的路的列表:
以一个非负数mi 开头,表示其可以修建 mi 条路,接下来有mi 对数,
每对数表示一条边的两个端点。其中不会出现重复的边,也不会出现自环。
仅一行一个整数,表示所有可能的方案数对 10^9 + 7 取模的结果。
Sample Input
5 2 1 3 1 3 2 4 1 4 3
4 2 1 3 2 4 1 4 2
Sample Output
  每个人恰好一条边什么的,容斥即可。
  就是枚举有1个人没有边,2个人没有边。。。。
  容斥完之后就能保证每个人恰好一条也不会多,因为n-1=n-1。
  后面就是矩阵树定理,这里直接用逆元了,还不会lhm大神说的不用除法的方法orz。。
1 #include&cstdio&
2 #include&cstdlib&
3 #include&cstring&
4 #include&iostream&
5 #include&algorithm&
6 using namespace
7 #define Mod
9 int m[<span style="color: #],a[<span style="color: #][<span style="color: #];
<span style="color: #
<span style="color: # struct node {int x,y;}t[<span style="color: #][<span style="color: #0];
<span style="color: #
<span style="color: # int qpow(int x,int b)
<span style="color: # {
<span style="color: #
int ans=<span style="color: #;
<span style="color: #
<span style="color: #
<span style="color: #
if(b&<span style="color: #) ans=1LL*ans*x%M
<span style="color: #
x=1LL*x*x%M
<span style="color: #
b&&=<span style="color: #;
<span style="color: #
<span style="color: #
<span style="color: # }
<span style="color: #
<span style="color: # int gauss(int n)
<span style="color: # {
<span style="color: #
int ans=<span style="color: #;
<span style="color: #
for(int i=<span style="color: #;i&=n;i++)
<span style="color: #
<span style="color: #
<span style="color: #
for(int j=i+<span style="color: #;j&=n;j++) if(a[j][i]&a[t][i]) t=j;
<span style="color: #
if(a[t][i]==<span style="color: #) return <span style="color: #;
<span style="color: #
<span style="color: #
<span style="color: #
<span style="color: #
for(int j=<span style="color: #;j&=n;j++) swap(a[i][j],a[t][j]);
<span style="color: #
<span style="color: #
int ny=qpow(a[i][i],Mod-<span style="color: #)%M
<span style="color: #
for(int j=i+<span style="color: #;j&=n;j++)
<span style="color: #
<span style="color: #
int nw=1LL*a[j][i]*ny%M
<span style="color: #
for(int k=<span style="color: #;k&=n;k++) a[j][k]-=1LL*a[i][k]*nw%Mod,a[j][k]=(a[j][k]%Mod+Mod)%M
<span style="color: #
<span style="color: #
<span style="color: #
for(int i=<span style="color: #;i&=n;i++) ans=1LL*ans*a[i][i]%M
<span style="color: #
ans=(ans+Mod)%M
<span style="color: #
<span style="color: # }
<span style="color: #
<span style="color: # int main()
<span style="color: # {
<span style="color: #
<span style="color: #
scanf("%d",&n);
<span style="color: #
for(int i=<span style="color: #;i&n;i++)
<span style="color: #
<span style="color: #
scanf("%d",&m[i]);
<span style="color: #
for(int j=<span style="color: #;j&=m[i];j++) scanf("%d%d",&t[i][j].x,&t[i][j].y);
<span style="color: #
<span style="color: #
int ans=<span style="color: #;
<span style="color: #
for(int i=<span style="color: #;i&(<span style="color: #&&n-<span style="color: #);i++)
<span style="color: #
<span style="color: #
memset(a,<span style="color: #,sizeof(a));
<span style="color: #
int sm=<span style="color: #;
<span style="color: #
for(int j=<span style="color: #;j&n;j++) if((<span style="color: #&&j-<span style="color: #)&i)
<span style="color: #
<span style="color: #
<span style="color: #
for(int k=<span style="color: #;k&=m[j];k++)
<span style="color: #
<span style="color: #
a[t[j][k].x][t[j][k].x]++;
<span style="color: #
a[t[j][k].y][t[j][k].y]++;
<span style="color: #
a[t[j][k].x][t[j][k].y]--;
<span style="color: #
a[t[j][k].y][t[j][k].x]--;
<span style="color: #
<span style="color: #
<span style="color: #
if((n-<span style="color: #-sm)&<span style="color: #) ans-=gauss(n-<span style="color: #);
<span style="color: #
else ans+=gauss(n-<span style="color: #);
<span style="color: #
ans=(ans%Mod+Mod)%M
<span style="color: #
<span style="color: #
printf("%d\n",ans);
<span style="color: #
return <span style="color: #;
<span style="color: # }
阅读(...) 评论()幻想乡的超级大妖怪最新章节(大馒头君)_幻想乡的超级大妖怪无弹窗全文阅读_时空小说网
幻想乡的超级大妖怪
幻想乡的超级大妖怪
作者:大馒头君
分类:网游小说
状态:连载中
最新章节预览&&&&(按左右键翻页)
读者还喜欢读:类别:作者:类别:作者:类别:作者:类别:作者:类别:作者:东方之幻想乡最新章节目录_东方之幻想乡全文阅读,无弹窗_八零电子书(80txt.com)
您现在的位置: →
东方之幻想乡全文阅读
相关推荐:、、、、、、、、、、
东方之幻想乡第四部
东方之幻想乡 第四部
棉花糖小说
八零TXT电子书
新书推荐:、、、、、、、、、、
① 作者:无节操的神官所写的《东方之幻想乡》为转载作品,东方之幻想乡最新章节由网友发布。
② 小说东方之幻想乡版权属于作者无节操的神官所有,如果您喜欢小说东方之幻想乡,请支持作者到书店购买正版图书。感谢您的合作与支持。
③ 通过键盘左右方向键"→"或"←"可以转到《东方之幻想乡最新章节上一页》或《东方之幻想乡最新章节下一页》,回车可返回《东方之幻想乡目录》。
④ 倡导文明阅读,绿色网络,从我做起,如您对东方之幻想乡作品内容、版权等方面有质疑,或发现非法、色情类小说或章节,请向本站举报,我们将马上处理。
⑤ 分享《东方之幻想乡》从我做起。数万网友在行动,《东方之幻想乡》分享得多更新就越快。从顶部的图标分享投一票,每人每天只限一次哦多了无效。热门搜索:
&小说搜索:&综合按书名按作者
送鲜花:116106朵催更票:26票打&&赏:28.4万点投月票幻想乡的大妖怪&作者:&内容介绍&作品信息&最新章节更新: 09:00&&&&已有8199856人读过幻想乡的大妖怪小说已写752533字...目前本书已经完本! 9.9
幻想乡的大妖怪 作品相关[图][图]
& 幻想乡的大妖怪 打赏楼
幻想乡的大妖怪 5000+赏加更楼& 幻想乡的大妖怪 正文
&& 幻想乡的大妖怪小说VIP章节部分 幻想乡的大妖怪 正文[] []
&&幻想乡的大妖怪小说评论&nbsp
&最新读者(粉丝)打赏
&本类人气榜
162417324964723477510447275353647496339758730619183023059299562102931931128582312265120
&读者还喜欢读..类别:作者:类别:作者:类别:作者:类别:作者:类别:作者:
&喜欢本书的网友&级别:皇钻书友&级别:皇钻书友&级别:皇钻书友&级别:皇钻书友&级别:钻石书友

我要回帖

更多关于 妖怪幻想乡ios 的文章

 

随机推荐