jzoj1273-袁绍的刁难【进制转换】
生活随笔
收集整理的這篇文章主要介紹了
jzoj1273-袁绍的刁难【进制转换】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
正題
題目大意
第iii個武將價值為3i?13^{i-1}3i?1,求第kkk大的選擇武將價值之和
解題思路
因為∑i=0n?13i<3n\sum_{i=0}^{n-1}3^i<3^{n}∑i=0n?1?3i<3n
所以其實答案就是kkk轉成二進制之后強行轉成3進制的值。
codecodecode
#include<cstdio> #include<cmath> #define ll long long using namespace std; ll n,k,z,ans,w; int main() {//freopen("recruitment.in","r",stdin);//freopen("recruitment.out","w",stdout);scanf("%lld",&n);while(n--){scanf("%lld",&k);z=1;ans=0;w=0;while(k){if(z*2>k){k-=z;ans+=pow(3,w);z=1;w=0;}else z*=2,w++;}printf("%lld\n",ans);} }總結
以上是生活随笔為你收集整理的jzoj1273-袁绍的刁难【进制转换】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ai电脑配置要求高吗(ai电脑配置)
- 下一篇: 2k17电脑配置要求(2k17电脑配置)