1550A. Find The Array
生活随笔
收集整理的這篇文章主要介紹了
1550A. Find The Array
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
https://codeforces.com/problemset/problem/1550/A
題意
給出一個x數字,用這個數字構造出一組特殊的正數序列,滿足如下條件
- 漂亮數aia_iai?定義:ai=1a_i=1ai?=1,或者存在aj=ai?1a_j=a_i-1aj?=ai??1 或aj=ai?2a_j=a_i-2aj?=ai??2
現在求用x構造出這種序列的最小長度
題解
最小的一個數字一定是1,如果要使得序列最長,當序列長度為3的時候,間隔拉滿,數字x最大為9(9=1+3+5),如果超出這個最大間隔,必須再添加一位,使得序列長度為4。
根據等差數列求和公式,我們可以得出結論,序列長度為resresres的時候,xxx最大值為res2res^2res2,如果x超出了res2res^2res2,那么x就得+1。因此答案就是 ceil(sqrt(x))
代碼
#include<bits/stdc++.h> using namespace std; const int N=2005; int main(){int t ;cin>>t;while(t--){int x;cin>>x;cout<<(int)(ceil(sqrt(x)))<<endl;} }總結
以上是生活随笔為你收集整理的1550A. Find The Array的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 万兆以太网是什么?如何测试维护?TFN
- 下一篇: cisco dhcp服务器 修改,思科D