题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5945

分析:

很容易想到用bfs,然而会超时,几乎是O(xt)了

这里用单调队列优化,

首先反着来,f[x] 为 x 要到1 的步数,f[1] = 0;

1、第一个条件就是 队列里面的元素个数小于t,

2、单调队列是个单调递减的队列。

 #include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std; const int maxn = + ;
int dis[maxn];
int d[maxn]; #define inf 0x3f3f3f3f int main()
{
int t;
cin>>t;
while(t--) {
int x,k,t;
cin>>x>>k>>t; int l,r; l = r = ;
dis[] = ;
d[] = ; for(int j=;j<=x;j++) { dis[j] = inf; while(l<=r&&d[l]<j-t) l++;
if(l<=r) dis[j] = dis[d[l]] + ;
if(j%k==) dis[j] = min(dis[j],dis[j/k]+);
while(l<=r&&dis[d[r]]>=dis[j]) r--;
d[++r] = j; } printf("%d\n",dis[x]);
} return ;
}

最新文章

  1. MySQL练习-employees数据库(一)
  2. 分享50款 Android 移动应用程序图标【下篇】
  3. iOS:界面适配(三)--iPhone不同机型适配 6/6plus 前
  4. jiffies
  5. 如何使用编辑模板在ASPxGridView中进行新增修改(除去常规的gridviw模板编辑外)
  6. Android Metro风格的Launcher开发系列第一篇
  7. cocos2dx Tab选项卡控件的实现
  8. javaScripte 创建对象。。
  9. 在CentOS上为DiscuzX3安装ImageMagick支持。
  10. apache添加fastcgi支持
  11. WIFI实时监控追踪小车演示视频——安卓端、小车
  12. 【数论&#183;欧拉函数】SDOI2008仪仗队
  13. CSS中的BFC
  14. jdbc访问pipelinedb
  15. iptables防火墙常用配置介绍
  16. 十、uboot 代码流程分析---run_main_loop
  17. .net分布式系统架构的思路
  18. .NET 中的 async/await 异步编程
  19. Android中aar和jar文件的认识
  20. AJAX 跨域问题 php

热门文章

  1. 阿里插件检查 lombok报错---方法缺少 &#39;@Override&#39; 注解
  2. python文件引用其他文件中的变量
  3. python 使用csv.reader和csv.writer读写文件并转换成dataframe格式
  4. java高级篇
  5. (转)企业级NFS网络文件共享服务
  6. Numpy的那些事儿
  7. 最新版本dede与discuz通过ucenter完美整合
  8. SQL语句增删改字段、表、修改默认值
  9. Redis学习1
  10. Active Directory 域服务对象