又是一个随记,方便自己的使用。C++ 中的 scanf
和 printf
其实有很多比 cin
cout
好用的地方,放在这里。
scanf 和 printf 的格式符
动态规划:01 背包
背包问题是动态规划中很典型的一个问题。一个背包有特定的重量,去装重量为 w 价值为 d 的物品,在不超过背包重量上限的前提下使物品的价值和最高。
这个问题一看,就不是贪心可以做的来的。所以,就可以用上我们的爆搜!!(暴力出奇迹)动态规划来解决背包问题。
有关进制的一些小记
x 进制,代表着在这个计数方法中逢 x 进一,例如十进制就代表着逢十进一。
我们平常在生活中用的都是十进制。进制一类的东西在 OI 中也比较重要CCF 喜欢考,计算机中的数据都是以二进制储存的,二进制也完美地利用了每一个比特。当然,只要有足够的表示方法,人们可以弄出三十二进制、六十四进制,甚至一千进制。闲的没事情干,进制有关的以及进制之间的转换就是我想记下来的话题。
数论:质数筛法
筛法是快速找出质数的一种方法。平常没有使用任何筛法的的找质数的时间复杂度通常为 $O(\sqrt n)$,比较慢,但是筛法更快一些。我们学的筛法是埃氏筛和欧拉筛(线性筛)。
平常的找质数方法是判断一个数是否能被 1 和它本生以外的数整除,但是筛法的思想不一样。筛法可以说是通常方法的逆向思维,挨个儿寻找当前数的倍数,打上标记,再继续寻找,最后没有被打上标记的就是质数。这种思想的时间复杂度快很多。