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

【AcWing寒假每日一题2023】Day14——如此编码

目录

  • 问题描述
  • 思路与代码

问题描述

原题链接🔗:4699. 如此编码

思路与代码

本题看似很长,但分析起来很简单。

根据题意,有

m = c 0 b 1 + c 1 b 2 + ⋯ + c n − 1 b n = b 1 + a 1 b 2 + a 1 a 2 b 3 + ⋯ + a 1 a 2 ⋯ a n − 1 b n = b 1 + a 1 ( b 2 + a 2 b 3 + ⋯ + a 2 ⋯ a n − 1 b n ) \begin{aligned} m&=c_0b_1+c_1b_2+\cdots+c_{n-1}b_n \\ &=b_1+a_1b_2+a_1a_2b_3+\cdots+a_1a_2\cdots a_{n-1}b_n \\ &=b_1+a_1(b_2+a_2b_3+\cdots+a_2\cdots a_{n-1}b_n) \end{aligned} m=c0b1+c1b2++cn1bn=b1+a1b2+a1a2b3++a1a2an1bn=b1+a1(b2+a2b3++a2an1bn)

0 ≤ b 1 < a 1 0\leq b_1<a_1 0b1<a1,故 m    mod    a 1 = b 1    mod    a 1 = b 1 m\;\text{mod}\;a_1=b_1\;\text{mod}\;a_1=b_1 mmoda1=b1moda1=b1。再令 m = m / a 1 m = m/a_1 m=m/a1,有

m = b 2 + a 2 b 3 + a 2 a 3 b 4 + ⋯ + a 2 ⋯ a n − 1 b n m=b_2+a_2b_3+a_2a_3b_4+\cdots+a_2\cdots a_{n-1}b_n m=b2+a2b3+a2a3b4++a2an1bn

以此类推即可求出 b 2 , ⋯   , b n b_2,\cdots,b_n b2,,bn

AC代码:

#include <iostream>

using namespace std;

int main() {
    int n, m;
    cin >> n >> m;
    while (n--) {
        int a;
        cin >> a;
        cout << m % a << " ";
        m /= a;
    }
    return 0;
}

相关文章:

  • 澄迈网站建设/天津网站排名提升多少钱
  • php做的网站怎么让外网访问/优化网站排名的方法
  • 源码站用dz wordpress/最近大事件新闻
  • 医院网站建设系统/广州网站快速排名
  • 如何制作视频短片/百度seo在线优化
  • wordpress 4.9.5 太卡/网址大全123
  • C/C++ 调用规则
  • VUE: Vue3+TS的项目搭建及基础使用
  • 大数据采集技术简述
  • AtCoder Beginner Contest 285 青大蒟蒻训练日常(A-F) 上分场(可惜unr)
  • 机器学习的几个公式
  • 广告业务系统 之 敏捷交付 —— “基于 Docker 容器同机部署”
  • 简单步骤比别人抢红包快一步
  • 和涤生大数据的故事
  • 一个另类博主的辩白
  • 《Buildozer打包实战指南》第一节 在虚拟机中安装Ubuntu系统
  • c++通讯录管理系统
  • 算法记录Day49|leetcode121. 买卖股票的最佳时机 、122.买卖股票的最佳时机II