Windows 10
来源:互联网 发布:win10虚拟网卡mac地址 编辑:程序博客网 时间:2024/06/05 02:20
Windows 10
.
.
解法:首先可以保证每次相同长度的操作不会超过一次,因为如果选择两次那么选择当前长度+1的操作会更优,然后每次都贪心搜索。先预处理出每种长度的操作所下降的值,然后每次都贪心找到尽量接近的数来操作,然后每次都判一下选择比当前数大于等于的操作是否更优,记录操作的步数以及更换的次数。注意音量小于0的情况是直接变为0的。
.
.
#include <iostream>#include <stdio.h>#include <stdlib.h>using namespace std;const int INF = 1e9;long long a[50] = {0}, x, y, k, ans, t, count, point;long long max(long long x, long long y) { if (x > y) return x; return y;}long long min(long long x, long long y) { if (x < y) return x; return y;}int main() { int tt; scanf("%d", &tt); t = 1; for (int i = 1; i <= 32; i++) { t = t*2; a[i] = t-1; } while (tt--) { scanf("%lld %lld", &x, &y); if (x <= y) { printf("%lld\n", y-x); continue; } t = x-y; k = 0; ans = INF; count = 0; while (1) { point = 0; for (int i = 31; i >= 0; i--) if (a[i] < t) { point = i; break; } if (k+count+max(0, a[point+1]-t-k)+point+1 < ans) ans = k+count+max(0, min(y,a[point+1]-t-k))+point+1; if (point == 0) break; count = count+point; k = k+1; t = t-a[point]; } printf("%lld\n", ans); }}
0 0
- windows 10
- Windows 10
- Windows 10
- Upgrade from Windows 8 to Windows 10
- [Windows 10] 体验windows10
- Windows 10 初步体验
- Windows 10 安装
- Windows 10快捷键一览
- windows 10偿鲜
- Windows 10 企业版(v9926)
- windows 10 体验
- Windows 10免费升级
- Windows编译Ogre1.10
- Windows 10 使用问题
- Windows 10意义何在?
- Windows 10 技术预览
- Windows 10 技术预览
- Windows 10 设置桌面图标
- 设计四大基本原则——对比、重复、对齐、亲密度
- 产品营销难点:因为你只考虑推广而没考虑用户
- SVN禁止删除和强制注释操作的钩子脚本 (Linux)
- git使用记录
- Python: Logging模块实例详解
- Windows 10
- 解决net start mysql 提示:服务名无效 请键入NET HELPING 2185以获得更多的帮助的问题
- 快速排序 (Java)
- 字符串排序
- Linux里设置环境变量的方法(export PATH)
- Python——pymssql安装
- VR一体机上场景中闪烁阴影问题
- Codevs 2611 观光旅游(floyed最小环)
- 1