[2018 CCPC 网络赛] 部分题解 (待补充)

真香爬山预警

1003 - Dream

题目链接

如题,p是一个质数,那么由费马小定理  a^p ≡ a (mod p)  ( a ∈ Z )  可得

只需将

加法定义为 (m + n) % p

乘法定义为 (m * n) % p

即可

 

 1 #include <iostream>
 2 #include <bits/stdc++.h>
 3 using namespace std;
 4 int main()
 5 {
 6     int t,p;
 7     scanf("%d",&t);
 8     while(t--)
 9     {
10         scanf("%d",&p);
11         for(int i=0; i<p; i++)
12         {
13             for(int j=0; j<p; j++)
14             {
15                 if(j) printf(" ");
16                 printf("%d",(i+j)%p);
17             }
18             puts("");
19         }
20         for(int i=0; i<p; i++)
21         {
22             for(int j=0; j<p; j++)
23             {
24                 if(j) printf(" ");
25                 printf("%d",(i*j)%p);
26             }
27             puts("");
28         }
29     }
30     return 0;
31 }

1003 code


1004 - Find Integer

题目链接

由费马大定理可知 n>2 时无解,显然n=0时也无解。

当n=2时利用费马大定理奇偶数列法则求解即可

 奇偶数列法则:

  若a为奇数
  a = 2n + 1 
  c = n ^ 2 + (n + 1) ^ 2 
  b = c - 1

  若a为偶数,
  则 a = 2n + 2 
  c = 1 + (n + 1) ^ 2 
  b = c - 2

 

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 int main()
 5 {
 6     int n;
 7     ll a;
 8     scanf("%d %lld",&n,&a);
 9     if (n==0 || n>2) printf("-1\n");
10     else if(n==1) printf("1 %lld\n",a+1);
11     else
12     {
13         ll n,c,b;
14         if(a%2==0)
15         {
16             n=(a-2)/2;
17             c=1+(n+1)*(n+1);
18             b=c-2;
19         }
20         else
21         {
22             n=(a-1)/2;
23             c=n*n+(n+1)*(n+1);
24             b=c-1;
25         }
26         printf("%lld %lld\n",b,c);
27     }
28     return 0;
29 }

1004 code

原文地址:https://www.cnblogs.com/lorelei/p/9535444.html

时间: 2024-08-26 10:15:13

[2018 CCPC 网络赛] 部分题解 (待补充)的相关文章

2018 CCPC网络赛

2018 CCPC网络赛 Buy and Resell 题目描述:有一种物品,在\(n\)个地点的价格为\(a_i\),现在一次经过这\(n\)个地点,在每个地点可以买一个这样的物品,也可以卖出一个物品,问最终赚的钱的最大值. solution 用两个堆来维护,一个堆维护已经找到卖家的,一个堆维护还没找到卖家的. 对于第\(i\)个地点,在已经找到卖家的堆里找出卖的钱的最小值,如果最小值小于\(a_i\),则将卖家换成\(i\),然后将原来的卖家放到没找到卖家的那里:如果最小值对于\(a_i\)

2018 CCPC网络赛 Dream&amp;&amp;Find Integer

首先这场比赛打得很难受,因为是第一次打网络赛而且也是比较菜的那种,所以对这场网络赛还是挺期待和紧张的,但是在做题的过程中,主要的压力不是来自于题目,更多的来自于莫干山...从12.40-2.00所有的题目都不判了,中间也就写了1003和1004但是都不知道结果就很难受, 然后一直不判就已经没什么看其他题的兴趣了,然后上床休息了一会,直到说杭电的评测机好了,之后才上去继续做题.然后..一直在写1001和1009..后面也没有写出来..直到比赛结束 首先说下1004 签到题竟然写了这么久,而且用了c

HDU 6438 Buy and Resell ( 2018 CCPC 网络赛 &amp;&amp; 贪心 )

题目链接 题意 : 给出一些数.你可以从左到右对这些数进行三种操作花费 Ai 买入东西.以 Ai 价格卖出你当前有的东西.或者什么都不做.现在问你可以获取的最大利益是多少? 分析 : 和 CF 867E 一模一样 传送门 可以去搜这题的题解.有很多 对于每个元素产生的贡献 可以先算出暂时的最优值 如果下次碰到更优的选择再进行替换 具体就是首先使用小顶堆维护枚举过的元素 然后对于当前枚举到的元素 用它和堆顶元素做对比.如果小于或等于堆顶元素 那么它无法和之前枚举过的所有元素的任何一个做减法产生贡献

2018 CCPC网络赛 几道数学题

1002 Congruence equation 题目链接  : http://acm.hdu.edu.cn/showproblem.php?pid=6439 题解 : https://www.zybuluo.com/yang12138/note/1262592 相关定理 : 裴蜀定理 在数论中,裴蜀定理是一个关于最大公约数(或最大公约式)的定理.裴蜀定理得名于法国数学家艾蒂安·裴蜀,说明了对任何整数a.b和它们的最大公约数d,关于未知数x和y的线性丢番图方程(称为裴蜀等式): ax + by

2018 CCPC网络赛 Dream (费马小定理)

Dream Problem Description Freshmen frequently make an error in computing the power of a sum of real numbers, which usually origins from an incorrect equation (m+n)p=mp+np, where m,n,p are real numbers. Let's call it ``Beginner's Dream''. For instance

【2018 CCPC网络赛】1004 - 费马大定理&amp;数学

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=6441 Knowledge Point: 1. 费马大定理:当整数n >2时,关于x, y, z的方程 x^n + y^n = z^n 没有正整数解. 2. 0^0次没有意义!! 所以我们知道 n=0, n>2的时候都没有正整数解: n=1 时显然 b=1, c=a+1 为一组整数解: n=2 时,a2 = c2-b2 = (c+b)*(c-b); 令x = c+b, y = c-b; 则有 a2 

hdu6153 A Secret CCPC网络赛 51nod 1277 KMP

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=6153 题意: 给出两个字符串S1,S2,求S2的所有后缀在S1中出现的次数与其长度的乘积之和. 思路: CCPC网络赛题解: https://post.icpc-camp.org/d/714-ccpc-2017 http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1277   是一样的 将s1,s2翻转,转化为求前缀在s1中出

2018徐州网络赛H. Ryuji doesn&#39;t want to study

题目链接: https://nanti.jisuanke.com/t/31458 题解: 建立两个树状数组,第一个是,a[1]*n+a[2]*(n-1)....+a[n]*1;第二个是正常的a[1],a[2],a[3]...a[n] #include "bits/stdc++.h" using namespace std; #define ll long long const int MAXN=1e5+10; ll sum[MAXN],ans[MAXN]; ll num[MAXN];

树形DP CCPC网络赛 HDU5834 Magic boy Bi Luo with his excited tree

1 // 树形DP CCPC网络赛 HDU5834 Magic boy Bi Luo with his excited tree 2 // 题意:n个点的树,每个节点有权值为正,只能用一次,每条边有负权,可以走多次,问从每个点出发的最大获益 3 // 思路: 4 // dp[i]: 从i点出发回到i点的最大值 5 // d[i][0] 从i点出发不回来的最大值 6 // d[i][1] 从i点出发取最大值的下一个点 7 // d[i][2] 从i点出发取次大值 8 // dfs1处理出这四个 9