Forwarded from Deleted Account
但是为了直觉我又只能去推,比如二层的 sum... 要转化成 (+) 们 可能还有 *, ** 什么的
Forwarded from Deleted Account
那是 Ruby... 何况这么简单的程序,也能 JIT 的,虽然 JIT 是 2.6 才开始有的特性,而且现在很差,但是 Ruby 也有 JIT 的实现,比如 Rubinius
Forwarded from Deleted Account
因为是纯数值计算,JIT 下来性能和 C 不会有太大区别 不过要优化个 range iterator
Forwarded from Deleted Account
劳资 TMD 现在连 i[n/i] 这个表达式都不知道是啥意思,为啥要莫名其妙加个括号...
https://latex.codecogs.com/png.latex?a\mod{b}%20=%20a%20-%20b[\frac{a}{b}]
https://latex.codecogs.com/png.latex?a\mod{b}%20=%20a%20-%20b[\frac{a}{b}]
#recomended https://github.com/IoriOikawa 推荐一个人,看 bio 和项目感觉很有意思(虽然目前只有 12 source 而且大部分 fork 都是空 fork,但看质量应该会有突出的那种
GitHub
IoriOikawa - Overview
/*只想得到某人认真夸赞而傻傻努力的*/我,一定是世界上最可笑且没救的计算机辣鸡。. IoriOikawa has 69 repositories available. Follow their code on GitHub.
/tmp/duangsuse.sock
奉自己之名来这里讲一下几个数学的模板 #Math 当然其中涉及的主要是程序推导(分析)和变换的问题,毕竟我不是数学爱好者... 改天我问 @LEXUGE
...就不在 Telegram 上讲了,太淡疼了。上 MathJax 算了...
Forwarded from Deleted Account
其实如果不单单从 OI 上来看,我建议这种比较数学的解决方案,如果命名是这样的话还是把原公式写注释里好
Forwarded from Deleted Account
从代码风格上,我想给点建议:
1. 如果把那个没用的
2. 既然把
4. mod 最好用
5.
7. C++ 一般使用
8.
最后再膜一下 OI 大佬(
1. 如果把那个没用的
#define INF 删掉,代码会减少一行2. 既然把
long long 和 unsigned long long 当成基本的数值使用,不如加 typedef unsigned long long num;
3. #define endl 这个定义是干什么的... 开发环境是 MSVC(CRLF)? 终端是 Cygwin 的 terminal(LF)?4. mod 最好用
const static num _10e9p7 = (10^9)+7; 或者起个更好的名字,这个名字有点模糊(而且映射到数学公式上就混淆了)5.
if (a % 2 == ) { a /= 2; } else { b /= 2; } 的逻辑可以抽提一下,并且缩进没必要那么规范(虽然好像抽提定义的话重用的不多...)#define mod %
static inline bool idivable(n, m) { return n mod m ==0; }
static inline bool idiv2(n) { return idivable(n, 2); }
if (idiv2(a)) { a /= 2; } else { b /= 2; }
6. 利用结合律提升数值稳定性的计算可以做一个宏抽提7. C++ 一般使用
static_cast<new_type>(o) 而不是 (new_type) o 做类型转换8.
(n*(n+1)>>1) 如果是想表示 (n * floor(n+1) / 2) ) 的话可以用宏定义或者 inline 函数抽提来明确语义最后再膜一下 OI 大佬(
Forwarded from Deleted Account
我真的不敢想像,即使是天才们,他们的直觉就有那么强,适合各种非常模糊的名字和定义?
Forwarded from Deleted Account
其实我不是很能理解,因为我目前还是只能看比较清晰的逻辑的,复杂一点不那么明确就做不到