[数论] LOJ #508. 「LibreOJ NOI Round #1」失控的未来交通工具
2017-07-23 13:26
471 查看
这种非简单路 一般转化成任意一条路加上若干环
这里大概是任意一条路加上若干环长的gcd
任意一条路 可以弄出任意一颗生成树? 但是这里实际上只需要一个带权并查集
详见官方题解
这里大概是任意一条路加上若干环长的gcd
任意一条路 可以弄出任意一颗生成树? 但是这里实际上只需要一个带权并查集
详见官方题解
#include<cstdio> #include<cstdlib> #include<algorithm> using namespace std; typedef long long ll; typedef pair<ll,ll> abcd; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++; } inline void read(int &x){ char c=nc(),b=1; for (;!(c>='0' && c<='9');c=nc()) if (c=='-') b=-1; for (x=0;c>='0' && c<='9';x=x*10+c-'0',c=nc()); x*=b; } const int N=1000005; inline abcd GCD(ll a,ll b){ if (!b) return abcd(1,0); abcd t=GCD(b,a%b); return abcd(t.second,t.first-a/b*t.second); } inline ll calc(ll a,ll b,ll n){ abcd G=GCD(a,n); ll d=a*G.first+n*G.second; if (b%d) return -1; return (G.first*(b/d)%(n/d)+(n/d))%(n/d); } int n,m,Q; int fat ; int g ,dis ; inline int Fat(int u){ if (u==fat[u]) return u; int f=fat[u]; fat[u]=Fat(fat[u]); (dis[u]+=dis[f])%=m; return fat[u]; } inline void Merge(int x,int y,int w){ int fx=Fat(x),fy=Fat(y); if (fx==fy){ int l=(dis[x]+dis[y])%m; g[fx]=__gcd(__gcd(g[fx],2*w),w+l); }else{ fat[fx]=fy; dis[fx]=((ll)w+m-dis[x]+m-dis[y])%m; g[fy]=__gcd(__gcd(g[fy],g[fx]),2*dis[fx]); } } int main(){ int order,u,v,x,b,c,w; read(n); read(m); read(Q); for (int i=1;i<=n;i++) fat[i]=i; while (Q--){ read(order); read(u); read(v); if (order==1){ read(w); Merge(u,v,w); }else{ read(x); read(b); read(c); ll ans=0; if (Fat(u)==Fat(v)){ int L=(dis[u]+dis[v])%m; int g=__gcd(::g[Fat(u)],m); int k=calc(b%g,((L-x)%g+g)%g,g); if (k!=-1 && k<c){ int t=g/__gcd(g,b); ans=(c-1-k)/t+1; } } printf("%lld\n",ans); } } return 0; }
相关文章推荐
- LibreOJ NOI Round #1 Day 1 B. 失控的未来交通工具
- 又快又贱又失控?机器人教父Rodney Brooks预测AI未来32年历史进程
- 又快又贱又失控?机器人教父Rodney Brooks预测AI未来32年历史进程
- 交通工具的未来
- 酷炫的未来交通工具
- 酷炫的未来交通工具
- 快速驶来的智能出行交通工具,未来去哪?
- 未来的概念交通工具
- 关于未来的一些莫名烦躁
- 旅行 数论 打表找规律
- 程序员的未来,在哪里?
- virtual hust 2013.6.20 数论基础题目 I - Code Refactoring
- Eddy's 洗牌问题(规律题+数论)
- Uva16009 POJ 1906 Three Powers 数论 玄学找规律题 高精
- GIS技术的研究现状及未来发展趋势
- 来一篇英语美文赏析:品味现在,放眼未来
- 雷军演讲长文总结:我看未来20年
- 洛谷1072 hankson的趣味题 数论乱搞 非标准解法
- 电子商务专业未来发展及人才培养方向(YC)
- 推荐一本好书《失控》,产品经理应该看得书