- 博客(33)
- 收藏
- 关注
原创 P1190 [NOIP2010 普及组] 接水问题 题解
学校里有一个水房,水房里一共装有m个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为1。现在有n名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从1到n编号,i号同学的接水量为wi。接水开始时,1到m号同学各占一个水龙头,并同时打开水龙头接水。当其中某名同学j完成其接水量要求wj后,下一名排队等候接水的同学k马上接替j同学的位置开始接水。这个换人的过程是瞬间完成的,且没有任何水的浪费。即j同学第x秒结束时完成接水,则k同学第x1。
2024-11-05 21:52:04
711
原创 洛谷P1199 [NOIP2010 普及组] 三国游戏 题解
已知计算机一方选择武将的原则是尽量破坏对手下一步将形成的最强组合,它采取的具体策略如下:任何时刻,轮到计算机挑选时,它会尝试将对手军队中的每个武将与当前每个自由武将进行一一配对,找出所有配对中默契值最高的那对武将组合,并将该组合中的自由武将选入自己的军队。 下面举例说明计算机的选将策略
2024-11-04 22:26:45
1010
原创 P7557 [USACO21OPEN] Acowdemia S题解
由于对计算机科学的热爱,以及有朝一日成为 「Bessie 博士」的诱惑,奶牛 Bessie 开始攻读计算机科学博士学位。经过一段时间的学术研究,她已经发表了N篇论文(1≤N≤105),并且她的第i篇论文得到了来自其他研究文献的ci次引用(0≤ci≤105Bessie 听说学术成就可以用h指数来衡量。h指数等于使得研究员有至少h篇引用次数不少于h的论文的最大整数h。例如,如果一名研究员有4篇论文,引用次数分别为110023,则h指数为2。
2024-09-24 21:05:43
951
原创 P1152 欢乐的跳
一个n个元素的整数数组,如果数组两个连续元素之间差的绝对值包括了1n−1之间的所有整数,则称之符合“欢乐的跳”,如数组1423321。给定一个数组,你的任务是判断该数组是否符合“欢乐的跳”。
2024-09-17 22:15:46
724
原创 P9124 [USACO23FEB] Bakery S
Bessie 真的不希望她的朋友们伤心,她可以用一块钱升级她的烤箱,让它少花一个单位的时间来生产一块饼干或少花一个单位的时间来生产一个松饼。此外,Bessie 的朋友都很忙,所以第。的时间,但她可以选择在她的朋友到来之前将她的烤箱升级多少次,只要生产一块饼干和生产一个松饼所需的时间都严格保持为正数。的测试案例,请帮助 Bessie 找出她必须花费的最小的钱数量,以便她的面包店能够满足所有的朋友。在她的面包店里,Bessie 有一个烤箱,可以在。单位生产一块松饼所需的时间,从而使她的烤箱在。
2024-09-17 21:35:22
941
原创 P2847 [USACO16DEC] Moocast G
Farmer John 的N头牛 (1≤N≤1000) 为了在他们之间传播信息,想要组织一个"哞哞广播"系统。奶牛们决定去用步话机装备自己而不是在很远的距离之外互相哞哞叫,所以每一头奶牛都必须有一个步话机。这些步话机都有一个限制传播半径,但是奶牛们可以间接地通过中间奶牛传播信息,所以并不是每头牛都必须直接向其他每一头奶牛连边。奶牛们需要去决定多少钱花在步话机上,如果他们花了X, 那么他们都将会得到X距离的步话机。所以,两头牛之间的欧几里得距离平方最多是X。请帮助奶牛们找到最小的X。
2024-09-16 21:16:28
879
原创 P6149 [USACO20FEB] Triangles S题解
Farmer John 想要给他的奶牛们建造一个三角形牧场。有N3≤N≤105)个栅栏柱子分别位于农场的二维平面上不同的点X1Y1XNYN。他可以选择其中三个点组成三角形牧场,只要三角形有一条边与x轴平行,且有另一条边与y轴平行。FJ 可以组成的所有可能的牧场的面积之和等于多少?
2024-09-16 20:47:57
773
原创 P5119 [USACO18DEC] Convention S题解
一场别开生面的牛吃草大会就要在 Farmer John 的农场举办了!世界各地的奶牛将会到达当地的机场,前来参会并且吃草。具体地说,有N头奶牛到达了机场(1≤N≤105),其中奶牛i在时间ti0≤ti≤109)到达。Farmer John 安排了M1≤M≤105)辆大巴来机场接这些奶牛。每辆大巴可以乘坐C头奶牛(1≤C≤NFarmer John 正在机场等待奶牛们到来,并且准备安排到达的奶牛们乘坐大巴。
2024-09-15 21:48:29
1104
原创 P7075 [CSP-S2020] 儒略日题解
为了简便计算,天文学家们使用儒略日(Julian day)来表达时间。所谓儒略日,其定义为从,不满一天者用小数表达。若利用这一天文学历法,则每一个时刻都将被均匀的映射到数轴上,从而得以很方便的计算它们的差值。现在,给定一个不含小数部分的儒略日,请你帮忙计算出该儒略日(一定是某一天的中午 12 点)所对应的公历日期。
2024-09-15 12:49:32
1045
原创 P7529 [USACO21OPEN] Permutation G
Bessie 在二维平面上有N个最爱的不同的点,其中任意三点均不共线。对于每一个1≤i≤N,第i个点可以用两个整数xi和yi表示。Np1p2pNp1p2p2p3p3p14NijipipjBessie 注意到对于每一个i,她都画上了恰好三条新的线段。计算 Bessie 在第1步可以选择的满足上述性质的排列的数量,结果对1097取模。
2024-09-10 21:32:36
814
原创 如何克服编程学习中的挫折感
编程学习之路上,挫折感就像一道道难以逾越的高墙,让许多人望而却步。然而,真正的编程高手都曾在这条路上跌倒过、迷茫过,却最终找到了突破的方法。你是如何在Bug的迷宫中找到出口的?面对复杂的算法时,你用什么方法让自己保持冷静?让我们一起分享那些克服挫折的经验,为彼此的编程之路点亮希望之光!
2024-08-22 17:15:21
186
原创 2098:【23CSPJ普及组】小苹果(apple)
小 Y 的桌子上放着 n个苹果从左到右排成一列,编号为从 1到n。小苞是小 Y 的好朋友,每天她都会从中拿走一些苹果。每天在拿的时候,小苞都是从左侧第1个苹果开始、每隔2个苹果拿走 1个苹果。随后小苞会将剩下的苹果按原先的顺序重新排成一列。小苞想知道,多少天能拿完所有的苹果,而编号为n的苹果是在第几天被拿走的?
2024-07-28 21:31:36
709
原创 1922:【03NOIP普及组】乒乓球
在开展他的研究之前,他首先需要对他多年比赛的统计数据进行一些分析,所以需要你的帮忙。在11分制下,此时比赛的结果是华华第一局11比0获胜,第二局11比0获胜,正在进行第三局,当前比分1比1。而在21分制下,此时比赛结果是华华第一局21比0获胜,正在进行第二局,比分2比1。其中第一部分是11分制下的结果,第二部分是21分制下的结果,两部分之间由一个空行分隔。华华通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在11分制和21分制下,双方的比赛结果(截至记录末尾)。
2024-07-26 20:23:13
289
原创 1923:【03NOIP普及组】数字游戏
游戏是这样的,在你面前有一圈整数(一共n个),你要按顺序将其分为m个部分,各部分内的数字相加,相加所得的m个结果对10取模后再相乘,最终得到一个数k。当要求最小值时,((2-1) mod 10)×((4+3) mod 10)=1×7=7,要求最大值时,为((2+4+3) mod 10)×(-1 mod 10)=9×9=81。第一行有两个整数,n(1≤n≤50)和m(1≤m≤9)。以下n行每行有个整数,其绝对值不大于104,按顺序给出圈中的数字,首尾相接。第一行是你程序得到的最小值,第二行是最大值。
2024-07-26 20:17:54
253
原创 信息学奥赛一本通c++ 1369:合并果子(fruit)
【题目描述】在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n−1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为1。
2024-05-15 22:34:16
364
原创 信息学奥赛一本通c++ 1367:查找二叉树(tree_a)代码
【题目描述】已知一棵二叉树用邻接表结构存储,中序查找二叉树中值为x的结点,并指出是第几个结点。例:如图二叉树的数据文件的数据格式如下:【输入】第一行n为二叉树的结点个树,n<=100;第二行x表示要查找的结点的值;以下第一列数据是各结点的值,第二列数据是左儿子结点编号,第三列数据是右儿子结点编号。【输出】一个数即查找的结点编号。【输入样例】【输出样例】4。
2024-05-14 22:27:57
291
原创 信息学奥赛一本通c++ 1366:二叉树输出(btout)
【题目描述】树的凹入表示法主要用于树的屏幕或打印输出,其表示的基本思想是兄弟间等长,一个结点的长度要不小于其子结点的长度。二叉树也可以这样表示,假设叶结点的长度为1,一个非叶结点的长度等于它的左右子树的长度之和。一棵二叉树的一个结点用一个字母表示(无重复),输出时从根结点开始:每行输出若干个结点字符(相同字符的个数等于该结点长度),如果该结点有左子树就递归输出左子树;如果该结点有右子树就递归输出右子树。
2024-05-14 21:16:03
339
原创 信息学奥赛一本通c++ 1170:计算2的N次方
时间限制: 1000 ms 内存限制: 65536 KB任意给定一个正整数NN<=100,计算2的n次方的值。输入一个正整数N。输出2的N次方的值。532。
2024-05-11 20:42:17
428
原创 信息学奥赛一本通c++ 1169:大整数减法
【题目描述】求两个大的正整数相减的差。【输入】共2行,第1行是被减数a,第2行是减数b(a > b)。每个大整数不超过200位,不会有多余的前导零。【输出】一行,即所求的差。【输入样例】【输出样例】
2024-05-11 20:36:24
182
原创 信息学奥赛一本通c++ 1309:【例1.6】回文数(Noip1999)
时间限制: 1000 ms 内存限制: 65536 KB【题目描述】若一个数(首位不为零)从左向右读与从右向左读都是一样,我们就将其称之为回文数。例如:给定一个 10进制数 56,将 56加 65(即把56从右向左读),得到 121是一个回文数。又如,对于10进制数87,STEP1:8778165STEP2:165561726STEP3:7266271353135335314884。
2024-05-08 21:48:17
939
原创 信息学奥赛一本通c++ 1308:【例1.5】高精除题解
时间限制: 1000 ms 内存限制: 65536 KB【题目描述】高精除以高精,求它们的商和余数。【输入】输入两个低于300位的正整数。【输出】输出商和余数。【输入样例】【输出样例】
2024-05-07 20:25:44
267
原创 信息学奥赛一本通c++ 1307:【例1.3】高精度乘法
【题目描述】输入两个高精度正整数M和N(M和N均小于100位)。求这两个高精度数的积。【输入】输入两个高精度正整数M和N。【输出】求这两个高精度数的积。【输入样例】363【输出样例】108。
2024-05-06 22:30:43
372
原创 信息学奥赛一本通 c++ 1365: FBI树(fbi)
FBI树是一种二叉树,它的结点类型也包括F结点,B结点和I结点三种。若串S的长度大于1,将串S从中间分开,分为等长的左右子串S1和S2;由左子串S1构造R的左子树T1,由右子串S2构造R的右子树T2。我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。现在给定一个长度为2N的“01”串,请用上述构造方法构造出一棵FBI树,并输出它的后序遍历序列。第一行是一个整数N(0≤N≤10),第二行是一个长度为2N的“01”串。
2024-05-05 18:41:20
420
原创 信息学奥赛一本通c++ 二叉树遍历(flist) 题解
int main(int argc, const char * argv[]){//int argc, const char * argv[]是标准主函数中的参数。树和二叉树基本上都有先序、中序、后序、按层遍历等遍历顺序,给定中序和其它一种遍历的序列就可以确定一棵二叉树的结构。两行,每行是由字母组成的字符串(一行的每个字符都是唯一的),分别表示二叉树的中序遍历和按层遍历的序列。假定一棵二叉树一个结点用一个字符描述,现在给出中序和按层遍历的字符串,求该树的先序遍历字符串。一行,表示二叉树的先序序列。
2024-05-04 13:39:48
967
原创 信息学奥赛一本通 c++ 1363:小球(drop)
【题目描述】许多的小球一个一个的从一棵满二叉树上掉下来组成FBT(Full Binary Tree,满二叉树),每一时间,一个正在下降的球第一个访问的是非叶子节点。然后继续下降时,或者走右子树,或者走左子树,直到访问到叶子节点。决定球运动方向的是每个节点的布尔值。最初,所有的节点都是false,当访问到一个节点时,如果这个节点是false,则这个球把它变成true,然后从左子树走,继续它的旅程。如果节点是true,则球也会改变它为false,而接下来从右子树走。
2024-05-02 14:54:31
423
原创 信息学奥赛一本通 1340:【例3-5】扩展二叉树
【题目描述】由于先序、中序和后序序列中的任一个都不能唯一确定一棵二叉树,所以对二叉树做如下处理,将二叉树的空结点用·补齐,如图所示。我们把这样处理后的二叉树称为原二叉树的扩展二叉树,扩展二叉树的先序和后序序列能唯一确定其二叉树。现给出扩展二叉树的先序序列,要求输出其中序和后序序列。【输入】扩展二叉树的先序序列。【输出】输出其中序和后序序列。【输入样例】【输出样例】DBFEGACDFGEBCA。
2024-05-02 10:52:10
263
原创 信息学奥赛一本通 c++ 1339:【例3-4】求后序遍历
【题目描述】输入一棵二叉树的先序和中序遍历序列,输出其后序遍历序列。【输入】共两行,第一行一个字符串,表示树的先序遍历,第二行一个字符串,表示树的中序遍历。树的结点一律用小写字母表示。【输出】一行,表示树的后序遍历序列。【输入样例】abdecdbeac【输出样例】debca。
2024-05-02 07:46:34
192
原创 信息学奥赛一本通 1338:【例3-3】医院设置
【题目描述】设有一棵二叉树(如下图),其中圈中的数字表示结点中居民的人口,圈边上数字表示结点编号。现在要求在某个结点上建立一个医院,使所有居民所走的路程之和为最小,同时约定,相邻结点之间的距离为11。就本图而言,若医院建在11处,则距离和;若医院建在33处,则距离和……【输入】第一行一个整数n𝑛,表示树的结点数(接下来的n𝑛行每行描述了一个结点的状况,包含三个整数,整数之间用空格(一个或多个)分隔,其中:第一个数为居民人口数;第二个数为左链接,为00表示无链接;
2024-05-01 10:47:26
313
1
原创 信息学奥赛一本通 【3.2】单词查找树题解
从根节点到某一节点,路径上经过的字母依次连起来所构成的字母序列,称为该节点对应的单词。单词列表中的每个词,都是该单词查找树某个节点所对应的单词;在进行文法分析的时候,通常需要检测一个单词是否在我们的单词列表里。一个单词列表,每一行仅包含一个单词。我们为了不枚举所有字符串找差异最小的,我们可以用 sort 来排序,使相邻两个字符串的差异最小。对一个确定的单词列表,请统计对应的单词查找树的节点数(包括根节点)该整数为单词列表对应的单词查找树的节点数。例:图一的单词列表对应图二的单词查找树。
2024-04-30 21:08:23
381
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人