[tem]高精度1
1 //倒着存 B取的低精最大值所以简化了一点
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
const int N=,B=1e4,W=,L=;
struct people{
int a,b,t;
}p[N];
bool cmp(people x,people y){
return x.t<y.t;
} struct big{
int size,d[L];
big(int a=):size(a){memset(d,,sizeof(int)*L);} };
bool bigger(big &a,big &b){
if(a.size>b.size) return true;
if(a.size<b.size) return false;
for(int i=a.size-;i>=;i++){
if(a.d[i]>b.d[i]) return true;
}
return false;
}
bool noSmallInt(big &a,int k){ //special
if(a.size>) return true;
if(a.d[]>=k) return true;
return false;
}
void clear0(big &a){
a.size=;
memset(a.d,,sizeof(int)*L);
}
void copy(big &t,big &s){
t.size=s.size;
memcpy(t.d,s.d,sizeof(int)*L);
} void chengInt(big &a,int k){
int g=,i;
for(i=;i<a.size;i++){
int tmp=a.d[i]*k;
a.d[i]=(tmp+g)%B;
g=(tmp+g)/B;
}
while(g){
a.d[i++]=g%B; a.size++;
g/=B;
}
} void jianInt(big &a,int k){
if(a.d[]<k){
int i=;a.d[]+=B;
while(a.d[i]==) {a.d[i]+=B;i++;}
a.d[i]--;
while(i==a.size-&&a.d[i]==) a.size--,i--;
}
a.d[]-=k;
} void addInt(big &a,int k){
int g,i=,tmp=a.d[]+k;
a.d[]=tmp%B;
g=tmp/B;
while(g){
tmp=a.d[++i]+g;
a.d[i]=tmp%B; if(i>a.size-) a.size=i+;
g=tmp/B;
}
} void chuInt(big &a,int k){
int g=;
for(int i=a.size-;i>=;i--){
g=g*B+a.d[i];
a.d[i]=g/k;
g%=k;
}
while(a.d[a.size-]==) a.size--;
}
[tem]高精度1的更多相关文章
- [tem]高精度2
从1开始 ; ; struct big{ int size,d[L]; big():size(a){memset(d,,sizeof(int)*L);} }; void jia(big &a, ...
- 高精度+搜索+质数 BZOJ1225 [HNOI2001] 求正整数
// 高精度+搜索+质数 BZOJ1225 [HNOI2001] 求正整数 // 思路: // http://blog.csdn.net/huzecong/article/details/847868 ...
- [NOIP2003普及组]麦森数(快速幂+高精度)
[NOIP2003普及组]麦森数(快速幂+高精度) Description 形如2^P-1的素数称为麦森数,这时P一定也是个素数.但反过来不一定,即如果P是个素数,2^P-1不一定也是素数.到1998 ...
- CSharpGL(28)得到高精度可定制字形贴图的极简方法
CSharpGL(28)得到高精度可定制字形贴图的极简方法 回顾 以前我用SharpFont实现了解析TTF文件从而获取字形贴图的功能,并最终实现了用OpenGL渲染文字. 使用SharpFont,美 ...
- 递推+高精度 UVA 10497 Sweet Child Makes Trouble(可爱的孩子惹麻烦)
题目链接 题意: n个物品全部乱序排列(都不在原来的位置)的方案数. 思路: dp[i]表示i个物品都乱序排序的方案数,所以状态转移方程.考虑i-1个物品乱序,放入第i个物品一定要和i-1个的其中一个 ...
- [Template]高精度模板
重新写一下高精度模板(不要问我为什么) 自认为代码风格比较漂亮(雾 如果有更好的写法欢迎赐教 封装结构体big B是压位用的进制,W是每位长度 size表示长度,d[]就是保存的数字,倒着保存,从1开 ...
- Code[VS] 3123 高精度练习之超大整数乘法
FFT 做 高精度乘法 #include <bits/stdc++.h> ); struct complex { double a, b; inline complex( , ) { a ...
- Java 高精度数字
BigInteger // 高精度整数 BigDecimal //高精度小数 小数位数不受限制
- c++减法高精度算法
c++高精度算法,对于新手来说还是一大挑战,只要克服它,你就开启了编程的新篇章,算法. 我发的这个代码并不是很好,占用内存很多而且运行时间很长(不超过0.02秒),但是很好理解,很适合新手 高精算法的 ...
随机推荐
- Xamarin android 之Activity详解
序言: 上篇大概的讲解了新建一个android的流程.今天为大家带来的是Activity详解,因为自己在开发过程中就遇到 好几次坑,尴尬. 生命周期 和Java里头一样一样的,如图 图片来源于网上哈, ...
- nodejs事件模块
nodejs 事件模块 events 只有一个对象 EventEmitter . var EventEmitter = require('events').EventEmitter;var life ...
- 向 div 元素添加圆角边框:
div { border:2px solid; border-radius:25px; }
- 疯狂Android讲义 - 学习笔记(七)
第8章 Android数据存储与IO Java IO的数据存储可以移植到Android应用开发上来,Android系统还提供了一些专门的IO API. Android系统内置了SQLite数据库,S ...
- PHP正则表达式
1.PHP中两个常用的正则函数 a.preg_match 正则函数,以perl语言为基础 语法:preg_match( mode,string subject,array matches) 说明:mo ...
- javascript创建对象的几种模式
在js中有几种模式可以创建对象,通过对象操作所包含的属性与方法. 一般来说,构造函数名称的第一个字母为大写字母,非构造函数名称的第一个字母为小写字母,当然,构造函数与一般函数唯一的区别只是调用的方式不 ...
- AntiModerate – 渐进式图片加载的 JavaScript 库
AntiModerate 是一个渐进式图片加载的 JavaScript 库.我们多数看到的图片显示模式,都是从上到下逐渐显示的,这是“标准式”图像:而有的图片是先出现一个很低分辨率的图像轮廓,类似加了 ...
- #9.5课堂JS总结#循环语句、函数
一.循环语句 1.for循环 下面是 for 循环的语法: for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块) ...
- Oracle常用SQL查询
一.ORACLE的启动和关闭 1.在单机环境下要想启动或关闭oracle系统必须首先切换到oracle用户,如下: su - oracle a.启动Oracle系统 oracle>svrmgrl ...
- jQuery静态方法noop,camelCase,nodeName,trim使用和源码分析
noop方法 jQuery.noop()函数是一个空函数,它什么也不做. 当某些时候你需要传入函数参数,而且希望它什么也不做的时候,你可以使用该函数,也无需再新建一个空的函数. 示例: // 传入一个 ...