给定两个数 p,k,求出一个多项式 f(x) 满足系数均小于 k 且为非负整数,且 f(x)=q(x)(x+k)+p, q(x) 也为一个多项式。

(1≤p≤1018,2≤k≤2000)

将多项式 q(x) 展开:

f(x)=(qnxn+..+q1x+q0)(x+k)+p
f(x)=(kqn+qn−1)xn+..+(kq1+q0)x+(kq0+p)

将多项式 f(x) 展开:

anxn+...+a1x+a0==(kqn+qn−1)xn+..+(kq1+q0)x+(kq0+p)

将系数一一对应:

an=kqn+qn−1
...
a1=kq1+q0
a0=kq0+p

很显然了, 我们只需要从次数小的往大的枚举,每次我们知道 qi−1 的值,只需要调节 qi 将 kqi+qi−1 的值控制在 [0,k) 之间即可, qi 等于 0,则已经求出了该多项式 f(x)。

复杂度 O(logpk)

#pragma comment(linker, "/STACK:1024000000,1024000000")
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll inf = 0x3f3f3f3f3f3f3f3f;
#define show(a) cout<<#a<<" = "<<a<<endl
#define show2(b,c) cout<<#b<<" = "<<b<<" "<<#c<<" = "<<c<<endl
#define show3(a,b,c) cout<<#a<<" = "<<a<<" "<<#b<<" = "<<b<<" "<<#c<<" = "<<c<<endl
#define show4(a,b,c,d) cout<<#a<<" = "<<a<<" "<<#b<<" = "<<b<<" "<<#c<<" = "<<c<<" "<<#d<<" = "<<d<<endl
const int maxn = 1005;
#define LOCAL
#define R register
long long p;
int k, a[10000010];
long long q[10000010];int main() {scanf("%I64d %d", &p, &k); q[0] = p;for(R int i = 1;; i++) {if(q[i - 1] == 0) {printf("%d\n", i - 1);for(R int j = 1; j < i; j++) printf("%d ", a[j]); return 0;}R long long d = q[i - 1] / k;R int u = q[i - 1] % k; // show4(i, q[i-1] ,d, u);if(u < 0) {u += k;d--;}// show4(i, q[i-1] ,d, u);a[i] = u;q[i] = -1ll * d;}
}

CF 934D 数学 推导多项式展开相关推荐

  1. 数学推导+纯Python实现机器学习算法:GBDT

    Datawhale推荐 作者:louwill,Machine Learning Lab 时隔大半年,机器学习算法推导系列终于有时间继续更新了.在之前的14讲中,笔者将监督模型中主要的单模型算法基本都过 ...

  2. 数学推导+纯Python实现机器学习算法:逻辑回归

    2019独角兽企业重金招聘Python工程师标准>>> 自本系列第一讲推出以来,得到了不少同学的反响和赞成,也有同学留言说最好能把数学推导部分写的详细点,笔者只能说尽力,因为打公式实 ...

  3. 详解CAPM的数学推导

    详解CAPM的数学推导 资本配置线 最优投资组合 市场投资者与资本资产定价公式 今年居然是咱本命年啊,难怪从二月开始就总是遇到各种奇奇怪怪的bug,不管怎么说还是祝我生日快乐吧.虽说已经不搞金融了,但 ...

  4. 机器学习——线性回归数学推导

    文章目录 线性回归数学推导 基础知识 线性回归的计算 利用矩阵知识对线性公式进行整合 误差项的分析 似然函数的理解 矩阵求偏导 线性回归的最终求解 实验 1 二维直线实验 2 三维平面实验 3 利用最 ...

  5. Lucene学习总结之六:Lucene打分公式的数学推导

     Lucene学习总结之六:Lucene打分公式的数学推导 在进行Lucene的搜索过程解析之前,有必要单独的一张把Lucene score公式的推导,各部分的意义阐述一下.因为Lucene的搜索 ...

  6. BZOJ 3119 Book (贪心+数学推导)

    BZOJ 3119 Book (贪心+数学推导) 手动博客搬家: 本文发表于20191029 22:49:41, 原地址https://blog.csdn.net/suncongbo/article/ ...

  7. 【机器学习基础】数学推导+纯Python实现机器学习算法30:系列总结与感悟

    Python机器学习算法实现 Author:louwill Machine Learning Lab 终于到了最后的总结.从第一篇线性回归的文章开始到现在,已经接近有两年的时间了.当然,也不是纯写这3 ...

  8. 【机器学习基础】数学推导+纯Python实现机器学习算法24:HMM隐马尔可夫模型

    Python机器学习算法实现 Author:louwill Machine Learning Lab HMM(Hidden Markov Model)也就是隐马尔可夫模型,是一种由隐藏的马尔可夫链随机 ...

  9. 【机器学习基础】数学推导+纯Python实现机器学习算法28:CRF条件随机场

    Python机器学习算法实现 Author:louwill Machine Learning Lab 本文我们来看一下条件随机场(Conditional Random Field,CRF)模型.作为概 ...

  10. 【机器学习基础】数学推导+纯Python实现机器学习算法27:EM算法

    Python机器学习算法实现 Author:louwill Machine Learning Lab 从本篇开始,整个机器学习系列还剩下最后三篇涉及导概率模型的文章,分别是EM算法.CRF条件随机场和 ...

最新文章

  1. 【机器学习】基于蚁群算法的多元非线性函数极值寻优
  2. 镜像的分层结构 - 每天5分钟玩转容器技术(11)
  3. jeesite快速开发平台(三)----项目文件结构与配置文件详解
  4. mysql8 grant语法失效
  5. 小程序服务器域名5次_为什么您不应该在100美元的服务器上用5天的时间构建面向500,000个用户的应用程序...
  6. 设置ntpdate服务开机启动校验时间
  7. linux 当前用户 命令 w who(转)
  8. 实例篇——springboot自定义拦截器
  9. 离线版的百度地图 js
  10. 自己动手,更换光猫,这次是吉比特H2-3换为华为MA5671。(中国移动光纤宽带)
  11. 这个百度网盘批量转存工具真香
  12. gcj-02 wgs-84 java_GCJ-02火星坐标系和WGS-84坐标系转换关系
  13. 【数字信号处理】FIR 滤波器基础理论
  14. 485集线器在安防监控系统的应用
  15. darknet出现以下错误 /home/ubtu/anaconda3/lib/libQt5Core.so.5:对‘ucnv_toUnicode_58’未定义的引用
  16. 4G模组EC20在使用电信物联网专用卡时无信号问题
  17. 止咳绝招 献给身边咳嗽的人
  18. 8600 系列 VSM 用于磁性微型机器人以及韦根线研究
  19. 利用AIDA64对电脑进行简单的稳定性测试的技巧分享
  20. 三星 GALAXY Note2系列完美自动root工具

热门文章

  1. FreeRTOS学习笔记——FreeRTOS 时间管理
  2. lucas定理 与 扩展lucas定理(HDU 3037 以及 2015 ICL, Finals, Div. 1 J.Ceizenpok’s formula)
  3. Java漫漫求学之路 SSM《金商家医院管理系统》项目研发文献
  4. wireshark抓取未加密聊天数据
  5. 连接linux服务器安卓模拟器,云服务器怎么运行安卓模拟器
  6. 找到小菇凉 (BFS)
  7. OKR工作法阅读笔记(第一天)-序言和前言
  8. redis---sds(简单动态字符串)详解
  9. 兆比特每秒和兆字节每秒_Mbps和MB/S一样吗?我们平时经常说的多少M带宽是哪个?...
  10. android点击vcf文件,Android vcard使用示例,生成vcf文件