Primitive Primes - 题解【数学】
题面
It is Professor R's last class of his teaching career. Every time Professor R taught a class, he gave a special problem for the students to solve. You being his favourite student, put your heart into solving it one last time.
You are given two polynomials f(x)=a0+a1x+⋯+an−1xn−1 and g(x)=b0+b1x+⋯+bm−1xm−1, with positive integral coefficients. It is guaranteed that the cumulative GCD of the coefficients is equal to 11 for both the given polynomials. In other words, gcd(a0,a1,…,an−1)=gcd(b0,b1,…,bm−1)=1. Let h(x)=f(x)⋅g(x). Suppose that h(x)=c0+c1x+⋯+cn+m−2xn+m−2.
You are also given a prime number pp. Professor R challenges you to find any tt such that ctct isn't divisible by pp. He guarantees you that under these conditions such tt always exists. If there are several such tt, output any of them.
As the input is quite large, please use fast input reading methods.
Input
The first line of the input contains three integers, nn, mm and pp (1≤n,m≤1e6,2≤p≤1e9), — nn and mm are the number of terms in f(x)f(x) and g(x)g(x) respectively (one more than the degrees of the respective polynomials) and pp is the given prime number.
It is guaranteed that p is prime.
The second line contains nn integers a0,a1,…,an−1 (1≤ai≤1e9) — ai is the coefficient of xi in f(x).
The third line contains mm integers b0,b1,…,bm−1 (1≤bi≤1e9) — bi is the coefficient of xi in g(x).
Output
Print a single integer t (0≤t≤n+m−2) — the appropriate power of x in h(x) whose coefficient isn't divisible by the given prime p. If there are multiple powers of x that satisfy the condition, print any.
Examples
Input3 2 2
1 1 2
2 1
Output1
Input2 2 999999937
2 1
3 1
Output2
大意
给出两个非负整系数多项式f(x),g(x)和一个质数p,求一个数t,使得对于两个多项式的乘积h(x)=f(x)g(x),其次数为t的项不能被p整除。如果有多种结果,输出任意一个。
题解
这是我ACM校队预备役选拔赛第二场的一道题,在赛场上我没想出来……后来知道解法之后,我不由得赞叹:还是我的技术力太低了吗……不过我在第三场选拔赛的时候成功入选预备役,被我丢弃多时的博客再次被我捡了回来【滑稽】。
回想多项式乘法,我们假设f(x)的i次项系数为ai,g(x)的j次项系数为bj,h(x)的k次项系数为ck,则有ck=a0bk+a1b(k-1)+a2b(k-2)+...+akb0。我们从低位往高位考虑,因为题目保证给出的数p一定是个质数,所以如果ai无法被p整除,bj无法被p整除,那么aibj也一定无法被p整除。所以,我们把两个多项式的系数都对p取模,从低位往高位扫,扫到两个多项式内第一个模p不为0的数,假设是ai,bj。那么,含有项aibj的系数就一定无法被p整除。哪一个系数含有aibj呢?自然是c(i+j)了。下面上赛后补题的AC代码:
#include
#define rep(i,a,b) for(register int i=a;i<=b;++i)
#define rrep(i,a,b) for(register int i=a;i>=b;--i)
#define grp int T;scanf("%d",&T);rep(C,1,T)
#define grpc int T;cin>>T;rep(C,1,T)
#define etr putchar('\n')
#define in1(a) scanf("%d",&a)
#define in2(a,b) scanf("%d %d",&a,&b)
#define in3(a,b,c) scanf("%d %d %d",&a,&b,&c)
#define elif else if
#define mem(arr,val) memset(arr,val,sizeof(arr))
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
int n, m, p;
int a[1000010], b[1000010];
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
cin >> n >> m >> p;
rep(i, 0, n - 1) {
cin >> a[i];
a[i] %= p;
}
rep(i, 0, m - 1) {
cin >> b[i];
b[i] %= p;
}
int f1, f2;
for (f1 = 0; f1 < n; ++f1) {
if (a[f1] != 0) break;
}
for (f2 = 0; f2 < m; ++f2) {
if (b[f2] != 0) break;
}
cout << f1 + f2 << endl;
return 0;
}
/**
* ┏┓ ┏┓+ +
* ┏┛┻━━━┛┻┓ + +
* ┃ ┃
* ┃ ━ ┃ ++ + + +
* ████━████+
* ◥██◤ ◥██◤ +
* ┃ ┻ ┃
* ┃ ┃ + +
* ┗━┓ ┏━┛
* ┃ ┃ + + + +
* ┃ ┃ + + + + + +
* ┃ ┗━━━┓
* ┃ ┣┓
* ┃ ┏┛
* ┗┓┓┏━┳┓┏┛ + + + +
* ┃┫┫ ┃┫┫
* ┗┻┛ ┗┻┛+ + + +
*/
Primitive Primes - 题解【数学】的更多相关文章
- CF1316C Primitive Primes
CF1316C [Primitive Primes] 给出两个多项式\(a_0+a_1x+a_2x^2+\dots +a_{n-1}x^{n-1}\)和\(b_0+b_1x+b_2x^2+ \dots ...
- CodeCraft-20 (Div. 2) C. Primitive Primes (数学)
题意:给你两个一元多项式\(f(x)\)和\(g(x)\),保证它们每一项的系数互质,让\(f(x)\)和\(g(x)\)相乘得到\(h(x)\),问\(h(x)\)是否有某一项系数不被\(p\)整除 ...
- S - Primitive Primes CodeForces - 1316C 数学
数学题 在f(x)和g(x)的系数里找到第一个不是p的倍数的数,然后相加就是答案 为什么? 设x1为f(x)中第一个不是p的倍数的系数,x2为g(x)...... x1+x2前的系数为(a[x1+x2 ...
- Codeforce-CodeCraft-20 (Div. 2)-C. Primitive Primes(本原多项式+数学推导)
It is Professor R's last class of his teaching career. Every time Professor R taught a class, he gav ...
- [题解]数学期望_luogu_P1850_换教室
数学期望dp,题面第一次见很吓人,然而从CCF语翻译成人话就简单多了, 开始一般会想到用 f [ i ] [ j ]表示前 i 个课程申请 j 次的期望,然而其实会发现转移的时候还和上一次的情况有关( ...
- POJ1284:Primitive Roots——题解
http://poj.org/problem?id=1284 给一个奇质数p,求p的原根数量. 有一个结论:当正整数n存在原根时,其一共有phi(phi(n))个不同余的原根. 所以答案为phi(p- ...
- HDU 5984 题解 数学推导 期望
Let’s talking about something of eating a pocky. Here is a Decorer Pocky, with colorful decorative s ...
- # CodeCraft-20 (Div. 2)
CodeCraft-20 (Div. 2) A. Grade Allocation 思路 : 无脑水题 代码 #include<iostream> #include<algorith ...
- 【uoj#21】[UR #1]缩进优化 数学
题目描述 给出 $n$ 个数 ,求 $\text{Min}_{x=1}^{\infty}\sum\limits_{i=1}^n(\lfloor\frac {a_i}x\rfloor+a_i\ \tex ...
随机推荐
- 使用C#语言,如何实现EPLAN二次开发 Api插件及菜单展示
上期我们谈谈了谈EPLAN电气制图二次开发,制图软件EPLAN的安装和破解,今天我们来说说使用C#语言,如何实现Api插件及菜单,今天它来了!!! 关于项目环境的搭建请参考:https://blog. ...
- Nextcloud fpm 版在 Dokcer 下安装踩坑
安装 首先到 https://registry.hub.docker.com/_/nextcloud 获取 Nextcloud 的示例 docker-compose version: '2' volu ...
- uniapp小程序图片前端压缩上传
目录 1,前言 2,实现代码 1,前言 这次项目中做了一个图片上传,要求是大于2MB的就压缩成2MB一下的再上传,我这边利用了uniapp的文件接口,使用canvas做了一个压缩上传的功能,目前已上线 ...
- 【Java面试宝典】说说你对 Spring 的理解,非单例注入的原理?它的生命周期?循环注入的原理, aop 的实现原理,说说 aop 中的几个术语,它们是怎么相互工作的?
AOP与IOC的概念(即spring的核心) IOC:Spring是开源框架,使用框架可以使我们减少工作量,提高工作效率并且它是分层结构,即相对应的层处理对应的业务逻辑,减少代码的耦合度.而sprin ...
- Kafka 都有哪些特点?
高吞吐量.低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作. ...
- kafka端口和zookeeper端口
一.问题描述 今天配合现场联调一个数据工具,工具使用到了kafka,程序启动之后包如下错误: [WARN ] [2020-08-17 19:17:27] [org.apache.kafka.clien ...
- switch 是否能作用在 byte 上,是否能作用在 long 上, 是否能作用在 String 上?
在 Java 5 以前,switch(expr)中,expr 只能是 byte.short.char.int.从 Java 5 开始,Java 中引入了枚举类型,expr 也可以是 enum 类型,从 ...
- String工具类之“前缀比较”StringUtils.startsWith和StringUtils.startsWithIgnoreCase
(1)字符串以prefix为前缀(区分大小写) StringUtils.startsWith(被比较的字符串,比较字符串) 总结: 根据下面代码发现,上面的例子有部分时错误的,有可能是因为思维原因,他 ...
- 解决Project出来的问题
问题显现: 解决办法: 恢复默认布局
- C# 正则表达式判断是否是有效的文件、文件夹路径
C# 正则表达式判断是否是有效的文件.文件夹路径 省流 /// <summary> /// 是否有效的文件,文件夹路径 /// </summary> /// <param ...