奇技淫巧

a<<n; //即a*(2^n)
1<<n; //即2的n次幂
a>>n; //即a/(2^n)
n & 1; //取二进制的最末位
if(n&1); //奇数
if(!(n&1)); //偶数
//求数组中最值
int a[] = {1,2,3,4,5};
cout<<*max_element(a,a+5)<<" "<<*min_element(a,a+5)<<endl;
//对字符串/数组进行全排列
while(next_permutation(s.begin(),s.end()))
	cout<<s<<endl;
//求数字x的位数
printf("%d\n", (int)log10(x) + 1);
//去除前导0
s.erase(0,s.find_first_not_of('0'));
//使用位运算进行字母大小写变换
char c='a';
printf("%c %c %c",c^32,c^' ',c^(1<<5));
//求n的二进制的第k位数字
n >> k & 1;
//返回n的二进制最后一位1所代表的十进制数
lowbit(n) = n & -n;
//随机化区间内的所有元素
random_shuffle
//给你的好友来上一句这个他会非常高兴的.(哈哈哈哈)
#define sort random_shuffle
//cout 输出控制
cout << oct << 8  << endl; //八进制
cout << dec << 10 << endl; //十进制
cout << hex << 16 << endl; //十六进制

注意:默认按照10进制输出,当修改成其他进制输出时会一直保持该进制输出
如需恢复默认10进制输出,则需要加上cout<<dec<<......
例如:
cout        << 12  << endl;  //12 输出十进制的12
cout << hex << 12  << endl;  //c  修改成输出十六进制的12
cout        << 12  << endl;  //c  还是保持输出十六进制的12
cout << dec << 12  << endl;  //12 恢复输出十进制的12
cout        << 12  << endl;  //12 输出十进制的12

埃筛图示
埃拉托色尼筛法图示
试除法: O ( n 2 ) O(n^2) O(n2)或者 O ( n n ) O(n\sqrt n) O(nn )
朴素埃筛: O ( n l o g n ) O(nlogn) O(nlogn)
埃筛: O ( n l o g l o g n ) O(nloglogn) O(nloglogn)
线性筛: O ( n ) O(n) O(n)

//记得替换噢
//记得替换噢
//记得替换噢
//记得替换噢
//记得替换噢
//记得替换噢
//记得替换噢
//记得替换噢
//记得替换噢
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值