fibonacci进制

Fibonacci进制

https://ac.nowcoder.com/acm/problem/15663

这道题就是通过位运算的方法实现的.
具体可以把比如45位二进制都初始化为一,再从高位到低位进行判断,判断此位能否给置为0(因为高位为零有利于最后保留低位的一,最终得到最小的数字.
具体展开有多种多样.
里面对数据比较苛刻,所以可以通过long long 类型予以解决.
int 类型的范围一般是-20亿~20亿,long long 就比他大得多了.
除了位运算还可以枚举,不过dfs枚举的话,大约2^45次运算,级别就太高了,运行不下去的.
最后一点就是为何会有45,而不是46,47等,原因是45时f[45]已经满足题目中数据要求,没必要更大的数了.

全部评论

相关推荐

不愿透露姓名的神秘牛友
10-29 21:14
疯犬丨哈士奇:喜欢你的人会主动表白,对你有想法的人会很主动,所以要你的公司不会吊着你所以懂了吧
点赞 评论 收藏
分享
牛客77743221...:做一段时间,公司出钱送你去缅甸和泰国旅游
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务