当前位置: 首页 > news >正文

L2-018 多项式A除以B

比较难想的一道题,需要知道多项式除法的方法,具体解释在代码中

#include<bits/stdc++.h>
using namespace std;
//a,b分别存储a多项式和b多项式,c是最后的商,最后a剩下的就是余数 
double a[100010],b[100010],c[100010]; 
//舍去函数
double op(double x){bool flag = 0;if(x < 0) flag = 1;x = abs(x);int y = x * 100;if(y % 10 >= 5){y += 10;}if(flag == 1){return -(double)1.0*y/100;}return (double)1.0*y/100;
} int main(){int n,m;cin>>n;int indexa,indexb,indexc;indexa = indexb = -1;for(int i = 1 ; i <= n ; i++){int x,y;cin>>x>>y;a[x] = y;	//存储每个指数对应的系数indexa = max(indexa,x); } cin>>m;for(int i = 1 ; i <= m ; i++){int x,y;cin>>x>>y;b[x] = y;	//存储每个指数对应的系数indexb = max(indexb,x); } indexc = indexa - indexb;	//表示商的最高项while(indexa >= indexb){double k = a[indexa] / b[indexb];	//每次把最高项化为0,相当于执行a - b * k; c[indexa - indexb] = k;	//表示商的当前指数对应的系数 //还要操作a的其他项,也就是其他项也要减去对应b*k;for(int i = indexa,j = indexb ; i >= 0 && j >= 0 ; i--,j--){a[i] -= k * b[j];	//这一步不太好理解 ,具体请看下方 } /*这一步其实就是对a多项式进行一个更新,因为我们当前把最高项化为0,也就是说减去 b乘以k*x^n,所以我们就可以这样枚举去更新,比如8 67 56 4 */while(indexa >= 0 && fabs(a[indexa]) <= 1e-6){indexa--;}}int cnt1 = 0;	//判断c是不是0 for(int i = indexc ; i >= 0 ; i--){if( op(fabs(c[i])) >= 0.1){cnt1++;}} cout<<cnt1;if(cnt1 == 0) cout<<" 0 0.0";else{for(int i = indexc ; i >= 0 ; i--){if( op(fabs(c[i])) >= 0.1){printf(" %d %.1lf",i,c[i]);}} }cout<<endl;int cnt2 = 0;	//判断a是不是0 for(int i = indexa ; i >= 0 ; i--){if( op(fabs(a[i])) >= 0.1){cnt2++;}} cout<<cnt2;if(cnt2 == 0) cout<<" 0 0.0";else{for(int i = indexa ; i >= 0 ; i--){if( op(fabs(a[i])) >= 0.1){printf(" %d %.1lf",i,a[i]);}} }cout<<endl;return 0; 
}

相关文章:

  • 电脑 BIOS 操作指南(Computer BIOS Operation Guide)
  • 累计达2.04亿户!中国联通首次公布5G网络用户数据
  • 使用MetaGPT 创建智能体(2)多智能体
  • 创维E900V20C-国科GK6323V100C-rtl8822cs-安卓9.0-短接强刷卡刷固件包
  • 遥感技术赋能电力设施监控:应用案例篇
  • 链表相关算法题
  • git clean password
  • Vue2+Vue3 130~180集学习笔记
  • OpenHarmony-Risc-V上运行openBLAS中的benchmark
  • C++ 迭代器失效详解:如何避免 vector 操作中的陷阱
  • SQL预编译——预编译真的能完美防御SQL注入吗
  • C#插件与可扩展性
  • 使用手机归属地查询API,使效率事半功倍
  • Jsp技术入门指南【五】详细讲解jsp结构页面
  • 【AI模型学习】关于写论文——论文的审美
  • 【RK3588 嵌入式图形编程】-SDL2-扫雷游戏-结束和重新开始游戏
  • 黑马V11版 最新Java高级软件工程师课程-JavaEE精英进阶课
  • AIP-236 策略预览
  • Linux简介
  • MapWindow GIS:开源的GIS程序 库和工具,适用于基于C#和.NET的应用程序
  • 美国海关新规致跨境包裹延误,DHL暂停超800美元对美个人货运
  • 一女子称醉酒后疑似被性侵,长沙警方通报:嫌犯邱某某已被刑拘
  • 浙江、安徽公布一季度外贸数据,出口增速均达到两位数
  • 武汉一超高层住宅顶楼违建成“不死小强”,相关部门回应
  • 绿城中国5.39亿元竞得浙江台州住宅用地,刷新板块单价纪录
  • 信心从何而来|楼市回稳的最新迹象