- 博客(7)
- 收藏
- 关注
原创 [NOIP2002] 马拦过河卒
其实过河卒到达某一点的路径数目,就等于其到达其相邻的上点和左点的路径数目之和,因此可以通过使用逐行(或逐列)地推的方法来求出从起点到终点的路径数目。
2024-07-01 20:49:26
381
1
原创 栈:车厢调度题解
对于每一个输入的车厢编号a[i],在从A驶入时的序列中位于第a[i]个。我们不妨把火车站C想成一个栈,要想让a[i]以第i个的顺序离开,可以先把a[i]入栈,那么a[i]之前的车厢就要先入栈来给a[i]做基础。最后出栈的时候,判断一下栈顶是否是a[i],如果不是,输出“NO”并return 0,当所有车厢都能按顺序出栈时,输出“YES”即可。
2024-06-30 18:36:09
350
原创 [USACO16JAN]七子共题解
求一个最长的区间[x,y],使得区间中的数(a[x],a[x+1],a[x+2],...,a[y-1],a[y])的和能被7整除。我们用sum[i]表示前缀和模7的值,若存在i≤j,满足sum[i]==sum[j],则区间 ( i,j ] 的和为7的倍数。因此 O(N)扫出sum[0]~sum[6]第一次出现的位置l和最后一次出现的次数r,答案即为Max(r[i]-l[i])。则(x-n)%7==0, (y-n)%7==0。设x%7==n, y%7==n (n<7)。所以(y-x)%7==0。
2024-06-30 11:27:53
538
原创 桶排序算法讲解
这是一种排序算法,桶排序将无序序列A1,A2......An的每个项放入对应的“桶”中。比如,数字1,我们就把1装入1号桶中,该桶装的个数加1,以此类推,如果用N数组来表示这一个个桶的话, 则N[ i ] 的值为该数列中i的个数。接下来就很简单了,从小到大(反之亦可)询问每个桶的值,若值不为0,设值为w,输出w次该桶对应的数即可。
2024-06-29 20:12:11
286
1
原创 百鸡问题题解
百鸡问题:一只公鸡值5元,一只母鸡值3元,而1元可买3只小鸡。现有n元钱,想买m只鸡。这个问题可难不倒马克,问可买公鸡、母鸡、小鸡各几只?外层循环枚举公鸡(i : 0到n/5),内层循环枚举母鸡(j : 0到n/3),易得小鸡个数k为(m-i-j)若干行,每行三个数分别为公鸡数、母鸡数、小鸡数,表示一种可能的购买方案,按公鸡数从小到大排列。最后一行输出共有多少购买方案,若没有购买方案输出0.拜拜,如果这篇题解能帮到你就留下你的赞吧!一行两个整数n,m(n,m<=5000)(这点容易被人忽略,比如我!
2024-06-29 19:55:33
271
原创 循环结构之打印等腰三角形
那不妨在我们用for循环输出第i层时(i=1;i++),嵌套一个循环n-i次的循环,n-i即为空格个数。接着在输出玩空格后输出“*”。这道题的难点在于等腰三角形每层前面会有空格,需要我们特殊处理。先来看一下题目:输入正整数n,输出n行用星号打印的等腰三角形。这是本蒟蒻发布的第一篇博客,还请各位大佬多多指教!
2024-06-29 19:29:12
213
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人