随笔分类 - 小技巧/刷题心得
摘要:总结—二分答案求解问题 我们经常会犯的一个错误就是不求慎解,只觉得“会了”就轻轻放下,其实根本没有真正的搞懂这些东西。 二分,简单算法,文化课都要学的东西。 当初对它的理解就是:很方便地求“最大值最小”/“最小值最大”。 当然,这也是二分答案算法的一个标志。但是我们需要思考的是:为什么二分可以求解“
阅读全文
摘要:小技巧—数组初始化 简单说一下memset函数的使用方法。 memset函数会把一个类型的东西按字节清空,一个字节是8位,所以按理讲memset对int数组实现统一赋值的操作的时候只能赋值0或者-1。如果不这样的话,就会导致一个循环出现。比如,你想对整个数组赋值2的话,因为2的二进制是10,八位的话
阅读全文
摘要:小技巧—取模防负 本篇随笔介绍取模防负数的小技巧。 这个应用在减法取模的过程中。我们为了保证在计算过程中的答案不溢出,一定会选择在算法执行过程中反复对其进行取模,显而易见这种做法也能保证最终答案的正确性,而不需要把整个算法执行完之后再统一取模。 但是,减法稍有不同。我们在这个连续取模的过程中,有可能
阅读全文
摘要:小技巧—计算内存 本篇随笔记录一下如何计算程序需要使用的内存。 一个int类型的变量是4个字节,4 B. 一个字符型变量char是1个字节,1B. 换算规律是: 1G=1024M 1M=1024K 1K=1024B 后面的零头24可以忽略了。那么我们最后的计算就是:(以整型数组为例) 数组大小*4/
阅读全文
摘要:数组的随机打乱 本篇随笔介绍一下一个小技巧:数组的随机打乱。 有两种方式,第一种是用STL里的random_shuffle函数,第二种是手写。 第一种:STL 就是介绍一下random_shuffle函数的用法。 传两个参数,表示数组的首尾元素即可。 random_shuffle(a+1,a+n+1
阅读全文

浙公网安备 33010602011771号