hdu 5945 Fxx and game
青年理论计算机科学家Fxx给的学生设计了一款数字游戏。一开始你将会得到一个数X,每次游戏将给定两个参数x,k,t, 任意时刻你可以对你的数执行下面两个步骤之一:1.X=X−i(1<=i<=t)。2.若X为k的倍数,X=X/k。现在Fxx想要你告诉他最少的运行步骤,使X变成1。
设f[x]为x的最小变为1步数
initialize: f[1]=0
equation: f[x]=min{f[x-i](i<=t),f[x/k](if x%k==0)} (x:1~x)
对于求min{f[x-i](i<=t)} 使用单调队列维护区间最小f[x-i]
#include <iostream> #include <cstring> #include <cmath> #include <deque> using namespace std; const int N=1e6+10; int f[N],k,t; deque<int>mn; int dfs(int x) {f[1] = 0;mn.clear();mn.push_back(1);int j = 1;for(int i=2;i<=x;i++){if(i%k==0) f[i]=min(f[i],f[i/k]+1);while(!mn.empty() and i-mn.front() > t) mn.pop_front();if(!mn.empty() and i-mn.front() <= t){f[i]=min(f[i],f[mn.front()]+1);}while(!mn.empty() and f[mn.back()] >= f[i]) mn.pop_back();mn.push_back(i);}return f[x]; } int main() {int T;cin>>T;while(T--){memset(f,0x3f,sizeof(f));int x;cin>>x>>k>>t;if(k>1)cout<<dfs(x)<<endl;else cout<<int(ceil(double(x-1)/t))<<endl;}return 0; }
View Code
转载于:https://www.cnblogs.com/zsyacm666666/p/6135364.html
hdu 5945 Fxx and game相关推荐
- HDU 5945 Fxx and game 单调队列优化dp
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5945 题目 Young theoretical computer scientist Fxx desi ...
- Fxx and game hdu 5945 单调队列dp
dfs你怕是要爆炸 考虑dp; 很容易想到 dp[ i ] 表示到 i 时的最少转移步数: 那么: dp[ i ]= min( dp[ i ],dp[ i-j ]+1 ); 其中 i-t<=j& ...
- Fxx and game HDU - 5945(单调队列优化dp)
思路:考虑反着dp,从dp[1]倒推dp[x] 因为dp[i]<=dp[j] j<i ,所以考虑用单调队列来优化. 除法不用考虑,考虑加法就行. 代码: #include <bi ...
- 【HDU 5945】Fxx and game
1.题目链接.一开始想直接搜索过了,但是发现似乎不得行.然后dp可做,因为上一状态向下一状态的转移最多只有t+1个 dp[i]=min(dp[i-1],dp[i-2]....dp[i-t])+1当k| ...
- HDU 5944 Fxx and string(暴力/枚举)
传送门 Fxx and string Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Othe ...
- HDU 5944 Fxx and string BestCoder Round #89 1001(细节)
Fxx and string Accepts: 213 Submissions: 1867 Time Limit: 2000/1000 MS (Java/Others) Memory Limi ...
- 【hdu 5944】Fxx and string(枚举)
Fxx and string Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) ...
- 【HDU 5944】Fxx and string
1.题目链接.题意比较简单,想表达的意思就是(i,j,k)是等比数列的相邻的三项,Si='y',Sj='r',Sk='x'.满足这些条件.而且第三点还强调了,j必须是中间项. 2.直接枚举一下公比完事 ...
- HDU 4389 - X mod f(x)
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4389 2012多校,第9场,1010 . 问题是,询问区间内 存在多少个 哈沙德数(Harshad ...
最新文章
- react中使用构建缓存_如何在React中构建热图
- 你说我画,你画我说:全球最大中文跨模态生成模型文心ERNIE-ViLG来了!
- js控制文本框仅仅能输入中文、英文、数字与指定特殊符号
- c 普通的文本变成注释文本的快捷键_IntelliJ Idea 常用快捷键列表 (2019年总结)
- 如何入门CTF夺旗赛
- 6-6 求二叉树高度 (15 分)
- 《Essential C++》读书笔记 之 基于对象编程风格
- oracle 索引-1无效,oracle 索引失效原因及解決方法
- matplotlib中subplot的各参数的作用
- 基于Java JAAS表单的身份验证
- 计算机2级vb查询,计算机2级VB
- 程序员必备的25个好网站汇总
- Python中字典的常用方法
- wishbone协议(B.3)下载地址
- 皱纹检测Wrinkle-detection
- c++之十进制转二进制
- VL53L0测距芯片试用【ST主题月】
- python3 打包后执行报错failed to execute script ***
- opencv 求质心理论指导
- 如何采集喜欢的电视剧照?
热门文章
- 绝了!这款工具让SpringBoot不再需要Controller、Service、DAO、Mapper!
- 牛逼哄哄的布隆过滤器,到底有什么用?
- 熬了一个通宵,终于把 7 千万个 Key 删完了
- 如何采集Nginx的日志?
- 一线大厂的分布式唯一ID生成方案是什么样的?
- Science首发奥密克戎突刺蛋白分子水平分析,揭秘2大传染性增强原因,柳叶刀:全球大流行有望3月结束...
- 得了诺奖的彩色照相术失传100多年,现在终于被找回来了
- 清华唐杰团队造了个“中文AI设计师”,效果比Dall·E好,可在线试玩
- 谷歌、微软2020年招新大幅萎缩:新冠流行打击科技巨头
- 关系型数据库管理系统和SQL介绍