【贪心】【高精度】zoj3987 Numbers
题意:给你一个数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相关推荐
- 【POJ2325】Persistent Numbers 贪心+高精度/低精度
题意:我们可以把一个数A变成B=A的各位乘积,现在给出B,求是否可以有某个A通过计算得到B,有的话,是多少. 题解:贪心. 我们先分解B,若质因数有大于等于10的显然就不行了. 否则则一定可以把他的各 ...
- 洛谷P1080-国王游戏-贪心+高精度
P1080-国王游戏 啊啊啊,刚才已经写了一次了,但是Edge浏览器不知道为什么卡住了,难受. 好吧,其实是一道可做题,分析得到的贪心策略就是就是将a * b小的放在前面(其他的懒得说了),主要还是要 ...
- 国王游戏(贪心 + 高精度乘法 + 高精度除法 + 高精度比较大小)
题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏. 首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数. 然后,让这 n 位大臣排成一排,国王站在队伍 ...
- [贪心][高精度][NOIP]国王游戏
题目梗概 有n个大臣,他们可以拿到他们之前所有人左手数的乘积除以他的右手,问是否能通过调换位置来使拿钱最多的大臣拿的钱最少. 思考 贪心证明: 设相邻的两个人$i, i + 1$.设$A[i] \ti ...
- 洛谷P1080 国王游戏 贪心+高精度
https://www.luogu.org/problem/P1080 题目描述 恰逢 HH H国国庆,国王邀请n nn 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王 ...
- P1080 国王游戏(贪心+高精度乘除及大数比较)
https://www.luogu.org/problemnew/show/P1080 题目描述 恰逢 H 国国庆,国王邀请 n位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数 ...
- CH - 0701 国王游戏(贪心+高精度运算)
题目链接:点击查看 题目大意:恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成一 ...
- 2021算法竞赛入门班第一节课【枚举、贪心】习题
目录 [USACO 2007 Jan S]保护花朵[经典贪心] [NOIP2005]校门外的树[区间合并] [NOIP2006]明明的随机数[签到] [HNOI2003]激光炸弹[二维前缀和] 铺地毯 ...
- 【JLOI】02金猪贺岁-贪心策略
[JLOI]02金猪贺岁-贪心策略 贪心策略! NOIP普及组重点题型 然后,别以为算法很基础,IOI都在考贪心策略! 你问我贪心策略是啥?那就是:局部最优解就是最优解 [引入例题]P1031 均分纸 ...
最新文章
- MATLAB画高斯曲线
- 服务器如何管理?分享九款服务器管理工具
- 组件间数据交互——父组件向子组件传值( props属性值类型) 子组件向父组件传值-携带参数 || 非父子组件间传值
- 【项目管理】ITTO-进度管理
- 深入理解 Java 泛型擦除机制
- 网络安全逐渐成为程序员的必备技能
- Java垃圾回收(4)
- VS2005为什么会自动关闭?使用Visual Assist X的要注意了
- Python实现双端队列
- 服务器托管常见问题纠纷与解决方法
- JavaWeb一些常用操作
- python与贝叶斯_python-与PyMC3的贝叶斯相关
- AcWing每日一题 1934贝茜放慢脚步
- iOS Apple Pay开发流程
- input元素及属性
- OneNMP路由器、交换机监控
- Spark 2.4.8 提交应用
- ubuntu下rar解压工具安装方法
- 【解决】GitHub 客户端下载后安装在哪里?
- 2021-02-21
热门文章
- PHP 函数:intval()
- avue下拉框中属性可以显示,但不能选中
- 连通图遍历策略之广度优先搜索(C语言)
- GitHub 配置及简单使用
- JSP实例-彩色验证码
- inventor如何钣金出弧面_Inventor教程之钣金多规则
- SpringMVC中的异步请求-跨域访问
- python卸载_删除系统 Python 引发的惨案
- 必须声明标量变量_Excel VBA解读(136): 在用户定义函数中的变体、引用、数组、计算表达式、标量...
- oracle的标准写法,oracle 表连接特有写法与标准写法