2020-9.9-学习日志

习题功课:
洛谷P1037 产生数
1.
用ios::sync_with_stdio(false)有什么作用
因为系统默认standard stream应该都是同步的,设置sync_with_stdio(false),其实应该是让C风格的stream和C++风格的stream变成async且分用不同buffer。
注意:
1.ios::sync_with_stdio(false)不可以与scanf混用,否则会造成异常。
2.虽然ios::sync_with_stdio对cin有加速所用,但是还是没有scanf的速度快
2 floyd算法

int floyd() {
for(int k=0; k<=9; k++) // floyed 寻找i,j之间是否有通路
for(int i=0; i<=9; i++)
for(int j=0; j<=9; j++)
if(vis[i][k]&&vis[k][j])
vis[i][j] = vis[i][j] || (vis[i][k] && vis[k][j]);
}
或者
int floyd() {
for(int k=0; k<=9; k++) // floyed 寻找i,j之间是否有通路
for(int i=0; i<=9; i++)
for(int j=0; j<=9; j++)
if(dis[i][k]&&dis[k][j])
dis[i][j]=1;//证明i/j之间有通路。
}
3高精度加法
当C++中计算的数据位数超过了自身所具有的位数,那么在计算中就容易出错。高精度计算就是自己编程,自己进行计算。下面介绍一些关于高精度的计算。

高精度的计算主要就是模拟手工计算,比如加法,我们小学的时候通常学过使用竖式计算。

现在我们一起来回忆一下竖式计算的过程:

比如对于473+259,我们可以列出竖式:

473

+259

732

上面的过程是这样的:

第一个加数的个位3与第二个加数的个位9相加,得到12,保留2,进1;然后7+5等于12,12要加上之前的进位1,为13,保留3,进1;最后4+2等于6,再加上进位1,得到7,保留7,无进位。所以最终的答案为732
(具体可看收藏种高精度算法报告)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值