日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

恢复数列

發布時間:2023/12/3 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 恢复数列 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目鏈接
比賽鏈接

時間限制:C/C++ 1秒,其他語言2秒 空間限制:C/C++ 262144K,其他語言524288K Special Judge,64bit IO Format: %lld

題目描述

小y的數學作業不小心被潑上了墨水。有道題看不清了,現在他想請你幫他恢復這道題。 這道數學題原型如下:

幸運的是,小y依然記得自己所求得的答案x。現在請你幫他找回這個數列a。
你的輸出需要保證0≤ai≤n

輸入描述:

輸入共一行兩個用空格隔開的正整數n,x。含義見【題目描述】

輸出描述:

輸出共一行n個用空格隔開的正整數,第i個數字表示ai 當你輸出多于n個數字時,只有前n個數字有效。 如果有多種答案,你只需要輸出任意一種
輸入保證有解。

示例1
輸入

12 6

輸出

2 0 0 0 0 0 0 1 1 1 1 1

說明

62=60+60+60+60+60+60+61+61+61+61+61=36
備注:

對于30%的數據滿足:2≤x<n≤7
對于50%的數據滿足:2≤x<n≤103
對于100%的數據滿足:2≤x<n≤106
題解:
可以證出n-2=k(x-1)
最方便的構造就是:
第一個是k
后面x個是0
x-1個是1
x-1個是2
x-1個是3
直到把n個數填滿
x0+…x0+x1+…x1+x2+…+x2+…
=x+ (x-1)(x1+x2+x3+…+xk)
x+(x-1)*m
等比數列求和得到m
=xk

#include<bits/stdc++.h> typedef long long ll; const ll mod=998244355; const int maxn=2010; ll a[maxn],a1[maxn],b[maxn]; using namespace std; int n,m; ll sum=1,ant; int main() {int n,x;cin>>n>>x;int w=(n-2)/(x-1);cout<<w<<" "<<0<<" ";for(int i=w-1;i>=0;i--){for(int j=1;j<=x-1;j++){cout<<i<<" ";}}return 0;} 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的恢复数列的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。