ACM相关
GKHack
这个作者很懒,什么都没留下…
展开
-
string各种函数总结
要想使用标准C++中string类,必须要包含 #include // 注意是,不是,带.h的是C语言中的头文件 using std::string; using std::wstring; 或 using namespace std; 下面你就可以使用string/wstring了,它们两分别对应着char和wchar_t。 string和wstri原创 2015-08-07 20:00:29 · 995 阅读 · 0 评论 -
数论常用定理
威尔逊定理:若p为质数,则p可以整除(p - 1)! + 1。 欧拉定理:若n, a为正整数且互质,则 a^φ(n) ≡ 1 (mod n),φ(n)为1~n与n互质的个数。 费马小定理:若p是质数,且a, p互质,那么 a^(p-1) ≡ 1(mod p)。原创 2015-08-16 10:55:06 · 1343 阅读 · 0 评论 -
模运算规则
模运算与基本四则运算有些相似,但是除法例外。其规则如下: (a + b) % p = (a % p + b % p) % p (1) (a – b) % p = (a % p – b % p) % p (2) (a * b) % p = (a % p * b % p) % p (3) (a^b) % p = ((a % p)^b) % p (4) 结合律: ((原创 2015-06-23 16:36:42 · 2136 阅读 · 0 评论 -
ssanf
大家都知道sscanf是一个很好用的函数,利用它可以从字符串中取出整数、浮点数和字符串等等。它的使用方法简单,特别对于整数和浮点数来说。但新手可能并不知道处理字符串时的一些高级用法,这里做个简要说明吧。 1. 常见用法。 以下是引用片段: char str[512] = {0}; sscanf("123456 ", "%s", str); pr转载 2015-06-15 15:24:43 · 1288 阅读 · 0 评论 -
位运算
位运算加速技巧 1. 如果乘上一个2的倍数数值,可以改用左移运算(Left Shift) 加速 300% x = x * 2; x = x * 64; //改为: x = x 1 x = x 6 2. 如果除上一个 2 的倍数数值,可以改用右移运算加速 350% x = x / 2; x = x / 64; //改为: x = x >> 1;// 2 = 21原创 2015-06-15 15:16:22 · 982 阅读 · 0 评论