题目连接

https://pintia.cn/problem-sets/994805046380707840/problems/994805060372905984

思路

其实就是一个多项式的除法运算,我们尽可能将 BBB 的最大项凑到和 A的对应位置项同阶,然后做一个减法运算即可,详情请参考代码,注意的是这里有几个坑点:

  • 余数的阶数小于商的阶数:测试点3、4
  • 去除商中的零项:测试点1、4
  • B的最大阶比A大:测试点2、3

代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mod 1000000007
#define endl "\n"
#define PII pair<int,int>
#define INF 0x3f3f3f3fconst int N = 2e4 + 10;double a[N], b[N], q[N];struct Node {int e;double c;
};void print(vector<Node> &ans) {int l = ans.size();cout << l << " ";for (int i = 0; i < l; ++i) {cout << ans[i].e << " " << ans[i].c << " \n"[i == l - 1];}if (!l) cout << "0 0.0" << endl;
}int n, m;
int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cout << fixed << setprecision(1);cin >> n;double ci;int ei, maxe1 = 0, maxe2 = 0;for (int i = 1; i <= n; ++i) {cin >> ei >> ci;a[ei] = ci;maxe1 = max(maxe1, ei);}cin >> m;for (int i = 1; i <= m; ++i) {cin >> ei >> ci;b[ei] = ci;maxe2 = max(maxe2, ei);}//除法运算for (int i = maxe1; i >= maxe2; --i) {int qe = i - maxe2;double qc = a[i] / b[maxe2];q[qe] = qc;for (int j = maxe2; j >= 0; --j) {int pe = j + qe;double pc = qc * b[j];a[pe] -= pc;}a[i] = 0;}//得到商vector<Node> ans;for (int i = maxe1 - maxe2; i >= 0; --i)if (fabs(q[i]) >= 0.05)ans.push_back({i, q[i]});print(ans);//得到余数ans.clear();for (int i = maxe1; i >= 0; --i)if (fabs(a[i]) >= 0.05)ans.push_back({i, a[i]});print(ans);return 0;
}
/*
2 4 4 3 2
2 5 4 3 2*/

L2-018 多项式A除以B(模拟)相关推荐

  1. 模拟计算(L2-018 多项式A除以B (25 分))

    这一题是一道模拟计算题,只要足够细心就可以解决问题. 原题链接 L2-018 多项式A除以B (25 分) 这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R ...

  2. 多项式A除以B(模拟)

    L2-018 多项式A除以B (25 分) 题目链接 这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. [输入格式] 输入分 ...

  3. PTA 多项式A除以B (25 分)

    7-10 多项式A除以B (25 分) 这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入分两行,每行给出一 ...

  4. 多项式A除以B(PTA)

    多项式A除以B 题目 答案 参考 总结 题目 答案 #include<iostream> #include<math.h> using namespace std; const ...

  5. 【CCCC】L2-018 多项式A除以B (25分),多项式除法

    problem L2-018 多项式A除以B (25分) 这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入 ...

  6. 2016CCCC天梯--多项式A除以B

    L2-018. 多项式A除以B 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 这仍然是一道关于A/B的题,只不过A和B都换成了 ...

  7. PTA L2-018 多项式A除以B (多项式除法)

    L2-018 多项式A除以B (25 分) 这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入分两行,每行给 ...

  8. L2-018. 多项式A除以B

    L2-018. 多项式A除以B 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 这仍然是一道关于A/B的题,只不过A和B都换成了 ...

  9. L2-018 多项式A除以B (25 分)

    two L2-018 多项式A除以B (25 分) 这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入分两行 ...

  10. 双移线驾驶员模型,多项式双移线模拟 采用多项式搭建双移线期望路径,基于郭孔辉单点预瞄理论,搭建双移线simulink驾驶员模型

    双移线驾驶员模型,多项式双移线模拟 软件使用:Matlab/Simulink 适用场景:采用多项式搭建双移线期望路径,基于郭孔辉单点预瞄理论,搭建双移线simulink驾驶员模型. 模型包含:双移线模 ...

最新文章

  1. 老码农揭开行业黑幕:如何编写无法维护的代码
  2. 阿里巴巴Java开发规约的IDEA插件使用
  3. sql升级重启计算机失败win10,win10一直提示重启安装更新失败如何处理
  4. 太疯狂, 2021年涨幅第一,房价几天翻一倍, 全球炒房客都来了
  5. 机器人会消灭人类统治世界?你TM是在逗我么
  6. python莱布尼茨法计算π_酷叮猫少儿编程讲堂——Python 用莱布尼茨等式求π
  7. abaqus linux 下载64位,SIMULIA ABAQUS 2016.0 Win64 Linux64 2DVD工程模拟的有限元
  8. HTTP状态码对照表(全部状态_建议收藏)
  9. 1936年发表理想计算机的论文,科学网—图灵1936年论文解读(1):可计算性 - 柳渝的博文...
  10. 注意力机制可视化_目标跟踪中的(STAM)时空注意力机制
  11. Clr编写Insert Triggr
  12. mac电脑装java环境变量_Mac系统下安装jdk并配置环境变量的方法
  13. 《电路分析导论(原书第12版)》一3.14 压控电阻
  14. excel生成趋势线和函数关系式
  15. 嵌入式ttf字体裁减说明
  16. 键盘表和ASCII码表
  17. magicbook linux系统换w7,荣耀MagicBook笔记本怎么安装win7系统
  18. VS2017生成可执行程序,执行提示“不是有效的win32应用程序”
  19. Sobel,拉普拉斯算子
  20. java 等额本息计算方式

热门文章

  1. origin调整画板大小
  2. Windows添加启动项的两种方法
  3. redis 基础数据结构实现
  4. 集合之五:Set接口
  5. 2015阿里秋招当中一个算法题(经典)
  6. 空间换时间--程序策略
  7. ASP.net Ajax 调用Web Service
  8. CentOS4.4下邮件服务器架设笔记之windows AD整合功能实现
  9. 7.让网站支持http和https的访问方式
  10. React-Native开发App,修改图标和名字