【FBI WARNING】一些Noip的黑科技 持续整理!
有疑问或错误尽管评论!!? ?本文手(粘)打(贴)于各大博客之间 有问题。。。。。 我也不懂 max、min的优化我们知道,打max、min时,要用分支(if语句)。这样会使程序超慢。 有没有其他方法?有的。?
所以我们可以通过作差,求出谁大谁小。 int max(int a,int b) { int m=(a-b)>>31; return a&~m|b&m; } int min(int a,int b) { int m=(a-b)>>31; return a&m|b&~m; } 以max举例,?
? 补上一个abs的优化: int abs(int a) { int b=a>>31; return (a+b)^b; } 当a>=0时 b=0 abs(a)=a^0=a? ? 当a<0时 b=-1 abs(a)=(a-1)^-1=-a(相信大家都懂补码的转换方式) ? 有一点很重要的是,不要乱用!比如不能硬是将int改为long long,注意右移的位数要变! ? 手动编译优化格式: #define x y
在程序中,一切出现x的地方都会变成y。?
有种带参数的,在名字(x)后打空格,里面写参数(用逗号隔开,不用标类型)?
#undef x
? #define I_O(x) freopen(""#x".in","r",stdin);freopen(""#x".out","w",stdout);
? cstring中常用的函数这些函数应该人人都会,但还是有好多人不会。 先说一下指针与数组的关系。?
memset(指针(数组名),数值(最大127,最小128,清零0),大小(sizeof ……))?
排序sort(指针begin,指针end)?
有的孩子不知道cmp咋搞。?
bool cmp(int a,int b) { return a>b; } a代表前面的元素,b代表后面的元素。表示排序后的序列满足a>b! ? 稳定性排序:?
堆queue里有一个,但我不爱用,因为内部一定有许多繁杂的操作,比如指针开辟一个存储空间,会使程序变慢。?
? pop_heap(begin,end)?
将begin的元素弹出,移至end-1处。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |