NOIP複賽複習(四)讀寫外掛程式與高精度模板

2021-08-10 22:37:06 字數 2263 閱讀 5149

讀入輸出掛

讀入輸出掛就是逐個字元地讀入資料,從而讓讀入更加快速。輸出掛的原理也是一樣的,都是通過將輸出數字變成輸出字元以加快速度。當然輸入輸出外掛程式一般用在大量輸入輸出的情況下,這樣價效比才高一些,否則得不償失。

void rd(int &res)while(p=getchar(),p>='0'); }

void rd(int &res)while(p=getchar(),(p>='0'&&p<='9'));

res*=k; }

void pt(int x)

void ps(int x)

高精度演算法 1

、高精度加法

//只限兩個非負整數相加

#include

#include

#include

using namespace std;  

const int l=110;  

string add(string a,string b)  

,nb[l]=;  

int la=a.size(),lb=b.size();  

for(int i=0;i

for(int i=0;i

int lmax=la>lb?la:lb;  

for(int i=0;i

if(na[lmax]) lmax++;  

for(int i=lmax-1;i>=0;i--) ans+=na[i]+'0';  

return ans;  

}  int main()     

2、高精度減法

//只限大的非負整數減小的非負整數

#include

#include

#include

using namespace std;  

const int l=110;  

string sub(string a,string b) 

,nb[l]=;  

int la=a.size(),lb=b.size();  

for(int i=0;i

for(int i=0;i

int lmax=la>lb?la:lb;  

for(int i=0;i   

while(!na[--lmax]&&lmax>0)  ;lmax++;  

for(int i=lmax-1;i>=0;i--) ans+=na[i]+'0';  

return ans;  

}  int main()     

3、高精度乘法

//高精度乘法

a,b,

均為非負整數

#include

#include

#include

using namespace std;  

const int l=110;  

string mul(string a,string b)     

int main()     

4、高精度除法

#include

#include

#include

using namespace std;  

const int l=110;  

int sub(int *a,int *b,int la,int lb)     

for(int i=0;i   

for(int i=la-1;i>=0;i--)  

if(a[i]) return i+1;  

return 0;  

}  string div(string n1,string n2,int nn)    

int t=la-lb;  

for(int i=la-1;i>=0;i--)  

if(i>=t) b[i]=b[i-t];  

else b[i]=0;  

lb=la;  

for(int j=0;j<=t;j++)     

}  for(i=0;i

while(!r[i]) i--;  

while(i>=0) s+=r[i--]+'0';  

//cout<

i=tp;  

while(!a[i]) i--;

while(i>=0) v+=a[i--]+'0';  

if(v.empty()) v="0";  

//cout<

if(nn==1) return s;  

if(nn==2) return v;  

}  int main()     

NOIP複賽複習(四)讀寫外掛程式與高精度模板

讀入輸出掛 讀入輸出掛就是逐個字元地讀入資料,從而讓讀入更加快速。輸出掛的原理也是一樣的,都是通過將輸出數字變成輸出字元以加快速度。當然輸入輸出外掛程式一般用在大量輸入輸出的情況下,這樣價效比才高一些,否則得不償失。void rd int res while p getchar p 0 void r...

NOIP2018普及組複賽第四題 對稱二叉樹

前言 剛剛參加完csp2020的初賽.直接崩潰,感覺普及提高都進不了,頹廢了來刷刷題,打了半天才打出這道題,心態炸了.一棵有點權的有根樹如果滿足以下條件,則被軒軒稱為對稱二叉樹 二叉樹 將這棵樹所有節點的左右子樹交換,新樹和原樹對應位置的結構相同且點權相等。現在給出一棵二叉樹,希望你找出它的一棵子樹...

NOIP2010 普及組複賽 第四題 三國遊戲

題目描述description 小涵很喜歡電腦遊戲,這些天他正在玩乙個叫做 三國 的遊戲。在遊戲中,小涵和計算機各執一方,組建各自的軍隊進行對戰。遊戲中共有 n 位武將 n為偶數且不小於 4 任意兩個武將之間有乙個 默契值 表示若此兩位武將作為一對組合作戰時,該組合的威力有多大。遊戲開始前,所有武將...