这个人很懒,暂无签名信息
摘要 在开发中一直觉得好的软件架构可以做到事半功倍,而且可以做到代码复用和移植。 但是如果没有架构或者说架构很差,那么移植将是很痛苦的事,特别是对不熟悉改功能的人来讲还不如自己写呢,移植不对那将是很头疼的事。 所以随着开发越来越多,渐渐的发现我们考虑问题应该从广度和深度来考虑,做新项目的时候,更应该考虑到以后出现的可能性,比如说需求变更,底层变更,所以这个时候软件的架构和程序模块化就很重要。...
ll qmul(ll x, ll y, ll mod) // 乘法防止溢出, 如果p * p不爆LL的话可以直接乘; O(1)乘法或者转化成二进制加法(快速加) { ll ret = 0; while(y) { if(y & 1) ret = (ret + x) % mod; x = x * 2 % mod; ...