摘要:
花费了好长时间,终于刷掉了这道题。 题目在这里(洛谷) (信息学奥赛一本通) 嗯,没错,这是一道快速幂的题,不会快速幂点这里 好现在开始分析,这道题用小学奥数的思想就可以想到,直接算有多少种可能比较难,所以就算出所有的情况再减去不越狱的情况,就是越狱的情况了。所有情况就是mn,不发生的情况就是m*( 阅读全文
摘要:
今天,研究一下谁都能看懂的弗洛伊德算法。 首先,弗洛伊德算法是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法。 这个算法需要一个用到一个二维数组啊a[][],而a[i][j]表示的就是,i到j的距离。 而在一个图中,可能会存在k,i到k再到j的距离可能会更短,也就是a[i][k]+ 阅读全文
摘要:
首先,顾名思义,快速幂就是快速的幂 不过可能有人晓得从math里头的pow(a,b),不过,这样的快速幂是没有灵魂的,我们要自己敲代码。 自己手敲幂,最简单的方法。代码如下 这个比较基础的方法,的时间复杂度当然要比快速幂慢很多了,所以,我们要尝试降低时间复杂度。 开始前,不了解二进制和位运算符的请先 阅读全文
摘要:
最近,准备学数学基础,so我觉得了解一下二进制和位运算符是很有用的。 二进制 先看看度娘怎么说 二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基 阅读全文
摘要:
【题目描述】 有n颗形状和大小都一致的珍珠,它们的重量都不相同。n为整数,所有的珍珠从1到n编号。你的任务是发现哪颗珍珠的重量刚好处于正中间,即在所有珍珠的重量中,该珍珠的重量列(n+1)/2位。下面给出将一对珍珠进行比较的办法: 给你一架天平用来比较珍珠的重量,我们可以比出两个珍珠哪个更重一些,在 阅读全文
摘要:
【题目描述】 有一个火车站,铁路如图所示,每辆火车从A驶入,再从B方向驶出,同时它的车厢可以重新组合。假设从A方向驶来的火车有n节(n≤1000),分别按照顺序编号为1,2,3,…,n。假定在进入车站前,每节车厢之间都不是连着的,并且它们可以自行移动到B处的铁轨上。另外假定车站C可以停放任意多节车厢 阅读全文
摘要:
【题目描述】 假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,如([ ]())或[([ ][ ])]等为正确的匹配,[( ])或([ ]( )或 ( ( ) ) )均为错误的匹配。现在的问题是,要求检验一个给定表达式中的括弧是否正确匹配?输入一个只包含圆括号和方括号的字符串,判断字符 阅读全文
摘要:
【题目描述】 假设一个表达式有英文字母(小写)、运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”;否则返回“NO”。表达式长度小于255,左圆括号少于20个。 【输入】 一行数据,即表达式。 【输出】 阅读全文
摘要:
这周,研究了一下基础数据结构,感觉挺难的。啥都懂,但做题就难了。 好,言归正传,下面就对基础数据结构进行一个总结。 一、什么是数据结构 数据结构是计算机存储、组织数据的一种方式。 二、为什么要学数据结构 首先,一个程序不能没有数据结构,一个程序可以说是算法和数据结构构成的。 其次,程序设计其实就是对 阅读全文
摘要:
今天做了一道题——循环比赛日程表,这是一道分治的题,并不太难,看看样例就懂了。 首先,我们以表格中心拆分,把表格分成四个部分(如上图所示),你就会惊奇的发现。坐上和右下的部分完全一样,左下和右上的部分也完全一样,并且继续查分的话,这个规律同样适用。 这个时候,你可能已经有思路了。下面,源代码。 阅读全文