今天zyb参加一场面试,面试官听说zyb是ACMer之后立马抛出了一道算法题给zyb:
有一个序列,是1到n的一种排列,排列的顺序是字典序小的在前,那么第k个数字是什么?
例如n=15,k=7, 排列顺序为1, 10, 11, 12, 13, 14, 15, 2, 3, 4, 5, 6, 7, 8, 9;那么第7个数字就是15.
那么,如果你处在zyb的场景下,你能解决这个问题吗

题解

https://blog.csdn.net/FJJ543/article/details/81908992

#include<bits/stdc++.h>
using namespace std ;
#define LL long long
#define INF 0x3f3f3f3f
#define mod 1000000007
int FF(int n , int k)
{
int curr = ;
k = k - ;
while (k > ) {
long steps = , first = curr, last = curr + ;
while (first <= n) {
steps += min((long)n + , last) - first;
first *= ;
last *= ;
}
if (steps <= k) {
curr += ;
k -= steps;
} else {
curr *= ;
k -= ;
}
}
return curr;
} int main()
{ int T;
scanf("%d",&T);
while(T--)
{
int n,k;
scanf("%d%d",&n,&k);
k--;
int cnt=;
while(k)
{
int st= , head=cnt , tail = cnt+;
while(head<=n)
{
st+=min(n+,tail) - head;
head*=;
tail*=;
}
if(st<=k)
{
cnt++;
k-=st;
}
else
{
cnt*=;
k--;
}
}
printf("%d\n",cnt);
}
return ;
}

最新文章

  1. Linux文件管理
  2. 使用自签名的方式创建Docker私有仓库
  3. C#操作SQLite数据库
  4. Git-Bash学习笔记
  5. UE4 通过HTTP 接受JPG并动态 构建 UTexture2D 简单例子
  6. jacob下载问题, Office word 此文件正由另一应用程序或用户使用的解决方法
  7. expdp导出数据库
  8. silverlight 文本框只能输入数字
  9. 局域网动态ip
  10. 如何利用服务器下发的Cookie实现基于此Cookie的会话保持
  11. R for installing package &#39;omg&#39;
  12. OpenSSL命令---rsa
  13. Arch最小化安装LXDE桌面环境
  14. CocoaPods ReactiveCocoa 学习实践一 之 配置环境
  15. Pytorch中torch.autograd ---backward函数的使用方法详细解析,具体例子分析
  16. XSS跨站脚本小结(转)
  17. (5.1)sql server系统数据库
  18. express-session相关用法
  19. Teamproject Week7 --Scrum Meeting #1 2014.10.28
  20. 关于scrum敏捷测试

热门文章

  1. 通过递归遍历n位2进制数的所有情况
  2. ObjectMapper对象的使用 Object2JSON
  3. laravel与front-end
  4. storm源码分析之任务分配--task assignment
  5. SpringMVC——处理 JSON:使用 HttpMessageConverter
  6. sublime text3安装后html:5+Tab不能快速生成html头部信息的解决办法
  7. [GO]随机生成切片元素并使用冒泡排序方式进行排序
  8. Azure 执行模型
  9. JQuery解决事件动画重复问题
  10. (转)常见存储过程分页PK赛——简单测试分析常见存储过程分页速度