网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月07日
漏签
0
天
noip吧
关注:
25,179
贴子:
642,116
看贴
图片
吧主推荐
视频
游戏
10
回复贴,共
1
页
<<返回noip吧
>0< 加载中...
NOI第一题求讨论两个int64相乘的超界处理
只看楼主
收藏
回复
wangdebao2008
省选酱油
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
如题
开了个real结果在trunc的时候207了
结果也不对劲
wangdebao2008
省选酱油
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
首先用的是两个int64相乘 爆了
其次用的是两个inc64相乘
function clc(a,b:int64):int64;
varw1,w2,r,m,tt:double;
beginm:=xm;
w1:=a;w2:=b;
tt:=w1*w2;
r:=trunc(tt/m);
tt:=tt-m*r;
a:=trunc(tt);
exit(a);
end;
但是会出现207错误 求分析
wangdebao2008
省选酱油
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
难道一定要用高精么><
fcxxzux
NOI金牌
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
为什么不用同余定理呢?
function clc(a,b:int64):int64;
begin
exit(((a mod g)*(b mod g))mod g);
end;
renluyao12345
提高二等
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
快速乘。
int64 mul(int64 x,int64 y){ int64 res=0; for(;y;y>>=1,x=(x+x)%mod)if(y&1)res=(res+x)%mod; return res;}
轩轩醉了
进队爷
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
同余
类似于乘法分配律,把mod放到每一项上
wangdebao2008
省选酱油
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我的算法可能有问题吧
我是在运算的时候一直用的mod m而不是g,g是最后mod的
wangdebao2008
省选酱油
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
快速幂已使用,处理的是a*b的结果
wangdebao2008
省选酱油
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
谢谢大家,已懂。
明天二试RP++
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示