C. Product 1 Modulo N

题目链接

题目大意
给你一个数要求让你从1到n-1中尽可能多的取数使得乘积模n等于1

思路
你只能那和n互质的数,否则在模n时,其取模结果不会为1,gcd(p%n,n)=gcd(p,n),也就是如果n和k*n+1互质的话,那么,存在一个数都能被这两个数整除,那么这个数一定是1,所以你只需要取与n互质的数放到序列中,但是有可能这个乘积模n不是1,那么你将这个不是1的余数在原序列中删除,就可以的到答案,为什么呢,你除去的这个余数相当于相当于整除余数本身,由于整除本身是1,所以得到取模后的结果一定为1

通过代码

#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")
#pragma GCC optimization ("unroll-loops")
using namespace std;
#define ll long long
#define INF 0x3f3f3f3f
#define sl(n) scanf("%lld",&n)
#define pl(n) printf("%lld",n)
#define sdf(n) scanf("%lf",&n)
#define pdf(n) printf("%.lf",n)
#define pE printf("\n")
#define ull unsigned long long
#define pb push_back
#define debug(a) cout<<a<<"??"
#define me(a)  memset(a,0,sizeof(a))
#define pre(n) for(ll i=1;i<=n;i++)
#define rep(n) for(ll i=n;i>=1;i--)
#define ph push
#define pi pair<ll,ll>
#define fi first
#define se second
const ll mod = 1e9+7;
using namespace std;
ll a[100010];
int main(){ll n,q=1;sl(n);for(ll i=1;i<n;i++){if(__gcd(i,n)==1){a[i]=1;q=i*q%n;}}if(q!=1)a[q]=0;cout<<count(a+1,a+n,1);pE;for(ll i=1;i<n;i++)if(a[i]==1)cout<<i<<' ';return 0;}

C. Product 1 Modulo N相关推荐

  1. Product 1 Modulo N CodeForces - 1514C

    Product 1 Modulo N CodeForces - 1514C 题意: 在[1,n-1]中选x个数,使得乘积mod n =1,求x的最大值,并输出所选的数 题解: 我们设S为所选x个数的乘 ...

  2. Codeforces Round #716 (Div. 2) C. Product 1 Modulo N

    problem C. Product 1 Modulo N time limit per test1 second memory limit per test256 megabytes inputst ...

  3. 2016ACM/ICPC亚洲区大连站现场赛题解报告(转)

    http://blog.csdn.net/queuelovestack/article/details/53055418 下午重现了一下大连赛区的比赛,感觉有点神奇,重现时居然改了现场赛的数据范围,原 ...

  4. 十个利用矩阵乘法解决的经典题目

    出自matrix67.com 好像目前还没有这方面题目的总结.这几天连续看到四个问这类题目的人,今天在这里简单写一下.这里我们不介绍其它有关矩阵的知识,只介绍矩阵乘法和相关性质.     不要以为数学 ...

  5. Codeforces Round #716 (Div. 2) (位运算AND)

    B. AND 0, Sum Big time limit per test2 seconds memory limit per test256 megabytes inputstandard inpu ...

  6. HDU Problem - 5976 Detachment(逆元,阶乘打表,数学)

    题目链接 Problem Description In a highly developed alien society, the habitats are almost infinite dimen ...

  7. Codeforces Round #716 (Div. 2)

    Codeforces Round #716 (Div. 2) CodeForces 1514 题号 题目 知识点 难度 A Perfectly Imperfect Array B AND 0, Sum ...

  8. 【转载】ACM中矩阵乘法的应用

    copied from  大神's blog 不要以为数学中的矩阵也是黑色屏幕上不断变化的绿色字符.在数学中,一个矩阵说穿了就是一个二维数组.一个n行m列的矩阵可以乘以一个m行p列的矩阵,得到的结果是 ...

  9. HDU 5976 Detachment(拆分)

    HDU 5976 Detachment(拆分) Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/ ...

最新文章

  1. 通俗易懂:图卷积神经网络入门详解
  2. [Bootstrap]全局样式(四)
  3. Pytest fixture之request传参
  4. 信息学奥赛一本通 2067:【例2.5】圆
  5. UkrGuru.SqlJson——你的SQL Server和.NET 5之间的链接
  6. 正确使用Android性能分析工具——TraceView
  7. CF 964C Alternating Sum
  8. 微软高性能缓存AppFabric (一) 安装
  9. 时间序列数据的正态性检验
  10. Are We Evaluating Rigorously? Benchmarking Recommendation for Reproducible Evaluation and Fair Compa
  11. Unity 获取文件夹下所有文件夹/文件
  12. PADS VX2.3在WIN 10闪退解决方法
  13. 2020年茶艺师(初级)考试及茶艺师(初级)实操考试视频
  14. 机械键盘 酒精大法
  15. 大道至简——RISC-V架构之魂(上)
  16. 微信的末路基因,即时通讯走到终点?
  17. 标题 穿越雷区 java_标题:穿越雷区
  18. 光通量、照度、光强度、亮度、辐射度、色彩还原的概念
  19. EPlan2.6版本解决卡顿未响应问题(安装防卡顿布丁)
  20. android studio布局无法点击,Android Studio菜单项单击不起作用

热门文章

  1. jQuery,实现想弹出什么,弹出什么(弹出提示、弹出一个新的页面等等)
  2. YOLOv2原文解读
  3. 开启这个数据缓存,一键加速你的小程序。
  4. 时间复杂度 O(1),O(n),O(n^2),O(logn),O(nlogn) 详解
  5. 系统重装用户名与计算机名一致,win7刚重装系统 开机的用户名和密码怎么办-win7用户名,win7默认用户名是什么...
  6. 达文教育2022年John Locke主题讲座再度来袭
  7. 电商订单仓储ERP管理系统软件源码
  8. Data too long for column ‘password‘ at row 1“
  9. 民法典实施后,夫妻共同债务如何认定?
  10. 产品经理就业喜报:沉舟侧畔终迎万木春