题目链接: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. poj_1323 Game Prediction 贪心

    Game Prediction Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 11814   Accepted: 5701 ...

  2. 使用@vue/cli搭建vue项目开发环境

    当前系统版本 mac OS 10.14.2 1.安装node.js开发环境 前端开发框架和环境都是需要 Node.js  vue的运行是要依赖于node的npm的管理工具来实现 <mac OS ...

  3. Codeforces Round #637 (Div. 2) 题解

    A. Nastya and Rice 网址:https://codeforces.com/contest/1341/problem/A Nastya just made a huge mistake ...

  4. 威联通(NAS)应用篇:自建OwnCloud网盘(百度网盘,拜拜~~~)

    基础环境: 威联通一台 已安装好 ContainerStation 公网 IP(非必须) 自有公网域名 下载镜像文件 提醒:建议先把威联通的自带镜像源改为国内的阿里云镜像源,教程:https://ww ...

  5. 错误:Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use.

    Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use. The ...

  6. 龙贝格算法 MATLAB实现

    龙贝格算法主要是不断递推和加速,直到满足精度要求 递推: 加速: 得到T表: MATLAB代码: function I = Romberg(f, a, b, epsilon) I = 0; h = b ...

  7. Vue 做的项目在IE下面打开一片空白解决方法

    ie浏览器打开报这个错并且页面空白: 原因:这是因为浏览器对于部分ES6语法识别不出来导致,所以我们要安装一个插件,把ES6语法转换成IE浏览器可以识别的语法. 解决方法: 需要安装 "ba ...

  8. [hdu3507 Print Article]斜率优化dp入门

    题意:需要打印n个正整数,1个数要么单独打印要么和前面一个数一起打印,1次打印1组数的代价为这组数的和的平方加上常数M.求最小代价. 思路:如果令dp[i]为打印前i个数的最小代价,那么有 dp[i] ...

  9. [csu1605]数独(精确覆盖问题)

    题意 :给定数独的某些初始值,规定每个格子的得分,求得分最大的数独的解. 思路:这是某年的noip的原题,高中时就写过,位运算也就是那个时候学会的--.这题明显是暴搜,但是需要注意两点,一是需要加一些 ...

  10. burpsuite抓包无法识别POST参数问题

    直接拿一道bugkuctf中的题目进行测试 这道题目就是用POST方法上传what=flag 我们利用burpsuite进制抓包 需要更改三个部分,这样就可以解决burpsuite无法识别POST参数 ...