
高精度运算
Frozen_Guardian
已退役菜鸡Acmer
展开
-
kuangbin大数模板(加法和乘法)
之前的模板因为用了string类,以及运算的时候常数太大,导致速度太慢,虽然比较方便但不算很通用,所以存一波kuangbin大大的模板/* * 高精度,支持乘法和加法 */struct BigInt{ const static int mod = 10000; const static int DLEN = 4; int a[600],len; Big...原创 2020-02-09 01:02:55 · 419 阅读 · 0 评论 -
中石油训练赛 - Count the Even Integers(Java高精度运算+找规律)
题目大意:给出一个 n ,求出前 n 行的杨辉三角形中有多少个偶数题目分析:先用暴力打个表,去oeis查一下,可以查出规律:规律为一个递归,用记忆化搜索很容易实现:n== 0 || n==1:a[ n ] = 0 a[ 2 * n ] = 3 * a[ n ] + n * ( n - 1 ) / 2 a[ 2 * n + 1 ] = 2 * a[ n ] + a[ n + 1 ] + n * ( n + 1 ) / 2因为每次 n 都会除以 2 ,所以时间复杂度控制在了 log 级..原创 2020-10-03 22:10:18 · 310 阅读 · 0 评论 -
中石油训练赛 - Fermat‘s Optimization Problem(Java高精度运算+二分)
题目大意:给出误差函数,现在给出 z 和 n,要求求出 x 和 y ,使得函数 F 的取值最小题目分析:首先数据范围是幂次级别的,1e5 的 10 次方,也就是 1e50 次方,需要用到大数,我用的是 java 的大数类因为 x 和 y 的取值是 x < y < z,考虑枚举 x 或 y ,然后二分去逼近另一个,这里我枚举的是 y ,将绝对值去掉后,得到,当 y 和 z 确定后,显然这个函数具有单调性,将整个式子向 0 逼近即可,即求出的最大的可行 x1,然后尝试去更新答案,...原创 2020-10-03 21:26:59 · 276 阅读 · 0 评论 -
HDU - 5920 Ugly Problem(Java大数+贪心)
题目链接:点击查看题目大意:给出一个非常大的数字 n (),现在要求将其拆分为数量不超过50 个的回文串之和题目分析:贪心去分就好了,贪心策略如下,奇偶两种情况:对于奇串 12345:选择前半段 123 将其减一,变为 122 构造回文串 12221 用原数字减去当前回文串然后继续操作对于偶串 123456:选择前半段 123 将其减一,变为 122 构造回文串 122221 用原数字减去当前回文串然后继续操作这样就好了,因为每次选择了前半段,所以每次数字的长度都会减少一半.原创 2020-06-28 00:04:17 · 325 阅读 · 0 评论 -
POJ - 1625 Censored!(AC自动机+dp+高精度运算)
题目链接:点击查看题目大意:给出一个含有 n 个不同字符的字符集,接着规定所有单词的长度为 m ,再给出 k 个病毒串,问有多少个字符串中不含有病毒串题目分析:这个题目和之前做过的DNA的那个题有些许相似,不同之处是:字符集是题目给出的,而不是提前声明好的 m非常小 没有取模所以解决长度为 m 的字符串中不含有某些特定的字符串,我们可以直接建立AC自动机然后获得状态转移矩阵,因为...原创 2020-02-09 01:52:31 · 260 阅读 · 0 评论 -
HDU - 1002 A + B Problem II(大数)
题目链接:点击查看题目大意:大数加法题目分析:第一次用Java写ACM,还是有点小激动滴,有几点需要注意的:公共类名要写Main 不要提交包名 注意输入输出上代码吧,纪念一下:import java.math.BigInteger;import java.util.Scanner;public class Main { public static void ma...原创 2019-09-19 17:32:17 · 246 阅读 · 0 评论 -
POJ - 1220 NUMBER BASE CONVERSION(高精度运算+进制转换+模拟)
题目链接:点击查看题目大意:给出两个进制x和y,再给出一个x进制下的数num,求num转换为y进制后的答案题目分析:直接套模板就行了,进制转换没什么好说的,直接模拟,这个题开了加速外挂只能优化几十ms,最后还是跑了400多ms,应该是大数的板子不够快,不过够用就好了。。后面会学java的唯一值得吐槽的就是,这不就是银川现场赛的原题吗?然后这个题的数据比较水,大数的N开到150就能A了...原创 2019-12-03 02:17:08 · 297 阅读 · 0 评论 -
CH - 0701 国王游戏(贪心+高精度运算)
题目链接:点击查看题目大意:恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n 位大臣排成一排,国王站在队伍的最前面。排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。国王不希...原创 2019-12-03 00:37:40 · 528 阅读 · 0 评论 -
高精度运算模板(大数模板)
现在还没学java。。所以没法用java偷懒,先存一波C加加的大数运算模板,以备不时之需补充:关于base参数的使用:代表字符串a和b都是在base进制下的数字,转换成10进制后进行运算后,返回的答案为base进制,默认为10进制,进制可以随意设置,用字符串ss和数组mp互相映射,使用之前用init函数初始化一下mp数组即可一、两个正数的加法:使用方法:输入完string a和stri...原创 2019-09-05 16:02:14 · 514 阅读 · 0 评论