贪心——Windows10 ( HDU 5802 ) ( 2016 Multi-University Training Contest 6 1010 )
来源:互联网 发布:volte网络分为终端 编辑:程序博客网 时间:2024/05/17 09:30
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=5802分析:
比赛的时候没考虑到可以用上升替代停顿的情况。。。。题解:
直接的做法是比较 往下降,然后升回来和往下降然后停顿或者上升一些后再开始下降的取值,于是可以化成一个自问题,不断递归DFS即可。
PS:需要记录停顿的次数,然后需要向上的时候就可以用停顿不上去。标程:
#include <cstdio>#include <algorithm>using namespace std;int T;long long P, Q;long long dfs(long long S, long long T, long long step, long long stop) { if (S == T) return step; long long x = 0; while (S - (1 << x) + 1 > T) x++; if (S - (1 << x) + 1 == T) return step + x; long long up = (T - max((long long)0, S - (1 << x) + 1)); long long tmp = x + max((long long)0, up - stop); return min(tmp + step, dfs(S - (1 << (x - 1)) + 1, T, step + x, stop + 1));}int main() { scanf("%d", &T); while (T--) { scanf("%lld%lld", &P, &Q); if (Q >= P) { printf("%lld\n", Q - P); continue; } printf("%lld\n", dfs(P, Q, 0, 0)); } return 0;}
0 0
- 贪心——Windows10 ( HDU 5802 ) ( 2016 Multi-University Training Contest 6 1010 )
- hdu 5802 Windows 10(2016 Multi-University Training Contest 6——贪心+dfs)
- (HDU 5802)2016 Multi-University Training Contest 6 Windows 10 (贪心)
- 贪心——HDU 5813 ( 2016 Multi-University Training Contest 7 1005 )
- 贪心 ( HDU 5821 )——2016 Multi-University Training Contest 8 1001
- hdu 5821 Ball(2016 Multi-University Training Contest 8——贪心+排序)
- hdu 5802 2016 Multi-University Training Contest 6(dfs)
- 数据结构 ( 优先队列&&栈 )——HDU 5818 ( 2016 Multi-University Training Contest 7 1010 )
- hdu 5793 A Boring Question(2016 Multi-University Training Contest 6——快速幂取模)
- hdu 5800 To My Girlfriend(2016 Multi-University Training Contest 6——DP)
- hdu 5795 A Simple Nim(2016 Multi-University Training Contest 6——博弈)
- hdu 5732 subway(2016 Multi-University Training Contest 1 1010)
- 2016 Multi-University Training Contest 6
- 2016 Multi-University Training Contest 6
- 2017 Multi-University Training Contest 10 1010 Schedule HDU 6180 (贪心)
- 2017 Multi-University Training Contest 10 1010 Schedule && HDU 6180 (贪心)
- (HDU 5813)2016 Multi-University Training Contest 7 Elegant Construction (贪心、图论)
- 2015 Multi-University Training Contest 6_1008_Hiking(贪心)
- Python 爬虫6——Scrapy的安装和使用
- 用户权限管理模块的数据库设计
- 【多校训练】ZZUliOJ 1902 985的因子对难题
- HDOJ 2066 一个人的旅行(dijkstra)
- Win10下的Linux子系统之Bash
- 贪心——Windows10 ( HDU 5802 ) ( 2016 Multi-University Training Contest 6 1010 )
- 三元表达式的嵌套
- CentOS/Linux 端口开放关闭管理
- iOS对接Facebook:登录,分享,邀请,游戏排行榜功能
- 关于DefaultHttpClient 过时的问题
- 指定任意灰度变换
- Prism框架(二)——Prism应用程序初始化
- poj 3261 Milk Patterns
- 《组合变身小宠物游戏》GameFSM(修改更新中)【初学者】