其它
文章平均质量分 65
其它
blazeDP
一个算法爱好者!
展开
-
离散化
一、概述数据离散化是一个非常重要的思想。为什么要离散化?当以权值为下标的时候,有时候值太大,存不下。 所以把要离散化的每一个数组里面的数映射到另一个值小一点的数组里面去。打个比方,某个题目告诉你有10^4个数,每个数大小不超过10^10,要你对这些数进行操作,那么肯定不能直接开10^10大小的数组,但是10^4的范围就完全没问题。我们来看一下定义:离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。(by百度百科)通俗的说,离散化是在不改变数据相对大小的条件下,对原创 2021-02-05 16:38:22 · 215 阅读 · 2 评论 -
P2882 [USACO07MAR]、POJ 3276 Face The Right Way(翻转问题 贪心+枚举+差分)
题意:N头牛排成一列1<=N<=5000。每头牛或者向前或者向后。为了让所有牛都面向前方,农夫每次可以将K头连续的牛转向1<=K<=N,求操作的最少次数M和对应的最小K。本题的模型是开关问题(或者叫翻转问题)。拿到题目,你肯定会思考两个问题,1、从哪里开始翻转,2、翻转多大的区间呢?发现一句话很重要Each time the machine is used, it reverses the facing direction of a contiguous group of K原创 2021-01-29 22:05:26 · 147 阅读 · 0 评论 -
二分的应用
1. 计算 anan (数的幂)2. 计算 AnAn (矩阵的幂)由于矩阵乘法具有结合律,因此 A4=A∗A∗A∗A=(A∗A)∗(A∗A)=A2∗A2A4=A∗A∗A∗A=(A∗A)∗(A∗A)=A2∗A2我们可以得到这样的结论:当n为偶数时,An=An/2∗An/2An=An/2∗An/2 当n为奇数时,An=An/2∗An/2∗AAn=An/2∗An/2∗A (其中n/2取...转载 2018-07-23 11:44:38 · 379 阅读 · 0 评论 -
经常使用的构造散列函数的方法
散列表,它是基于高速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构能够理解为一个线性表,可是当中的元素不是紧密排列的,而是可能存在空隙。散列表(Hash table,也叫哈希表),是依据关键码值(Key value)而直接进行訪问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来訪问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。...转载 2018-07-22 17:15:49 · 510 阅读 · 0 评论 -
倍增算法思想(二分新姿势--倍增法)
建议先看看这篇博文:https://blog.csdn.net/JarjingX/article/details/8180560【白话系列】倍增算法 博主:JarjingX以下转自:https://blog.csdn.net/wybooooooooo/article/details/80778807博主:wybooooooooo的博客倍增思想举例A、B两点之间相隔若干单位为1的距离...转载 2018-07-17 17:32:20 · 9706 阅读 · 1 评论 -
分块学习小结
明天要开始讲二分、分块、倍增、差分等,今天先补一补!基础知识引用别人的一段话:一直觉得分块是一个很高端的东西…一直没敢碰,现在才知道分块就是一种稍微优美一些的暴力,所以没有学过分块的同学不要害怕啦…分块,就是将一段信息(数据结构,序列)分成几块处理,当然最基础的是序列上的分块,再高层点的就是树上的分块,分块套分块,分块套数据结构以及数据结构套分块。 顾名思义就是把要处理的东西进行分...原创 2018-07-17 16:53:17 · 292 阅读 · 0 评论 -
由取石子游戏想到的博弈论
先将本文的参考列表如下,以示对大咖的尊敬:作者:ojshilu 《两人取石子游戏 组合数学-博弈问题》作者:提比-我有特殊的AC技巧 《取石子游戏【各类取石子总结】》(该文也系转载) 有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者取胜。这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻的数学原理。下面...原创 2018-04-10 10:52:19 · 244 阅读 · 0 评论 -
平面分割问题
(一)直线分割平面问题:n条直线,最多可以把平面分为多少个区域。原创 2018-02-01 08:01:47 · 503 阅读 · 0 评论