07 2018 档案
摘要:题目 题目大意:第一行给出一个数n,代表有n个点,第二行给出火箭的自重,第三行给出每个点去时每吨需要的燃料,第四行给出每个点返程时每吨需要的燃料。求出发时携带的最小燃料数 分析:这题我们只要逆向思维就很好的可以解决答案了,我们知道要携带的燃料是最少的话,那就是到达火星回来地球的时候,燃料一定为零,那
阅读全文
摘要:题意:有n个人和m个食物,给出每一个食物的种类,每个人只会吃一种食物,每个人一天吃一个食物,问这n个人可以撑多少天。 分析:因为题目给出的天数范围比较小所以我们可以从1到100天开始枚举,我们判断如果是I天了,这些食物够不够N个人吃,够的话继续,不够的话可以跳出循环了,因为这是一种单调关系,如果天数
阅读全文
摘要:题意 一个长度为n的数组(初始全为0),进行m次操作。 操作:给你x,d,你任意挑选一个 i (1~n),每个数字加上 x+|i-j|*d( j 表示对应数字的下标) 问m次操作后的最大算术平均值为多少? 题解 首先对于x,每次数组的和sum都增加n*x。(Σ|i-j|)*d跟我们选的 i 有关系,
阅读全文
摘要:题目 题意是给了两个字符串a和b,然后可以对这两个字符串有三种操作来使这两个字符串相等,一是交换a[i]和b[i],二是交换a[i]和a[n-i+1],三是交换b[i]和b[n-i+1],这三个操作都是不计步数的,然后问最少还需要多少步可以让a串等于b串。 分析:我们可以想到我们只要关心a[i],a
阅读全文
摘要:题目 我一开始试了一下n=3,发现不行,于是就猜测只有2可以,交了一发,通过了50%。所以我猜测只有偶数可以,奇数都不行。 中间空白部分放n=2的情况就行。因为n=2的情况时,最大只有2,所以我们可以放心地用3,4。我们可以发现,一个图里既然有了n,那么最小一定是-n+1,而不是-n,所以外圈放两个
阅读全文
摘要:题目 题意:给出一个n个数的序列,我们可以删除m个数,然后我们要求出现次数最多并且最大的, 分析:普遍的暴力的遍历肯定是TLE的,我们可以小贪心下,用map记录次数,然后排序以次数大的优先,相等值大的优先,为什么这样呢?我们可以知道我们取得是众数,优先次数多的话,可以保证结果肯定是成立的,就是不知道
阅读全文
摘要:rope 的基本操作 牛客 E。Shuffle Cards
阅读全文
摘要:视频参考 对于正常的字符串模式匹配,主串长度为m,子串为n,时间复杂度会到达O(m*n),而如果用KMP算法,复杂度将会减少线型时间O(m+n)。 设主串为ptr="ababaaababaa";,要比较的子串为a=“aab”; KMP算法用到了next数组,然后利用next数组的值来提高匹配速度,我
阅读全文
摘要:求(3+开根5) N次方的整数部分最后3位,请补足前导零 。 分析:首先(1)=(3+开根5) N次方的展开为 an + bn * 根号5 的形式 。 同时也有 (2)=(3-开根5) N次方 = an - bn * 根号5 ; 则可以得出 (1)+(2) = 2*an,, so (1) = 2*a
阅读全文
摘要:题意】 有N个订单和M个机器,给出第i个订单在第j个机器完成的时间Mij,每台机器同一时刻只能处理一个订单,机器必须完整地完成一个订单后才能接着完成下一个订单。问N个订单完成时间的平均值最少为多少。 分析 : 最小费用最大流 如果每个工厂只能完成一个订单的话,那就是指派问题了。跑一遍最小费用流即可。
阅读全文
摘要:题意 给你一个只含有0,1,2的字符串,你可以将"01"变为"10","10"变为"01","12"变为"21","21"变为"12",问通过变换可以得到的字典序最小的串是什么? 题解 一开始天真的以为,我把所有的"10"变为"01",和所有的"21"变为"12"即可。 直到发现了201,20001
阅读全文
摘要:题意:给你n个模块,每个模块在A核花费为ai,在B核跑花费为bi,然后由m个任务(ai,bi,wi),表示如果ai,bi不在同一个核上跑,额外的花费为wi,求最小的花费。 分析: 用最小的费用将对象划分成两个集合的问题,常常可以转化成最小割后解决,这题就是一道经典的问题; 1.考虑把N个模块按照在那
阅读全文
摘要:题意 : 有 N 头牛,John 可以制作 F 种食物和 D 种饮料, 然后接下来有 N 行,每行代表一头牛的喜好==>开头两个数 Fi 和 Di 表示这头牛喜欢 Fi 种食物, Di 种饮料,接下来 Fi 个数表示喜欢的食物编号,Di 个数表示喜欢的饮料的编号,现在 John 要使用最优决策制作出
阅读全文
摘要:匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法。 等等,看得头大?那么请看下面的版本: 通过数代人的努力,你终于赶上了剩男剩女的大潮,
阅读全文
摘要:其实就是判断是否为三连通图 三连通图指的是去掉3个点就不连通的图,但是并没有直接求三连通的算法。著名的Tarjan算法可以求解连通和割点,再枚举删除一个点就能达到三连通的目的。 先看用例2,是由用例1去掉一条边而变成非三连通图的: 至少造成了2和3非三连通: 我们来思考如何推导出2和3非三连通,假设
阅读全文
摘要:一.算法简介 Tarjan 算法一种由Robert Tarjan提出的求解有向图强连通分量的算法,它能做到线性时间的复杂度。 我们定义: 如果两个顶点可以相互通达,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大强连通子图
阅读全文