题意:给你一个数n,让你找m个非负整数,使得它们的和为n,并且按位或起来以后的值最小化。输出这个值。

从高位到低位枚举最终结果,假设当前是第i位,如果m*(2^i-1)<n的话,那么说明这一位如果填零,剩下的位不论怎么填,都绝对凑不出n来,所以这一位必须填1.如果m*(2^i-1)>=n,这一位就填1,然后把n变为max(n mod 2^i , n-m*2^i),重复这个过程即可。

要用高精度。

import java.util.*;
import java.io.*;
import java.math.*;public class Main{public static void main(String[] argc){int T;BigInteger n,m;BigInteger[] pw=new BigInteger[4005];pw[0]=BigInteger.ONE;for(int i=1;i<=4001;++i){pw[i]=pw[i-1].multiply(BigInteger.valueOf(2l));}Scanner sc = new Scanner (new BufferedInputStream(System.in));T=sc.nextInt();for(int zu=1;zu<=T;++zu){n=sc.nextBigInteger();m=sc.nextBigInteger();String s=n.toString();int len=s.length();BigInteger ans=BigInteger.ZERO;for(int i=len*4;i>=0;--i){BigInteger tmp=m.multiply(pw[i].subtract(BigInteger.ONE));if(tmp.compareTo(n)==-1){ans=ans.add(pw[i]);BigInteger t=n.subtract(m.multiply(pw[i]));BigInteger t2=n.mod(pw[i]);if(t.compareTo(t2)==1){n=t;}else{n=t2;}}}System.out.println(ans);}sc.close();}
}

转载于:https://www.cnblogs.com/autsky-jadek/p/7773754.html

【贪心】【高精度】zoj3987 Numbers相关推荐

  1. 【POJ2325】Persistent Numbers 贪心+高精度/低精度

    题意:我们可以把一个数A变成B=A的各位乘积,现在给出B,求是否可以有某个A通过计算得到B,有的话,是多少. 题解:贪心. 我们先分解B,若质因数有大于等于10的显然就不行了. 否则则一定可以把他的各 ...

  2. 洛谷P1080-国王游戏-贪心+高精度

    P1080-国王游戏 啊啊啊,刚才已经写了一次了,但是Edge浏览器不知道为什么卡住了,难受. 好吧,其实是一道可做题,分析得到的贪心策略就是就是将a * b小的放在前面(其他的懒得说了),主要还是要 ...

  3. 国王游戏(贪心 + 高精度乘法 + 高精度除法 + 高精度比较大小)

    题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏. 首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数. 然后,让这 n 位大臣排成一排,国王站在队伍 ...

  4. [贪心][高精度][NOIP]国王游戏

    题目梗概 有n个大臣,他们可以拿到他们之前所有人左手数的乘积除以他的右手,问是否能通过调换位置来使拿钱最多的大臣拿的钱最少. 思考 贪心证明: 设相邻的两个人$i, i + 1$.设$A[i] \ti ...

  5. 洛谷P1080 国王游戏 贪心+高精度

    https://www.luogu.org/problem/P1080 题目描述 恰逢 HH H国国庆,国王邀请n nn 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王 ...

  6. P1080 国王游戏(贪心+高精度乘除及大数比较)

    https://www.luogu.org/problemnew/show/P1080 题目描述 恰逢 H 国国庆,国王邀请 n位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数 ...

  7. CH - 0701 国王游戏(贪心+高精度运算)

    题目链接:点击查看 题目大意:恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成一 ...

  8. 2021算法竞赛入门班第一节课【枚举、贪心】习题

    目录 [USACO 2007 Jan S]保护花朵[经典贪心] [NOIP2005]校门外的树[区间合并] [NOIP2006]明明的随机数[签到] [HNOI2003]激光炸弹[二维前缀和] 铺地毯 ...

  9. 【JLOI】02金猪贺岁-贪心策略

    [JLOI]02金猪贺岁-贪心策略 贪心策略! NOIP普及组重点题型 然后,别以为算法很基础,IOI都在考贪心策略! 你问我贪心策略是啥?那就是:局部最优解就是最优解 [引入例题]P1031 均分纸 ...

最新文章

  1. MATLAB画高斯曲线
  2. 服务器如何管理?分享九款服务器管理工具
  3. 组件间数据交互——父组件向子组件传值( props属性值类型) 子组件向父组件传值-携带参数 || 非父子组件间传值
  4. 【项目管理】ITTO-进度管理
  5. 深入理解 Java 泛型擦除机制
  6. 网络安全逐渐成为程序员的必备技能
  7. Java垃圾回收(4)
  8. VS2005为什么会自动关闭?使用Visual Assist X的要注意了
  9. Python实现双端队列
  10. 服务器托管常见问题纠纷与解决方法
  11. JavaWeb一些常用操作
  12. python与贝叶斯_python-与PyMC3的贝叶斯相关
  13. AcWing每日一题 1934贝茜放慢脚步
  14. iOS Apple Pay开发流程
  15. input元素及属性
  16. OneNMP路由器、交换机监控
  17. Spark 2.4.8 提交应用
  18. ubuntu下rar解压工具安装方法
  19. 【解决】GitHub 客户端下载后安装在哪里?
  20. 2021-02-21

热门文章

  1. PHP 函数:intval()
  2. avue下拉框中属性可以显示,但不能选中
  3. 连通图遍历策略之广度优先搜索(C语言)
  4. GitHub 配置及简单使用
  5. JSP实例-彩色验证码
  6. inventor如何钣金出弧面_Inventor教程之钣金多规则
  7. SpringMVC中的异步请求-跨域访问
  8. python卸载_删除系统 Python 引发的惨案
  9. 必须声明标量变量_Excel VBA解读(136): 在用户定义函数中的变体、引用、数组、计算表达式、标量...
  10. oracle的标准写法,oracle 表连接特有写法与标准写法