codeforces 1216E1(數學+暴力)
題意描述
思路
觀察發現,每次到 9 , 99 , 999 , 9999... 9,99,999,9999... 9,99,999,9999...以後,等差 d d d就會多加1。例如, 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 1,2,3,4,5,6,7,8,9 1,2,3,4,5,6,7,8,9這段數字的位數等差為1, 10 , 11...99 10,11...99 10,11...99,這段數字的位數等差為就變成2了。我們可以根據這個性質,求出來k對應的數是屬於哪一段,然後暴力的構造出字串即可。
AC程式碼
#include<bits/stdc++.h>
#define x first
#define y second
#define PB push_back
#define mst(x,a) memset(x,a,sizeof(x))
#define all(a) begin(a),end(a)
#define rep(x,l,u) for(ll x=l;x<u;x++)
#define rrep(x,l,u) for(ll x=l;x>=u;x--)
#define sz(x) x.size()
#define IOS ios::sync_with_stdio(false);cin.tie(0);
using namespace std;
typedef unsigned long long ull;
typedef pair<int,int> PII;
typedef pair<long,long> PLL;
typedef pair<char,char> PCC;
typedef long long ll;
const int N=2*1e5+10;
const int M=1e6+10;
const int INF=0x3f3f3f3f;
const int MOD=1e9+7;
ll f[10];
void solve(){
ll n;cin>>n;
ll cnt=0,k=1,idx=0,t=1,cpy=n;
while(1){
cnt++;
n-=k;
//求出如果最後n小於等於0,則加上k,獲得該k屬於cnt段的第幾個數字
if(n<=0){
n+=k;
break;
}
//滿足的話公差d加一
if(cnt==f[idx]){
idx++;
t++;
}
k+=t;
}
string s;
//暴力構造字串
rep(i,1,cnt+1) s+=to_string(i);
cout<<s[n-1]<<endl;
}
int main(){
IOS;
f[0]=9;
rep(i,1,10) f[i]=f[i-1]*10+9;
//freopen("test.in","r",stdin);
//freopen("test.out","w",stdout);
int t;cin>>t;
while(t--)
solve();
return 0;
}
相關文章
- Divisibility 【數學計數】Codeforces 597A
- Tricky Sum【數學】CodeForces 598A
- Codeforces 1070H - BerOS File Suggestion 暴力 (2018-2019 ICPC, NEERC)ROS
- Codeforces Round #537 (Div. 2)B. Average Superhero Gang Power (貪心+暴力)
- CodeForces571A. Lengthening Sticks(組合數學-容斥)
- Codeforces Round #688 (Div. 2) C. Triangles(思維,數學)
- 『暴力學習 docker ,後附影片版』Docker
- CodeForces - 628D (數位dp)
- 如何提升自己的Codeforces分數
- 分塊=-=優雅的暴力=-=中位數模版
- 藍橋杯之帶分數(全排列+暴力)
- 暴力破解-基於Pikachu的學習
- 力扣 1512. 好數對的數目(超簡單暴力解法)力扣
- 暴力破解
- Codeforces
- C++暴力指南C++
- 什麼是暴力破解?暴力破解的方法有哪些?
- 演算法學習筆記-暴力搜尋和分治法演算法筆記
- 某學院存在資訊洩露及暴力破解漏洞
- 南洋理工:研究發現暴力遊戲與暴力行為無關遊戲
- Codeforces1420 D. Rescue Nibel!(區間,組合數)
- CodeForces 1307
- 9.11 codeforces
- 藍橋杯15年真題奇妙的數字暴力集合去重
- LeetCode 每日一題,用 Go 實現兩數之和的非暴力解法LeetCode每日一題Go
- Blue Jeans 【KMP+暴力】KMP
- Adjustment Office 暴力模擬
- 從暴力中解脫,
- 暴力破解測試
- [暴力 Trick] 根號分治
- Codeforces Good Bye 2017 C. New Year and Curling(運用數學解析幾何的知識判斷)Go
- Vue原始碼學習(十六):diff演算法(三)暴力比對Vue原始碼演算法
- 小白學習CTF第十二天-web安全暴力破解Web
- 【CodeForces訓練記錄】Codeforces Global Round 27
- 真實的描寫暴力,讓我們真實地痛恨著暴力
- LeetCode刷題進階之有多少小於當前數字的數字(1365)(暴力求解)LeetCode
- 快手嚴打網路暴力:整治網路暴力不能一刀切
- 迭代暴力破解域名工具