码迷,mamicode.com
首页 > 其他好文 > 详细

Link/Cut Tree CodeForces - 614A 暴力+爆 long long 处理

时间:2020-04-11 13:14:42      阅读:57      评论:0      收藏:0      [点我收藏+]

标签:link   题意   越界   turn   amp   多少   else   using   mat   

题意:

给你一个区间[l,r],让你从小到大输出k^x,设y=k^x,要保证y在区间[l,r]中

 

题解:

就算k是最小的2也不需要枚举多少次就到long long的极限了,所以暴力没商量,根本不会TLE

然后就是爆long long处理,比如r特别大,当k^x=<r但是k^(x+1)就爆long long了,这个要注意一下

 

代码:

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<iostream>
 4 #include<algorithm>
 5 #include<queue>
 6 #include<map>
 7 #include<vector>
 8 #include<math.h>
 9 #define mem(a,x) memset(a,x,sizeof(a))
10 using namespace std;
11 typedef long long ll;
12 const int maxn=1200000+10;
13 const int mod=26;
14 const int INF=0x3f3f3f3f;
15 const int Times = 10;
16 const int N = 5500;
17 int main()
18 {
19     ll l,r,k;
20     cin >> l >> r >> k;
21     int isp = 0;
22     ll ans = 1;
23     while(1)
24     {
25         if( ans>=l && ans<=r )
26         {
27             cout << ans << " ";
28             isp = 1;
29         }
30         if( r/ans<k )   // 即判断r<ans*k,
31         {
32             break ; // 因为ans*k可能越界,所有用除法判断
33         }
34         ans*=k;
35     }
36     if( isp==0 )
37     {
38         cout << "-1" <<endl;
39     }
40     else
41     {
42         cout << endl;
43     }
44     return 0;
45 }

 

Link/Cut Tree CodeForces - 614A 暴力+爆 long long 处理

标签:link   题意   越界   turn   amp   多少   else   using   mat   

原文地址:https://www.cnblogs.com/kongbursi-2292702937/p/12678517.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!