// 出自ICPC 2018网络赛C - Dream & D - Find Integer

// 对大佬来讲的水题,本菜鸡尽量学会的防爆零题。。。

// 今晚翻看vjudge昨日任务上的C题,发现好多人一发过了,我想它应该不难吧,但自己始终没想明白,到底该如何构造一种符合题意封闭的加法和乘法运算。

// 参考了这里的说明,才完全弄懂了,写点东西记录学习成果。

C - Dream (HDU 6440)

题目要求重新定义加法和乘法,对任意非负整数都满足:(m+n)p=mp+np,其中p为素数。 之前我在数论部分的博客已经提到过费马小定理,比赛时候面对这题时竟然完全没有联想到,反倒还被题目的各种概念给绕晕。这里再次说明费马小定理

假如p是质数,且gcd(a,p)=1,那么 ap-1≡1(mod p)

这样就找到了符合题意的运算,即模p加法与模p乘法。明白这一点,代码就很简单了:

#include <cstdio>.
#include <iostream>
#define sci(i) scanf("%d", &i)
#define rep(i, a, b) for(int i=a;i<b;i++)
using namespace std; int main()
{
int T; sci(T);
while(T--)
{
int p; sci(p);
rep(i, , p)
{
rep(j, , p)
printf("%d ", (i+j)%p);
printf("\n");
} rep(i, , p)
{
rep(j, , p)
printf("%d ", i*j%p);
printf("\n");
}
}
return ;
}

// 第一次尝试用以上宏定义#define的新姿势,代码更显简短清爽~~~

 

D - Find Interger (HDU 6441)

题意很明朗: 给定a和n,求满足条件 an+bn=cn 的正整数b和c。

// 上一行会吞字,原因不明。。。

// 避免吞字,截图插入。。。

// 左边原文,右边显示

这与费马大定理有关:

当整数时,关于的方程没有正整数解

那么题目就简单分四种情况:

  1. n>2,由费马大定理可知,不存在解
  2. n=0时,等式恒不成立,无解输出 -1 -1
  3. n=1时,可取b=1, c=a+1
  4. 对于n=2的解(b, c),详细见代码部分的注释
#include <iostream>
#include <cstdio>
using namespace std; int n, a;
int main()
{
int T;
cin>>T;
while(T--)
{
scanf("%d %d", &n, &a);
if(n>||n==) {printf("-1 -1\n"); continue; }
if(n==) {printf("1 %d\n", a+); continue; }
else
{ //a*a = c*c - b*b = (c-b)*(c+b)
if(a&) // c-b=1, c+b=a*a
printf("%d %d\n", (a*a-)/, (a*a+)/);
else // c-b=2, c+b=a*a/2
printf("%d %d\n", (a*a/-)/, (a*a/+)/);
}
}
return ;
}

End.

水题两篇 Dream & Find Integer (HDU 6440/6441)的更多相关文章

  1. 寒假第一发(CF水题两个)

    地址http://codeforces.com/contest/799 A. Carrot Cakes In some game by Playrix it takes t minutes for a ...

  2. 每日一刷(2018多校水题+2016icpc水题)

    11.9 线段树 http://acm.hdu.edu.cn/showproblem.php?pid=6315 求逆序对个数 http://acm.hdu.edu.cn/showproblem.php ...

  3. HDU 5832 A water problem(某水题)

    p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...

  4. hdu 2393:Higher Math(计算几何,水题)

    Higher Math Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  5. HDU 5578 Friendship of Frog 水题

    Friendship of Frog Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.ph ...

  6. HDU 5832 A water problem (带坑水题)

    A water problem 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5832 Description Two planets named H ...

  7. HDU 5538 L - House Building 水题

    L - House Building Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.ph ...

  8. 动态规划之HDU水题

    做水题的感觉真好系列 HDU 2084 数塔 1: 12: 1 23: 1 2 34: 1 2 3 45: 1 2 3 4 5 dp[i][j]第i行第j个数取得的最大值dp[i][j] = max( ...

  9. <hdu - 3999> The order of a Tree 水题 之 二叉搜索的数的先序输出

    这里是杭电hdu上的链接:http://acm.hdu.edu.cn/showproblem.php?pid=3999  Problem Description: As we know,the sha ...

随机推荐

  1. PAT L2-021. 点赞狂魔 /// sort+unique去重

    https://www.patest.cn/contests/gplt/L2-021 题目大意: 微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持.每篇博文都有一些刻画其特性的标签,而你点赞 ...

  2. 【校OJ】选网线

    暑假学校OJ上的题目. 一道很有意思的二分. 题意:三个数组,每个数组各选一个数出来看是否能组成目标数. 题解:前两个数组两两的和组合一下,二分第三个数组,找是否能组成目标数. 代码: #includ ...

  3. JS对象 返回星期方法 getDay() 返回星期,返回的是0-6的数字,0 表示星期天。如果要返回相对应“星期”,通过数组完成

    返回星期方法 getDay() 返回星期,返回的是0-6的数字,0 表示星期天.如果要返回相对应"星期",通过数组完成,代码如下: <script type="te ...

  4. python库之lightgbm

    一.安装 https://blog.csdn.net/qq_40317897/article/details/81021958 参考文献: [1].LightGBM中文文档 https://light ...

  5. leetcode-63-不同路径②

    题目描述: 第一次提交: class Solution: def uniquePathsWithObstacles(self, obstacleGrid) : m = len(obstacleGrid ...

  6. Java 基础 - 内存泄露Memory leak & 内存溢出Out of memory

    内存泄露 & 内存溢出 关系 https://www.cnblogs.com/panxuejun/p/5883044.html 内存泄露的6种情况: https://blog.csdn.net ...

  7. 【JZOJ6360】最大菱形和(rhombus)

    description analysis 容易想到把原矩阵翻转\(45°\),然后每个数再用\(0\)隔开 然后就变成了求最大子正方形,求完二维前缀和之后就很好做了 code #pragma GCC ...

  8. P2763 试题库问题 (网络流 最大流)

    传送门 解题思路 比较简单的网络流,建图还是比较好想的.让源点向试题连流量为1的边,试题向所属类型连流量为1的边,类型向汇点连流量为需要此类试题的边.直接跑最大流,输出答案时找到那些满流的边所对的点. ...

  9. Python中%r和%s的详解及区别_python_脚本之家

    Python中%r和%s的详解及区别_python_脚本之家 https://www.jb51.net/article/108589.htm

  10. 《DSP using MATLAB》Problem 8.38

    代码: function [wpLP, wsLP, alpha] = bp2lpfre(wpbp, wsbp) % Band-edge frequency conversion from bandpa ...