LGP3790题解
建议改为 省 选 原 题
题意:求所有生成树的边权 \(\gcd\) 之和。
看到 \(\gcd\) 立刻想反演。
\]
这里设 \(E=e_v(e \in T)\)
\]
\]
\]
也就是说只需要求边权为 \(d\) 的倍数的边构成的图的生成树个数即可,使用矩阵树。
稍微剪枝一下,复杂度大概是 \(O(240mn^3+V\log V)\),实测可以通过。
#include<cstdio>
#include<vector>
typedef unsigned ui;
const ui M=1e6+5,mod=1e9+7;
ui n,m,mx,top,G[65][65],u[3005],v[3005],pos[M],pri[M],phi[M];std::vector<ui>id[M];
inline ui Add(const ui&a,const ui&b){
return a+b>=mod?a+b-mod:a+b;
}
inline ui Del(const ui&a,const ui&b){
return b>a?a-b+mod:a-b;
}
inline ui pow(ui a,ui b){
ui ans=1;
for(;b;b>>=1,a=1ull*a*a%mod)if(b&1)ans=1ull*ans*a%mod;
return ans;
}
inline ui Gauss(){
ui i,j,k,d,inv,ans(1);
for(i=1;i^n;++i){
if(!G[i][i])for(j=i+1;j^n;++j)if(G[j][i]){
ans=mod-ans;std::swap(G[i],G[j]);break;
}
inv=pow(G[i][i],mod-2);ans=1ull*ans*G[i][i]%mod;
for(j=i+1;j^n;++j)for(d=1ull*(mod-G[j][i])*inv%mod,k=i;k^n;++k)G[j][k]=(G[j][k]+1ull*d*G[i][k])%mod;
}
return ans;
}
inline ui Solve(const ui&x){
ui i,j;
for(i=1;i^n;++i)for(j=1;j^n;++j)G[i][j]=i^j?mod:0;
for(i=1;(j=i*x)<=mx;++i)for(ui&x:id[j])++G[u[x]][u[x]],++G[v[x]][v[x]],--G[u[x]][v[x]],--G[v[x]][u[x]];
return Gauss();
}
signed main(){
ui i,j,x,S,val,ans;
scanf("%u%u",&n,&m);
for(i=1;i<=n;++i)for(j=1;j<=n;++j)G[i][j]=i^j?mod:0;
for(i=1;i<=m;++i){
scanf("%u%u%u",u+i,v+i,&val);id[val].push_back(i);if(val>mx)mx=val;
++G[v[i]][v[i]];++G[u[i]][u[i]];--G[u[i]][v[i]];--G[v[i]][u[i]];
}
ans=Gauss();
for(i=2;i<=mx;++i){
if(!pos[i])pos[pri[++top]=i]=top,phi[i]=i-1;S=0;
for(j=1;(x=i*j)<=mx;++j)S+=id[x].size();if(S>=n-1)ans=(ans+1ull*phi[i]*Solve(i))%mod;
for(j=1;j<=pos[i]&&(x=i*pri[j])<=mx;++j)phi[x]=phi[i]*(pri[j]-((pos[x]=j)!=pos[i]));
}
printf("%u",ans);
}
LGP3790题解的更多相关文章
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...
- 网络流n题 题解
学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...
- CF100965C题解..
求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...
随机推荐
- VC里打开网页
转载请注明来源:https://www.cnblogs.com/hookjc/ 1 ShellExecute 开放分类: API 编程 ShellExecute函数原型及参数含义如下: She ...
- 《手把手教你》系列技巧篇(六十五)-java+ selenium自动化测试 - cookie -下篇(详细教程)
1.简介 今天这一篇,宏哥主要讲解:利用WebDriver 提供可以读取.添加和删除cookie 信息的相关操作方法.验证浏览器中是否存在某个cookie.原因是:因为基于真实的cookie 的测试是 ...
- python篇第10天【While 循环语句】
while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值 ...
- Appium链接夜神模拟器
参考官方技术文档: http://appium.io/slate/cn/master/ 确保已经安装jdk和adt adb需要配置系统环境变量: D:\adt-bundle-windows-x86_6 ...
- mysql查询的时候没有加order by时的默认排序问题
有时候我们执行MySQL查询的时候,查询语句没有加order by,但是发现结果总是已经按照id排序好了的,难道MySQL就是为了好看给我们排序 如上图数据,是我查询了语句 SELECT * from ...
- 基于单XCVU9P+双DSP C6678的双FMC接口 100G光纤传输加速计算卡
一.板卡概述 板卡包括一片Xilinx FPGA XCVU9P,两片 TI 多核DSP TMS320C6678及其控制管理芯片CFPGA.设计芯片满足工业级要求. FPGA VU9P 需要外接4路Q ...
- hashlib模块&日志模块
内容概要 hashlib模块 logging模块 第三方模块下载 内容详细 hashlib模块 hashlib 是一个提供了一些流行的hash(摘要)算法的Python标准库.其中所包括的算法有 md ...
- 创建jsp页面出现The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path错误
原因未添加tomcat服务器 第一步: 第二步:
- pytest(5)-断言
前言 断言是完整的测试用例中不可或缺的因素,用例只有加入断言,将实际结果与预期结果进行比对,才能判断它的通过与否. unittest 框架提供了其特有的断言方式,如:assertEqual.asser ...
- 「BUAA OO Pre」 Pre 2总结回顾概览
「BUAA OO Pre」 Pre 2总结回顾概览 目录 「BUAA OO Pre」 Pre 2总结回顾概览 Part 0 前言 写作背景 定位 您可以在这里期望获得 您在这里无法期望获得 对读者前置 ...