hdu6038[找规律+循环节] 2017多校1
- /*hdu6038[找规律+循环节] 2017多校1*/
- #include<bits/stdc++.h>
- using namespace std;
- typedef long long LL;
- const double eps=1e-;
- const int inf=0x3f3f3f3f;
- const int mod=;
- int n,m,lop,kase=,maxlop;
- int a[],b[],mark[];
- LL Arep[],Brep[];
- LL fastpow(LL a,LL b){
- LL ret=,x=a;
- while(b){
- if(b&){
- ret=(ret*x)%mod;
- }
- x=(x*x)%mod;
- b>>=;
- }
- return ret;
- }
- void dfs(int now,int dps){
- if(mark[now]){
- Arep[dps]++;
- return;
- }
- mark[now]=;
- dfs(a[now],dps+);
- }
- void dfs2(int now,int dps){
- if(mark[now]){
- Brep[dps]++;
- return;
- }
- mark[now]=;
- dfs2(b[now],dps+);
- }
- void solve(){
- maxlop=;
- for(int i=;i<n;i++){
- if(!mark[a[i]]){
- dfs(i,);
- }
- }
- memset(mark,,sizeof(mark));
- for(int i=;i<m;i++){
- if(!mark[b[i]]){
- dfs2(i,);
- }
- }
- memset(mark,,sizeof(mark));
- LL ans=,sum=;
- for(int i=;i<=n;i++){
- if(Arep[i]){
- ans=;
- for(int j=;j*j<=i;j++){
- if(i%j==){
- ans=(ans+(Brep[j]%mod)*(j%mod))%mod;
- if(j*j!=i){
- ans=(ans+(Brep[i/j]%mod)*((i/j)%mod))%mod;
- }
- }
- }
- sum=(sum*fastpow(ans,Arep[i]))%mod;
- }
- }
- printf("Case #%d: %lld\n",kase++,sum);
- }
- int main(){
- //freopen("1006.txt","r",stdin);
- //freopen("out.txt","w",stdout);
- while(~scanf("%d%d",&n,&m)){
- memset(mark,,sizeof(mark));
- memset(Arep,,sizeof(Arep));
- memset(Brep,,sizeof(Brep));
- for(int i=;i<n;scanf("%d",&a[i]),i++);
- for(int i=;i<m;scanf("%d",&b[i]),i++);
- solve();
- }
- return ;
- }
hdu6038[找规律+循环节] 2017多校1的更多相关文章
- hihocode 1584 : Bounce (找规律)(2017 北京网络赛G)
题目链接 比赛时随便找了个规律,然后队友过了.不过那个规律具体细节还挺烦的.刚刚偶然看到Q巨在群里提到的他的一个思路,妙啊,很好理解,而且公式写起来也容易.OrzQ巨 #include<bits ...
- 51nod 1126 - 求递推序列的第N项 - [找规律]
题目链接:https://cn.vjudge.net/problem/51Nod-1126 有一个序列是这样定义的:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + ...
- A Simple Problem with Integers 循环节 修改 平方 找规律 线段树
A Simple Problem with Integers 这个题目首先要打表找规律,这个对2018取模最后都会进入一个循环节,这个循环节的打表要用到龟兔赛跑. 龟兔赛跑算法 floyed判环算法 ...
- 2017多校第一套&&hdu6038 思维 数学
链接 http://acm.hdu.edu.cn/showproblem.php?pid=6038 题意: 给你一个a序列,代表0到n-1的排列:一个b序列代表0到m-1的排列.问你可以找出多少种函 ...
- 2017ACM暑期多校联合训练 - Team 1 1011 HDU 6043 KazaQ's Socks (找规律)
题目链接 Problem Description KazaQ wears socks everyday. At the beginning, he has n pairs of socks numbe ...
- hdoj1005(循环,找规律)
Problem Description A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1 ...
- 特征根法求通项+广义Fibonacci数列找循环节 - HDU 5451 Best Solver
Best Solver Problem's Link Mean: 给出x和M,求:(5+2√6)^(1+2x)的值.x<2^32,M<=46337. analyse: 这题需要用到高中的数 ...
- Codeforces Round #450 (Div. 2) B. Position in Fraction【数论/循环节/给定分子m 分母n和一个数c,找出c在m/n的循环节第几个位置出现,没出现过输出-1】
B. Position in Fraction time limit per test 1 second memory limit per test 256 megabytes input stand ...
- 杭电多校第十场 hdu6432 Cyclic 打表找规律
Cyclic Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)Total Su ...
随机推荐
- Cookie 没你不行
Cookie 没你不行 Cookie 没你不行 前言: Cookie 是什么 起源 到底是什么? 使用场景 如何使用cookie Cookie 和http协议 (服务端操作cookie) Cookie ...
- WCFSVC文件的分离
项目结构图如下: 新建一个实现内容和接口的项目: 接口内部如下: using DataModel; using System; using System.Collections.Generic; us ...
- 【UML】活动图Activity diagram(转)
前言 在UML状态图的总结中说道,活动图和状态图是紧密相关的.它与流程图也有很多相似的地方. 定义 活动图是状态图的一种特殊形式.其中所有或多数状态都是活动状态,而且所有或多数转移都在源状态中的活动完 ...
- Java 原型模式(克隆模式)
Java 的设计模式有 23 种,前段时间小编已经介绍了单例模式,由于我们在学习 Spring 的时候在 bean 标签的学习中碰到了今天要讲的原型模式,那么小编就已本文来介绍下原型模式. 原型模 ...
- SC || Chapter 3
┉┉∞ ∞┉┉┉┉∞ ∞┉┉┉∞ ∞┉┉ 基本数据类型 && 对象数据类型 基本数据类型(int char long) 在栈中分配内存,不可变 对象数据类型(String BigInt ...
- c#中的里氏转换和Java中强制类型转换在多态中的应用
在c#中: 注意: 子类并没有继承父类的构造函数,而是会默认调用父类那个无参数的构造函数. 如果一个子类继承了一个父类,那么这个子类除了可以使用自己的成员外,还可以使用从父类那里继承过来的成员.但是父 ...
- Mac下快捷键的符号所对应的按键
- Linux安装项目管理工具禅道出现的一些问题
我这边是直接使用的lamp一键安装的环境 lamp地址如下:https://lnmp.org/ 然后直接下载禅道源码解压后放入/home/wwwroot/default此目录下 然后访问禅道源码里面的 ...
- 【线性基】bzoj2844: albus就是要第一个出场
线性基求可重rank 题目描述 给定 n 个数 $\{ a_i \}$ ,以及数 $x$. 将 $\{ a_i \}$ 的所有子集(包括空集)的异或值从小到大排序,得到 $\{ b_i \} $. ...
- DNS 工作原理是什么,域名劫持、域名欺骗、域名污染又是什么
DNS 工作原理是什么,域名劫持.域名欺骗.域名污染又是什么 2014年11月27日 10:05:40 阅读数:6726 标签: dns网络互联网顶级域名递归 更多 个人分类: 网络学习 一.DN ...