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

CF1293D - Aroma's Search 思维

时间:2020-02-07 10:46:18      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:abs   pen   直接   ring   F12   枚举   min   spl   NPU   

x和y的系数,常数项,本身均为正。整个图像以指数级别向右上跑。我们必定是从起点出发,到一个点后,一直向下或一直向上。

所以我们就枚举走的这一段的边界,然后看上下端点哪个和起点近取那段就好。因为坐标指数级别增加,所以可能到达的点数不会本多,O(N^2)枚举完全可以接受。

c++WA了,应该是炸long long,直接用python上了。

 1 import string
 2 MAX = 2e18
 3 x = []
 4 y = []
 5 s = input().split(" ")
 6 x.append(int(s[0]))
 7 y.append(int(s[1]))
 8 ax = int(s[2])
 9 ay = int(s[3])
10 bx = int(s[4])
11 by = int(s[5])
12 ans = 0
13 
14 while (x[len(x) - 1] <= MAX and y[len(y) - 1] <= MAX):
15     x.append(ax * x[len(x) - 1] + bx)
16     y.append(ay * y[len(y) - 1] + by)
17 
18 s = input().split(" ")
19 sx = int(s[0])
20 sy = int(s[1])
21 t = int(s[2])
22 for i in range(0,len(x)):
23     for j in range(i,len(y)):
24         tmp = min(abs(sx - x[i]) + abs(sy - y[i]),abs(sx - x[j]) + abs(sy - y[j])) + abs(x[j] - x[i]) + abs(y[j] - y[i])
25         if (tmp <= t):
26             ans = max(ans,j - i + 1)
27 
28 print(ans)

 

CF1293D - Aroma's Search 思维

标签:abs   pen   直接   ring   F12   枚举   min   spl   NPU   

原文地址:https://www.cnblogs.com/iat14/p/12272050.html

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