随笔分类 - 模拟
摘要:BZOJ2396 给出三个行数和列数均为N的矩阵A、B、C,判断A*B=C是否成立 随机生成一个N乘1的矩阵R 然后判断A*B*R是否等于C*R,而前者相当于A*(B*R) 与后者一样都可以在O(N2)的时间里算出来 如果算出来的结果相等 A*B和C几乎也相等
阅读全文
摘要:BZOJ1336随机增量法解决最小圆覆盖 给出N个点,让你画一个最小的包含所有点的圆 就喜欢这种题干特别容易明白的题了
阅读全文
摘要:POJ2420 给n个点,找出一个点,使这个点到其他所有点的距离之和最小,也就是求费马点 爬山算法就是一只兔子看到一座山峰,然后跳来跳去最后跳上山顶 模拟退火就是一只喝醉的兔子,一开始乱跳,过一会酒醒了,然后再跳上山顶 爬山算法也是一个用来求解最优化问题的算法,每次都向着当前上升最快的方向往上爬 但
阅读全文
摘要:承接上一篇的十进制高精度,这是一份万进制高精度的板子 不过我想知道为啥速度变慢了 为啥 到底什么时候需要压位呢?
阅读全文
摘要:以前认为负数不可做 只需要多开点儿空间维护一下负数就好了 桶排序的时候你必须保证数据是离散的,离散程度是均一的 而且数据范围不能让空间无法承受
阅读全文
摘要:交题应该是交过了,只不过网络赛的题没刷过去不知道什么原因 这份板子总体来说还是很漂亮的
阅读全文
摘要:为什么本文的标题要强调十进制形式呢?因为还有万进制的高精度,比十进制要快很多 那我们直接掌握万进制不就好了嘛。。其实不然,十进制高精度的实现是最直接的对加减乘除的模拟,并且其中的实现方法也是值得去借鉴的 这里在刘汝佳代码的基础上进行了一定的改进,经过了若干次测试形成了稳定版本,在对效率要求比较高的情
阅读全文
摘要:这三种排序虽然用处不多,并且效率不高,但是它们都是稳定的排序算法,并且容易混淆,这里给出实现代码帮助读者区分 首先是插入排序 插入排序的实现思路真的就是把当前元素插入到对应自己大小的位置上,然后比它大的这些元素都往后挪动一位,但是写的时候要注意对下标的控制,否则容易出错 然后是选择排序 选择排序有两
阅读全文
摘要:首先我们介绍十进制转m进制,使用除m取余法,注意这里所描述的都是整数之间的转换,,不涉及小数部分所谓的乘m取整法 为了便于显示结果,我们这里引入了一个字符串翻转函数 我们使用b数组来存放没一个数对应的字符,不用打表 核心逻辑很简单: 接下来给出10进制转m进制的完整实现: 接下来我们介绍m进制转十进
阅读全文

浙公网安备 33010602011771号