随笔分类 - 

摘要:首先,$tarjan$是干什么用的?在学之前,我就知道一个名为“缩点”的模板题要用$tarjan$算法来解决,所以我对这个算法是这样理解的。把一堆点在不影响题目的情况下缩成一个点,以转化为$DAG$(有向无环图)快速求解。其实我觉得模板题正大大体现了$tarjan$的优势,就拿模板题来讲一讲这个算法 阅读全文
posted @ 2020-12-18 16:17 徐明拯 阅读(337) 评论(0) 推荐(0)
摘要:Day 5 考试题解 T1 blocks 签到成功。 100分做法: 假设有三个序号分别为$i$,\(i+1\),$i+2$的三个积木,那么可以分为两种情况讨论:$i+1$先和$i$相等或者$i+2$先和$i+1$相等。为什么不能$i+2$直接和$i$相等呢? 假设$i+2$直接和$i$相等,那么可 阅读全文
posted @ 2020-10-05 23:58 徐明拯 阅读(93) 评论(0) 推荐(0)
摘要:【题目描述】 假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,如([ ]())或[([ ][ ])]等为正确的匹配,[( ])或([ ]( )或 ( ( ) ) )均为错误的匹配。 现在的问题是,要求检验一个给定表达式中的括弧是否正确匹配? 输入一个只包含圆括号和方括号的字符串,判断 阅读全文
posted @ 2020-04-03 23:45 徐明拯 阅读(1565) 评论(0) 推荐(0)
摘要:【题目描述】 假设一个表达式有英文字母(小写)、运算符(+,—,∗,/)和左右小(圆)括号构成,以“@”作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”;否则返回“NO”。表达式长度小于255,左圆括号少于20个。 【输入】 一行数据,即表达式。 【输出】 阅读全文
posted @ 2020-04-01 23:26 徐明拯 阅读(1050) 评论(0) 推荐(0)
摘要:【题目描述】 有一个火车站,铁路如图所示,每辆火车从A驶入,再从B方向驶出,同时它的车厢可以重新组合。假设从A方向驶来的火车有n节(n≤1000),分别按照顺序编号为1,2,3,…,n。假定在进入车站前,每节车厢之间都不是连着的,并且它们可以自行移动到B处的铁轨上。另外假定车站C可以停放任意多节车厢 阅读全文
posted @ 2020-03-31 23:53 徐明拯 阅读(533) 评论(0) 推荐(0)
摘要:【题目描述】 从键盘读入一个后缀表达式(字符串),只含有0-9组成的运算数及加(+)、减(—)、乘(*)、除(/)四种运算符。每个运算数之间用一个空格隔开,不需要判断给你的表达式是否合法。以@作为结束标志。 比如,16–9*(4+3)转换成后缀表达式为:16□9□4□3□+*–,在字符数组A中的形式 阅读全文
posted @ 2020-03-31 23:22 徐明拯 阅读(866) 评论(1) 推荐(0)