题目链接:https://vjudge.net/problem/HDU-6440

知识点:  构造、费马小定理

题目大意:

  给定一个素数 $p$,要求定义一个加法运算表和一个乘法运算表,尺寸都为 $p \times p$,加法运算表上第 $i$ 行第 $j$ 列的元素代表 $(i-1)+(j-1)$ 的值,乘法运算表上第 $i$ 行第 $j$ 列的元素代表 $(i-1) \times (j-1)$ 的值。要求满足两个条件:

  一、对于任意 $0 \le n,m < p$,$(n+m)^p = n^p + m^p$;

  二、存在一个 $q(0<q<p)$,使得 ${q^{k}|0<k<p, k \in Z} = {k|0<k<p, k \in Z}$.

解题思路一:

  加法运算表全部置为 $2$;

  乘法运算表上,首先第一行和第一列都置为 $0$,对于其他部分,第二行全置 $2$,第三行全置 $3$,依次类推直到倒数第二行,最后一行全置 $1$.

代码一:

 #include <bits/stdc++.h>
using namespace std; int main(){
int t;
scanf("%d",&t);
while(t--){
int p;
scanf("%d",&p);
for(int i=;i<p;i++){
printf("");
for(int j=;j<p;j++)
printf("");
puts("");
} printf("");
for(int i=;i<p;i++) printf("");
puts(""); for(int i=;i<p;i++){
printf("");
for(int j=;j<p;j++)
printf(" %d",i);
puts("");
} printf("");
for(int i=;i<p;i++) printf("");
puts("");
} return ;
}

解题思路二:

  由费马小定理可知 $(n+m)^p \equiv (n+m) \equiv n^{p} + m ^{p} (mod p)$,故只需将加法运算表和乘法运算表都定义为在模 $p$ 意义下的运算表即可。

代码二:

 #include <bits/stdc++.h>
using namespace std; int main(){
int t;
scanf("%d",&t);
while(t--){
int p;
scanf("%d",&p);
for(int i=;i<p;i++){
printf("%d",i);
for(int j=;j<p;j++)
printf(" %d",(i+j)%p);
puts("");
} for(int i=;i<p;i++){
printf("");
for(int j=;j<p;j++)
printf(" %d",i*j%p);
puts("");
}
} return ;
}

HDU6440 Dream的更多相关文章

  1. hdu6440 Dream 2018CCPC网络赛C 费马小定理+构造

    题目传送门 题目大意: 给定一个素数p,让你重载加法运算和乘法运算,使(m+n)p=mp+np,并且 存在一个小于p的q,使集合{qk|0<k<p,k∈Z} 等于集合{k|0<k&l ...

  2. 2018中国大学生程序设计竞赛 - 网络选拔赛 Dream hdu6440 Dream 给出一个(流氓)构造法

    http://acm.hdu.edu.cn/showproblem.php?pid=6440 题意:让你重新定义任意一对数的乘法和加法结果(输出乘法口诀表和加法口诀表),使得m^p+n^p==(m+n ...

  3. hdu6440 Dream(费马小定理)

    保证 当  n^p=n(mod p) 是成立 只要保证n*m=n*m(mod p); #include<bits/stdc++.h> using namespace std; int ma ...

  4. HDU6440 Dream 2018CCPC网络赛-费马小定理

    目录 Catalog Solution: (有任何问题欢迎留言或私聊 && 欢迎交流讨论哦 Catalog Problem:Portal传送门  原题目描述在最下面.  给定一个素数p ...

  5. HDU6440 Dream(费马小定理+构造) -2018CCPC网络赛1003

    题意: 给定素数p,定义p内封闭的加法和乘法,使得$(m+n)^p=m^p+n^p$ 思路: 由费马小定理,p是素数,$a^{p-1}\equiv 1(mod\;p)$ 所以$(m+n)^{p}\eq ...

  6. PK淘宝BUY+,京东推出AR购物应用JD Dream

        今年双十一淘宝推出了虚拟现实VR购物"BUY+",用户可以在虚拟环境中选购商品.那作为竞争对手的京东将使出什么绝招呢?在近日上海举办的谷歌开发者大会上得到了答案.会上京东推 ...

  7. [poj2411] Mondriaan's Dream (状压DP)

    状压DP Description Squares and rectangles fascinated the famous Dutch painter Piet Mondriaan. One nigh ...

  8. Dream It Possible

    反复听着Dream It Possible,想起自己的华为岁月,百感交集!

  9. POJ 题目2411 Mondriaan's Dream(状压DP)

    Mondriaan's Dream Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 13519   Accepted: 787 ...

随机推荐

  1. UVALive 7501 Business Cycle

    细心题 #include<bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i=a;i<=b;++i) # ...

  2. c语言-----劫持系统03

    1. 回顾 在前2节我们已经实现了劫持原理.函数指针等一些概念,下面进行系统劫持 2. 工具 vs2017 Detours 3. windows如何创建一个进程? (1)创建进程函数 CreatePr ...

  3. android 动画学习总结

    本文内容是本人阅读诸多前辈的学习心得后整理的,若有雷同,请见谅 Android 动画 分类:帧动画,补间动画,属性动画  . 1.帧动画 将一张张单独的图片连贯的进行播放,从而在视觉上产生一种动画的效 ...

  4. Vue项目中实现图片懒加载

    个人网站 https://iiter.cn 程序员导航站 开业啦,欢迎各位观众姥爷赏脸参观,如有意见或建议希望能够不吝赐教! ---对于图片过多的页面,为了加速页面加载速度,所以很多时候我们需要将页面 ...

  5. Java—线程池ThreadPoolExecutor详解

    引导 要求:线程资源必须通过线程池提供,不允许在应用自行显式创建线程: 说明:使用线程池的好处是减少在创建和销毁线程上所花的时间以及系统资源的开销,解决资源不足的问题.如果不使用线程池,有可能造成系统 ...

  6. 题解 CF1286A 【Garland】

    updata on 2020.3.19 往博客园搬的时候看了看自己以前写的blog 其实没多久,才两个多月,感觉自己之前写的东西好罗嗦啊.. 但也是最近写的blog才开始多起来 当然现在也没好到哪去. ...

  7. P2480 [SDOI2010]古代猪文

    P2480 [SDOI2010]古代猪文 比较综合的一题 前置:Lucas 定理,crt 求的是: \[g^x\bmod 999911659,\text{其中}x=\sum_{d\mid n}\tbi ...

  8. 【摘抄】深入解析Windows操作系统

    一.线程是一个进程内部的实体,也是Windows执行此进程时的调度实体.若没有线程,进程的程序将不可能运行.线程包含以下部件: 1.一组代表处理器状态的CPU寄存器中的内容. 2.两个栈:一个用于线程 ...

  9. mssql手工盲注

    遇到中文的列名 利用unicode 进行单字节的转换 declare @s varchar(50);set @s = N'拉';select UniCode(@s),nchar(UniCode(@s) ...

  10. Java——Java代码的执行顺序

    该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 一.构造方法 构造方 ...