摘要: 本题是一道中国剩余定理的板子题,之前考的时候一次过了,后来也没有总结,于是这回就跪了。。。 中国剩余定理用于求解多组同余方程: x≡b1(mod a1) x≡b2(mod a2) ...... x≡bn(mod an) 我们定义M是所有a的积,M=a1*a2*a3*...*an 对于每一个解,在方程 阅读全文
posted @ 2019-04-01 12:39 于丰林 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给出n个物品,每一个物品有一个体积和价值 给出背包的总体积T,求出最大价值 M,T<=100000 t,v<=10 这道题可能刚开始认为是一道01背包的问题,但是看到了数据范围发现01背包达到了10^10,所以01背包是行不通的 由于我们看到tv都很小,所以我们知道只有100种物品类型, 阅读全文
posted @ 2019-03-31 13:56 于丰林 阅读(176) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-03-30 22:39 于丰林 阅读(1) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-03-30 22:36 于丰林 阅读(7) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-03-30 22:14 于丰林 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 其实这道题并不是很难,但是确实不太好想啊。。。 题目大意: 跳跳棋是在一条数轴上进行的。棋子只能摆在整点上。每个点不能摆超过一个棋子。 我们用跳跳棋来做一个简单的游戏:棋盘上有3颗棋子,分别在a,b,c这三个位置。我们要通过最少的跳动把他们的位置移动成x,y,z。(棋子是没有区别的) 跳动的规则很简 阅读全文
posted @ 2019-03-30 21:40 于丰林 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 1.最短路是什么? 顾名思义,最短路就是求一个点到另一个点最短的路径,一半分为单源最短路和多源最短路。 2.最短路问题如何解决? 多源最短路问题: 多源最短路基本只有一条路可走(当询问次数很小时例外),那就是Flyod算法了。 Flyod: 枚举k,i,j记住k一定要在最外层就好,每一次对于一个点进 阅读全文
posted @ 2019-03-25 22:57 于丰林 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个序列,序列中的数两两不同,每一步进行两种操作,压栈和弹栈,问可能得到多少序列,输出总数。 n<=1000 考虑到每一次只有两种操作,并且不合法的情况就是弹栈次数多余压栈次数,这个就和括号匹配是一个原理,很显然就是卡特兰数了。 卡特兰数的递推公式:C(2n,n)/(n+1),根据我们 阅读全文
posted @ 2019-03-25 15:47 于丰林 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题目大意:求一个同余方程tx+m≡ty+n (mod L)t的最小正整数解 首先我们可以把式子变形得到:t(x-y)≡(n-m) (mod L) 我们把(x-y)设为a,(n-m)设为s,可以得到ta≡s(mod L) 诶,好像比较熟悉啊,这就是同余方程的改进版。 我们可以先利用扩欧得到at+Ly= 阅读全文
posted @ 2019-03-25 15:34 于丰林 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给定一个长度为n的序列,每一次可以选择一段连续的区间,将该区间每一个数都减1,每一个数的最小值为0,问最少需要执行多少次该操作。 虽然正解比较好像,但是我优化优化了暴力发现也过了。。。 朴素算法80分: 每一次从头找到第一个不为0的数,往后一直找到第一个0,他的前一个数如果是0,那么就代 阅读全文
posted @ 2019-03-23 23:06 于丰林 阅读(139) 评论(0) 推荐(0) 编辑