Blah数集
Blah数集
描述 大数学家高斯小时候偶然间发现一种有趣的自然数集合Blah,对于以a为基的集合Ba定义如下: (1) a是集合Ba的基,且a是Ba的第一个元素; (2)如果x在集合Ba中,则2x+1和3x+1也都在集合Ba中;
(3)没有其他元素在集合Ba中了。 现在小高斯想知道如果将集合Ba中元素按照升序排列,第N个元素会是多少?
输入 输入包括很多行,每行输入包括两个数字,集合的基a(1<=a<=50))以及所求元素序号n(1<=n<=1000000)
输出 对于每个输入,输出集合Ba的第n个元素值
样例输入 1 100 28 5437
样例输出 418 900585
单调队列解决,第一次提交不知为什么output limit exceede,后来换成long long,把数组开大了一个号就ac了,注意使用位运算,减少运行时间
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<cstdio>
#include<algorithm>
#include<stack>
using namespace std;
long long que[1000001];
int main(){
long long m,n;
while(scanf("%lld%lld",&m,&n) > 0){
long long h1,h2,tail;
tail = 1;
h1 = 1;
h2 = 1;
que[1] = m;
while(tail < n){
long long t1 = (que[h1]<<1) + 1,t2 = que[h2] * 3 + 1; //之所以用h1,h2是因为比较大的后入队列,因为可能出现后面的2*x + 1 可能小于前面的3*x + 1等诸如此类的情况。
if(t1 < t2){
que[++tail] = t1;
h1 ++;
}else if(t1 > t2){
que[++tail] = t2;
h2++;
}else{
que[++tail] = t2;
h1++;
h2++;
}
}
printf("%lld\n",que[tail]);
}
return 0;
}
Blah数集的更多相关文章
- 1333:【例2-2】Blah数集
1333:[例2-2]Blah数集 注意是数组,答案数组中不能有重复数字 q数组是存储答案的 代码: #include<iostream> #include<cstdio> # ...
- noi2729 Blah数集
Blah数集 大数学家高斯小时候偶然间发现一种有趣的自然数集合Blah,对于以a为基的集合Ba定义如下: (1) a是集合Ba的基,且a是Ba的第一个元素: (2)如果x在集合Ba中,则2x+1和3x ...
- 2729:Blah数集
2729:Blah数集 查看 提交 统计 提问 总时间限制: 3000ms 内存限制: 65536kB 描述 大数学家高斯小时候偶然间发现一种有趣的自然数集合Blah,对于以a为基的集合Ba定义如下: ...
- Openjudge2729 Blah数集(单调队列)
2729:Blah数集 总时间限制: 3000ms 内存限制: 65536kB 描述 大数学家高斯小时候偶然间发现一种有趣的自然数集合Blah,对于以a为基的集合Ba定义如下:(1) a是集合Ba ...
- 复习题之Blah数集
题目描述: 大数学家高斯小时候偶然间发现一种有趣的自然数集合Blah,对于已a为基的集合Ba定义如下: (1)a是集合Ba的基,且a是Ba的第一个元素: (2)如果x在集合Ba中,则2x+1,3x+1 ...
- 投入OJ的怀抱~~~~~~~~~~
OpenJudge C20182024 信箱(1) 账号 修改设定 退出小组 管理员 frank 林舒 Dzx someone 李文新 公告 11-05 程序设计与算法(大学先修课) 成员(61910 ...
- 浅谈 STL
简介 STL是Standard Template Library的简称,中文名标准模板库,从根本上说,STL是一些"容器"的集合,这些"容器"有list,vec ...
- C语言通用双向循环链表操作函数集
说明 相比Linux内核链表宿主结构可有多个链表结构的优点,本函数集侧重封装性和易用性,而灵活性和效率有所降低. 可基于该函数集方便地构造栈或队列集. 本函数集暂未考虑并发保护. 一 ...
- Linux字符串函数集
//Linux字符串函数集: 头文件:string.h 函数名: strstr 函数原型:extern char *strstr(char *str1, char *str2); 功能:找出str2字 ...
随机推荐
- selenium + python(鼠标操作)
关于最近学习selenium自动化测试鼠标操作的一些总结 常见的鼠标操作
- EXCRT
是个好东西,可以处理在模数不互质的同余方程组 核心就是用扩欧来合并方程 如果我们有两个形如\(x\equiv b_1(mod\ a_1)\) \(x\equiv b_2(mod\ a_2)\)的方程我 ...
- nbu集群Alwayson相关问题
Alwayson 1. Alwayson 是否依赖于域环境? 答: 是, alwayson依赖于故障转移群集(只有在故障转移群集中的SQL Server 才能启动高可行性组功能),而故障转移群集愈依赖 ...
- cross entropy与logistic regression
维基上corss entropy的一部分 知乎上也有一个类似问题:https://www.zhihu.com/question/36307214 cross entropy有二分类和多分类的形式,分别 ...
- 去除a标签的下划线
a:link ,a:visited,a:hover,a:active { text-decoration: none;}
- P2852 [USACO06DEC]牛奶模式Milk Patterns
link 这是一道后缀匹配的模板题 我们只需要将height算出来 然后二分一下答案就可以了 #include<cstdio> #include<algorithm> #inc ...
- Ajax 跨域的几种解决方案
作者:黄轩链接:http://www.zhihu.com/question/19618769/answer/38934786来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处 ...
- 基于layer封装的异步加载分部视图弹出层
背景:之前一直用的artdialog,但是样式不是很好看,后来偶然看到layer,觉得不错,但是对于.net mvc来说,不能像artdialog一样弹出分部视图是很难受的.所以下面的方法就解决了. ...
- 『ACM C++』 PTA 天梯赛练习集L1 | 016-017
今天开了两个大会,时间都给占掉了,就刷了两道题~ 明天加油!!! ------------------------------------------------L1-016------------- ...
- noip2018 洛谷 P1969积木大赛
1 //一定不要忘记这句话 “连续区间 ”!! #include<bits/stdc++.h> using namespace std; int main(){ int n, h;//n是 ...