hdu 5747 Aaronson(贪心)
来源:互联网 发布:mac os 软件开发教程 编辑:程序博客网 时间:2024/05/18 01:21
Aaronson
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 173 Accepted Submission(s): 106
Problem Description
Recently, Peter saw the equation x0+2x1+4x2+...+2mxm=n . He wants to find a solution (x0,x1,x2,...,xm) in such a manner that ∑i=0mxi is minimum and every xi (0≤i≤m ) is non-negative.
Input
There are multiple test cases. The first line of input contains an integer T (1≤T≤105) , indicating the number of test cases. For each test case:
The first contains two integersn and m (0≤n,m≤109) .
The first contains two integers
Output
For each test case, output the minimum value of ∑i=0mxi .
Sample Input
101 23 25 210 210 310 413 520 411 1112 3
Sample Output
1223223232
x0+2x1+4x2+...+2mxm=n 给m和m。求最小的x序列之和
思路:10的9次方最多是2的30次方,我们贪心的每次从最高位取到不能取,最后的和一定是最小的
因为是二进制所以一定可以拼出n
代码:
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>using namespace std;long long pow_mod(long long a,long long n){ long long ans=1; while(n) { if(n&1) ans*=a; a*=a; n>>=1; } return ans;}int main(){ int T; long long n,m; scanf("%d",&T); while(T--) { scanf("%lld %lld",&n,&m); long long ans=0; if(m>30) m=30; while(n) { long long t=n/pow_mod(2,m); ans+=t; n-=t*pow_mod(2,m); m--; } printf("%d\n",ans); } return 0;}
0 0
- hdu 5747 Aaronson(贪心)
- HDU 5747 Aaronson(贪心)
- HDU 5747 Aaronson 贪心
- hdu 5747 Aaronson【贪心】
- 【HDU】5747 - Aaronson(位运算 & 贪心)
- hdu 5747 Aaronson贪心水
- HDU OJ 5747(Aaronson)
- HDU5747 (Aaronson 贪心)
- HDU 5747 Aaronson (lower_bound函数)
- HDU 5747 Aaronson
- hdu 5747Aaronson(暴力)
- HDU 5747 Aaronson
- HDU 5747 Aaronson [位运算]
- HDU 5747 BestCoder Round #84 Aaronson (模拟)
- HDU 5747 Aaronson(汉明距离)
- hdu 5747 Aaronson (BestCoder Round #84 1001)
- hdoj 2894 Aaronson (贪心)
- HDOJ 5747 Aaronson
- 实现Android插件化的核心技术简介(三):Android dynamic register activities
- leetcode Find K Pairs with Smallest Sums
- Codeforces Round #364 (Div. 1) 题解(待续)
- 网上相册(上传与下载)
- 5.go开源cache2go项目笔记——cache文件
- hdu 5747 Aaronson(贪心)
- Activity.finish() 、Activity.onDestory() and System.exit(0)
- Android Hot patch 技术:Dexposed-来自阿里手机淘宝部门的开源项目
- 在头文件中使用class进行前置声明
- 在Netbeans和Eclipse上搭建Android开发环境教程
- 面试题收集
- Android 系统上实现APK插件机制——360手机助手
- 360云盘如何导出文件列表
- c#的线程池,第一次用