萌新求助,还是简单题炸了

P4884 多少个 1?

__int128不会用啊
by 樱初音斗橡皮 @ 2019-04-27 22:01:09


用 long double O(1) 乘试试看
by 小粉兔 @ 2019-04-27 22:04:29


@[小粉兔](/space/show?uid=10703) 精度要,而且ldb不能取余
by 樱初音斗橡皮 @ 2019-04-27 22:11:58


@[小粉兔](/space/show?uid=10703) 您能教教我__int128怎么用吗QwQ
by 樱初音斗橡皮 @ 2019-04-27 22:14:07


要么自己写一个?
by 樱初音斗橡皮 @ 2019-04-27 22:14:16


巧了我刚要做这题qwq
by Celestial_Scarlet @ 2019-04-27 22:14:16


@[baoyu](/space/show?uid=93465) %%%
by 樱初音斗橡皮 @ 2019-04-27 22:15:08


@[樱初音斗橡皮](/space/show?uid=66287) 您没听懂,有一种方法可以实现 `long long` 范围内的乘法取余操作,比倍增乘法要快: `LL mul(LL a, LL b, LL m) { return (a * b - (LL)((long double)a / m * b + eps) * m + m) % m; }`
by 小粉兔 @ 2019-04-27 22:16:00


利用的是 long double 的有效位数大约是需求的两倍以及编译器优化自然溢出的特性
by 小粉兔 @ 2019-04-27 22:17:16


@[小粉兔](/space/show?uid=10703) 谢谢您,但是: 1.eps一般取多少? 2.自然溢出是未定义行为,这样会炸吗?
by 樱初音斗橡皮 @ 2019-04-27 22:23:06


| 下一页