2017 多校 水题
来源:互联网 发布:新部落冲突4级地震数据 编辑:程序博客网 时间:2024/06/04 19:37
首先预处理每个数的因数有哪些,然后分别记录a和b中有几个环。 最后就是两层循环,注意取膜。#include<iostream>#include<stdio.h>#include<algorithm>#include<cmath>#include<cstring>#include<string>#include<string.h>#include<queue>#include<stack>#include<map>#define mod 1000000007#define INF 0x3f3f3f3fusing namespace std;int n,m;const int N = 100000+5;struct node{ int num,fa;}a[N],b[N];struct po{ vector<int>v;}po[N];int va[N],vb[N];int cira[N],cb[N];void init(){ for(int i = 1; i <= 50000; i++) { for(int j = i; j <= 100000; j+= i) { po[j].v.push_back(i); } } return ;}int main(){ init(); int tim = 1; while(~scanf("%d%d",&n,&m)) { for(int i = 0; i < n; i++) scanf("%d",&a[i].num); for(int i = 0; i < m; i++) scanf("%d",&b[i].num); memset(va,0,sizeof(va)); memset(vb,0,sizeof(vb)); for(int i = 0; i < n; i++) { int te = a[i].num; a[te].fa = i; } for(int i = 0; i < m; i++) { int te = b[i].num; b[te].fa = i; } memset(cb,0,sizeof(cb)); memset(cira,0,sizeof(cira)); int cnt = 0; for(int i = 0; i < n; i++) { if(!va[i]) { va[i] = 1; int ff = a[i].fa; int root = i; int sum = 1; while(ff != root) { va[ff] = 1; ff = a[ff].fa; sum ++; } cira[cnt++] = sum; } } for(int i = 0; i < m; i++) { if(!vb[i]) { vb[i] = 1; int ff = b[i].fa; int root = i; int sum = 1; while(ff != root) { vb[ff] = 1; ff = b[ff].fa; sum++; } // cout << sum << endl; cb[sum] += 1; } } long long ans = 1; for(int i = 0; i < cnt; i++) { int nn = cira[i]; long long tem = 0; for(int i = 0; i < po[nn].v.size(); i++) { int j = po[nn].v[i]; tem += cb[j]*j; // cout << j <<" " << tem << endl; } ans = (ans%mod*tem%mod)%mod; } printf("Case #%d: %lld\n",tim++,ans); }}
阅读全文
2 0
- 2017 多校 水题
- 2017 多校2 c题(水题 贪心)
- 2017多校-1
- 2017多校 Balala Power!
- 2017 多校 TrickGCD
- 2017多校-2
- 2017多校-3
- 2017多校-4
- 2017多校-5
- 2017多校-6
- 2017多校7-三道水题
- 2017多校-7
- 2017多校-8
- 2017多校-9
- 2017多校-10
- 2017多校1
- 2017 多校 Function(置换群
- 2017多校1 1006Function
- 常用数据类型的范围
- 一位初学者的想法
- 未来10年,最夯的行业全在这里,你入对行了吗?
- 多态 final abstract
- 自编STM32轻量级操作系统(五)------互斥量
- 2017 多校 水题
- VS Code连接Gitlab,轻松开发web前端应用
- 将本网站保存到桌面
- 8.odoo入门——jinja2入门(一)
- 笔记11--Js基础知识
- leetcode题解-378. Kth Smallest Element in a Sorted Matrix
- Unity3D学习记录——NGUI Lable
- 51Nod 1119 机器人走方格 组合数学
- caioj1088·SPFA算法模板题·最短路