1026 Modular multiplication of polynomials
这道题目是多项式相乘、求模。。按照题目中的规则,可以看出,多项式的加法和减法是相同的结果,那么多项式的除法都可以用加法来计算了。代码的重点是21到24行,36到37行,是如何实现乘和求余的步骤。
1 #include <iostream> 2 #include <cstring> 3 using namespace std; 4 #define MAXN 2000 5 struct poly{ int deg,x[MAXN];}; 6 void print(poly f) 7 { 8 cout<<f.deg<<' '; 9 for (int i=f.deg-1; i>0; --i) cout<<f.x[i]<<' '; 10 cout<<f.x[0]<<endl; 11 } 12 void read(poly &f) 13 { 14 cin>>f.deg; 15 for (int i=f.deg-1; i>=0; --i) cin>>f.x[i]; 16 } 17 //r=f*g 18 void mult(poly f,poly g,poly &r) 19 { 20 memset(r.x,0,sizeof(r.x)); 21 for (int i=0; i<f.deg; ++i) 22 for (int j=0; j<g.deg; ++j) 23 r.x[i+j] = (r.x[i+j]+f.x[i]*g.x[j])%2; 24 r.deg = f.deg+g.deg-1; 25 } 26 //m=m%h 27 void mod(poly &m,poly h) 28 { 29 int i; 30 while (1){ 31 for (i=m.deg-1; i>=0&&(!m.x[i]); --i); 32 if (i<h.deg-1){ 33 m.deg = i+1; 34 break; 35 } 36 for (int j=h.deg-1; j>=0; --i,--j) 37 m.x[i] = (m.x[i]+h.x[j])%2; 38 } 39 } 40 void solve() 41 { 42 poly f,g,h,m; 43 read(f); 44 read(g); 45 read(h); 46 mult(f,g,m); 47 mod(m,h); 48 print(m); 49 } 50 int main() 51 { 52 int t; 53 cin>>t; 54 while (t--) 55 solve(); 56 return 0; 57 }
转载于:https://www.cnblogs.com/wangaohui/archive/2013/01/20/2868855.html
1026 Modular multiplication of polynomials相关推荐
- poj 1060 Modular multiplication of polynomials
方法(无证明,lz弱渣请谅解): 以样例来讲:(x^6 + x^4 + x^2 + x + 1) (x^7 + x + 1) modulo (x^8 + x^4 + x^3 + x + 1) = x^ ...
- POJ1060 HDU1343 ZOJ1026 UVALive2323 Modular multiplication of polynomials题解
代码来源:DeathYmz AC的C++语言程序如下: #include<cstdio> #include<iostream> #include<cstring> ...
- 基础算法优化——Fast Modular Multiplication
1. 引言 Yuval Domb 2022年论文<Fast Modular Multiplication> 模乘可以说是任何密码系统中计算量最大的算术原语.本文提出了一种高效.硬件友好的算 ...
- 牛客国庆集训派对Day5B电音之王(Montgomery modular multiplication)
Montgomery modular multiplication 代码出处min_25 杜教暑期时候讲过(我不懂但是我会贴代码呀.jpg),正好牛客网放了camp的题目,那就mark一下 优秀的卡常 ...
- poj题目详细分类及算法推荐题目
DP: 1011 NTA 简单题 1013 Great Equipment 简单题 1024 Calendar Game 简单题 ...
- ACM POJ 题目分类(完整整理版本)
DP: 1011 NTA 简单题 1013 Great Equipment 简单题 1024 Calendar Game 简单题 ...
- POJ ZOJ题目分类
POJ,ZOJ题目分类(多篇整合版,分类很细致,全面) 标签: 题目分类POJ整理 2015-04-18 14:44 1672人阅读 评论(0) 收藏 举报 本文章已收录于: 分类: ACM资料(5) ...
- POJ,ZOJ题目分类(多篇整合版,分类很细致,全面)
水题: 3299,2159,2739,1083,2262,1503,3006,2255,3094 初级: 一.基本算法: (1)枚举 (1753,2965) (2)贪心(13 ...
- PUK ACM题目分类
acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP: 1011 NTA 简单题 1013 Great Equipment 简单题 102 ...
最新文章
- 浅谈数据分析的魅力和能力要求!
- 机器学习圣杯:图灵奖得主Bengio和LeCun称自监督学习可使AI达到人类智力水平
- android jni 回调 java_android linux线程通过JNI回调java函数 | 学步园
- 我们需要StringBuffer么?
- linux周期记录内存信息,linux top显示信息详解
- ofstream写文件
- Android中SQLiteDatabase操作【附源码】
- JQuery DataTables Editor---只修改页面内容
- 高精度人脸表情识别(附GitHub地址)
- 机器学习--01建立开发集与训练集
- 内存管理2(主讲MRR)
- postgresql 连接超时_关于超时:如何自动关闭PostgreSQL中的空闲连接?
- 腾讯会议开放API接口,为企业打造专属的“腾讯会议”
- 通俗地告诉你:为什么Dijkstra算法是正确的?
- SQLSTATE[23000]: Integrity constraint violation:1062 Duplicate entry1664187678631531497821000‘ 解决办法
- STN:空间变换网络(Spatial Transformer Network)
- Html页面Js调用android本地相机和图片
- python调用pyd_使用python pyd时出错
- Fxfactory插件:复古电影调色插件Sheffield Softworks Vintage
- 王者荣耀 微信登录 服务器找不到,王者荣耀微信登录失败怎么办 王者荣耀微信登录失败解决办法...