- 博客(35)
- 收藏
- 关注
原创 洛谷 P1433 吃奶酪
第 2 到第(n+1) 行,每行两个实数,第(i+1) 行的实数分别表示第 i 块奶酪的横纵坐标xi,yi。房间里放着 n 块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在 (0,0)点处。对于全部的测试点,保证 1≤n≤15,∣xi∣,∣yi∣≤200,小数点后最多有 2 位数字。输出一行一个实数,表示要跑的最少距离,保留 2 位小数。第一行有一个整数,表示奶酪的数量 n。
2024-08-09 21:52:44
567
原创 P1118 [USACO06FEB] Backward Digit Sums G/S
输出包括一行,为字典序最小的那个答案。共一行两个正整数 n,sum。当无解的时候,请什么也不输出。
2024-08-08 20:58:54
456
原创 Catch That Cow
Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a point K (0 ≤ K ≤ 100,000) on the same number line. Farmer John has two modes o
2024-08-07 22:03:29
361
原创 洛谷 P1162 填涂颜色
由数字 0 组成的方阵中,有一任意形状的由数字 1 构成的闭合圈。如果从某个 0 出发,只向上下左右 4 个方向移动且仅经过其他 0 的情况下,无法到达方阵的边界,就认为这个 0。接下来 nn 行,由 00 和 11 组成的n×n 的方阵。闭合圈不一定是环形的,可以是任意形状,但保证。每组测试数据第一行一个整数n(1≤n≤30)。方阵内只有一个闭合圈,圈内至少有一个 00。的 0 是连通的(两两之间可以相互到达)。对于100% 的数据,1≤n≤30。已经填好数字 2 的完整方阵。本题难点在于如何确定。
2024-08-06 16:08:04
324
原创 洛谷 P1219 [USACO1.5] 八皇后 Checker Challenge
一个如下的 6×6 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。前三行为前三个解,每个解的两个数字之间用一个空格隔开。第四行只有一个数字,表示解的总数。这只是棋子放置的一个解。请编一个程序找出所有棋子放置的解。这个问题的难点主要在于如何标记对角线,其余就是dfs。并把它们以上面的序列方法输出,解按字典顺序排列。一行一个正整数 nn,表示棋盘是n×n 大小的。请输出前 3 个解。最后一行是解的总个数。
2024-08-05 17:03:37
289
原创 洛谷 P1868 饥饿的奶牛
有 N 个区间,每个区间x,y 表示提供的x∼y 共y−x+1 堆优质牧草。你可以选择任意区间但不能有重复的部分。有一条奶牛冲出了围栏,来到了一处圣地(对于奶牛来说),上面用牛语写着一段文字。对于奶牛来说,自然是吃的越多越好,然而奶牛智商有限,现在请你帮助他。接下来 N 行,每行两个数x,y,描述一个区间。输出最多能吃到的牧草堆数。第一行一个整数 N。
2024-08-02 22:43:02
373
原创 蓝桥杯 分巧克力
例如一块 6×5 的巧克力可以切出 6 块 2×2 的巧克力或者 2 块 3×3 的巧克力。小明一共有 N 块巧克力,其中第 i 块是Hi×Wi 的方格组成的长方形。小明需要从这 N 块巧克力中切出 K 块巧克力分给小朋友们。以下 N 行每行包含两个整数Hi,Wi (1≤Hi,Wi≤10^5)。小明拿出了珍藏的巧克力招待小朋友们。当然小朋友们都希望得到的巧克力尽可能大,你能帮小明计算出最大的边长是多少么?输入保证每位小朋友至少能获得一块 1x1 的巧克力。输出切出的正方形巧克力最大可能的边长。
2024-08-02 16:22:28
501
原创 快排 谁在中间
给定奇数奶牛 N (1 <= N < 10,000) 和它们的产奶量 (1..1,000,000),求出给定的牛奶中位数,即至少一半的奶牛产奶量相同或更多,至少一半的奶牛产奶量相同或更少。FJ正在调查他的牛群,以找到最普通的奶牛。他想知道这头“中位数”奶牛产奶量:一半的奶牛产奶量等于或超过中位数奶牛;一半的人给予或多或少。* 第 2..N+1 行:每行包含一个整数,即一头奶牛的产奶量。* 第 1 行:一个整数,即牛奶输出量的中位数。* 第 1 行:单个整数 N。
2024-08-01 21:55:49
342
原创 蓝桥杯 寒假作业
现在小学的数学题目也不是那么好玩的。每个方块代表 1~13 中的某一个数字,但不能重复。(加法,乘法交换律后算不同的方案)你一共找到了多少种方案?
2024-07-31 15:50:06
317
原创 洛谷 P1093 [NOIP2007 普及组] 奖学金
先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排在前面,这样,每个学生的排序是唯一确定的。第 jj 行的 3 个数字依次表示学号为 j−1 的学生的语文、数学、英语的成绩。这两名同学的总分都是 279(总分等于输入的语文、数学、英语三科成绩之和) ,但学号为 7 的学生语文成绩更高一些。任务:先根据输入的 3 门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名名学生的学号和总分。NOIP2007 普及组 T1。
2024-07-31 11:34:49
435
原创 洛谷 P1052 [NOIP2005 提高组] 过河
由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:1,⋯,L(其中 LL 是桥的长度)。坐标为 0 的点表示桥的起点,坐标为 L 的点表示桥的终点。怎么办呢,因为M、s、t数据不是很大,我们可以把石头离散化,因为si,tj总有相遇的时候,最大不过就是s*t必相遇,超过这个距离我们就可以把石头压缩到这个距离就行了,这样最大距离就是9*10*100了.。题目给出独木桥的长度 LL,青蛙跳跃的距离范围 S,T,桥上石子的位置。,然后在确定自己本身有没有石头就行。
2024-07-31 10:48:26
1805
原创 洛谷 P1883 【模板】三分 | 函数
给定 n 个二次函数 f1(x),f2(x),…,fn(x)(均形如 ax2+bx+c),设 𝐹(𝑥)=F(x)=max{f1(x),f2(x),...,fn(x)},求 𝐹(𝑥)F(x) 在区间[0,1000] 上的最小值。每组数据第一行一个正整数 n,接着 n 行,每行 3 个整数a,b,c,用来表示每个二次函数的 3 个系数,注意二次函数有可能退化成一次。每组数据输出一行,表示 F(x) 的在区间[0,1000] 上的最小值。输入第一行为正整数 T,表示有 T 组数据。
2024-07-29 21:02:40
475
原创 洛谷 Balanced Lineup G P2880 模版
John 准备了q(1≤q≤1.8×10^5) 个可能的牛的选择和所有牛的身高hi(1≤hi≤10^6,1≤i≤n)。我们先说说暴力吧,很简单,每次查询,逐一比较,就可以得到答案,如果查询m次,比较n次,那么时间复杂度为O(mn)。再接下来 q 行,每行两个整数 a 和 b,表示询问第 a 头牛到第 b 头牛里的最高和最低的牛的身高差。对了,k的求法忘记说了,可以直接用log2(n),或者自己用数组模拟(快一点),具体代码不是很难。输出共 q 行,对于每一组询问,输出每一组中最高和最低的牛的身高差。
2024-07-29 20:41:41
2234
原创 洛谷 三分
如题,给出一个 𝑁N 次函数,保证在范围 [𝑙,𝑟][l,r] 内存在一点 𝑥x,使得 [𝑙,𝑥][l,x] 上单调增,[𝑥,𝑟][x,r] 上单调减。试求出 𝑥x 的值。输出为一行,包含一个实数,即为 𝑥x 的值。第一行一次包含一个正整数 𝑁N 和两个实数 𝑙,𝑟l,r,含义如题目描述所示。第二行包含 𝑁+1N+1 个实数,从高到低依次表示该 𝑁N 次函数各项的系数。本题可能存在严重精度问题,部分数据下难以通过。本题数据较水,仅供参考。
2024-07-27 22:35:52
310
原创 洛谷 国旗计划
现在,国十安全局局长希望知道,至少需要多少名边防战士,才能使得他们的奔袭区间覆盖全部的边境线,从而顺利地完成国旗计划。不仅如此,安全局局长还希望知道更详细的信息:对于每一名边防战士,在他必须参加国旗计划的前提下,至少需要多少名边防战士才能覆盖全部边境线,从而顺利地完成国旗计划。其中第 i 行包含的两个正整数 Ci、Di 分别表示 i 号边防战士常驻的两个边防站编号,Ci 号边防站沿顺时针方向至 Di 号边防站力他的奔袭区间。第一行,包含两个正整数 N,M,分别表示边防战士数量和边防站数量。
2024-07-27 20:10:18
797
原创 洛谷 进阶的奶牛
他的 C(2≤C≤N)头牛不满于隔间的位置分布,它们为牛棚里其他的牛的存在而愤怒。为了防止牛之间的互相打斗,Farmer John 想把这些牛安置在指定的隔间,所有牛中相邻两头的最近距离越大越好。Farmer John 建造了一个有 N(2≤N≤105) 个隔间的牛棚,这些隔间分布在一条直线上,坐标是 x1,x2,⋯,xN(0≤xi≤109)。缩小还是扩大了,我想的是利用cnt记录有几头牛是否满足它们之间的距离,最后判断cnt>=c就知道缩小还是扩大了。输出只有一行,即相邻两头牛最大的最近距离。
2024-07-26 22:45:48
413
原创 洛谷 聪明的质检员
接下来的 𝑚m 行,表示区间,每行两个整数,中间用空格隔开,第i+n+1 行表示区间 [li,ri] 的两个端点 li 和 ri。这批矿产共有 n 个矿石,从 1 到 n 逐一编号,每个矿石都有自己的重量 wi 以及价值 vi。不想费时间去检验另一批矿产,所以他想通过调整参数 W 的值,让检验结果尽可能的靠近标准值 s,即使得 ∣s−y∣ 最小。接下来的 n 行,每行两个整数,中间用空格隔开,第i+1 行表示 i 号矿石的重量 wi 和价值 vi。一个整数,表示所求的最小值。
2024-07-26 22:26:22
434
原创 洛谷 寻找段落
给定一个长度为 n 的序列 a,定义 ai 为第 i 个元素的价值。现在需要找出序列中最有价值的“段落”。段落的定义是长度在[S,T] 之间的连续序列。最有价值段落是指平均值最大的段落。第二行两个整数 S 和 T,表示段落长度的范围,在[S,T] 之间。第三行到第n+2 行,每行一个整数表示每个元素的价值指数。一个实数,保留3 位小数,表示最优段落的平均值。第一行一个整数 n,表示序列长度。
2024-07-25 15:44:07
176
原创 洛谷 模板 单源最短路径(标准版)
第一行为三个正整数 n,m,s。第二行起 m 行,每行三个非负整数 ui,vi,wi,表示从ui 到 vi 有一条权值为 wi 的有向边。给定一个 n 个点,m 条有向边的带非负权图,请你计算从 s 出发,到每个点的距离。输出一行 n 个空格分隔的非负整数,表示 s 到每个点的距离。一题里非常熟练地使用了一个广为人知的算法求最短路。2018 年 7 月 19 日,某位同学在。最终,他因此没能与理想的大学达成契约。数据保证你能从 s 出发到任意点。时间复杂度O(n*m)
2024-07-24 16:19:10
702
原创 洛谷 新二叉树
后面 𝑛n 行,每一个字母为节点,后两个字母分别为其左右儿子。特别地,数据保证第一行读入的节点必为根节点。第一行为二叉树的节点数 𝑛n。输入一串二叉树,输出其前序遍历。
2024-07-23 22:50:27
240
原创 Subsequence
给出了 N 个正整数 (10 < N < 100 000) 的序列,每个正整数小于或等于 10000,以及一个正整数 S (S < 100 000 000)。编写一个程序以查找序列中连续元素的子序列的最小长度,其总和大于或等于 S。Input第一行是测试用例的数量。对于每个测试用例,程序必须从第一行读取数字 N 和 S,以间隔分隔。序列的编号在测试用例的第二行中给出,用间隔分隔。输入将以文件末尾结束。Output对于每种情况,程序都必须在输出文件的单独行上打印结果。如果没有答案,则打印 0。
2024-07-23 22:29:10
249
原创 洛谷 p1030
给出一棵二叉树的中序与后序排列。(约定树结点用不同的大写字母表示,且二叉树的节点个数 ≤8≤8)。共两行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。共一行一个字符串,表示一棵二叉树的先序。
2024-07-22 22:45:49
198
原创 洛谷 单调栈
即 𝑓(𝑖)=min𝑖𝑎𝑖{𝑗}f(i)=miniai{j}。若不存在,则 𝑓(𝑖)=0f(i)=0。对于 100%100% 的数据,1≤𝑛≤3×1061≤n≤3×106,1≤𝑎𝑖≤1091≤ai≤109。一行 𝑛n 个整数表示 𝑓(1),𝑓(2),…,𝑓(𝑛)f(1),f(2),…定义函数 𝑓(𝑖)f(i) 代表数列中第 𝑖i 个元素之后第一个大于 𝑎𝑖ai 的元素的。对于 60%60% 的数据,𝑛≤5×103n≤5×103;第二行 𝑛n 个正整数 𝑎1…
2024-07-21 21:17:21
298
原创 洛谷 扫描
一开始木板盖住了矩阵的第 1∼𝑘1∼k 个数,每次将木板向右移动一个单位,直到右端与第 𝑛n 个数重合。第一行两个整数 𝑛,𝑘n,k,表示共有 𝑛n 个数,木板可以盖住 𝑘k 个数。第 𝑖i 行表示第 𝑖∼𝑖+𝑘−1i∼i+k−1 个数中最大值是多少。对于 20%20% 的数据,1≤𝑘≤𝑛≤1031≤k≤n≤103。对于 50%50% 的数据,1≤𝑘≤𝑛≤1041≤k≤n≤104。有一个 1×𝑛1×n 的矩阵,有 𝑛n 个整数。共 𝑛−𝑘+1n−k+1 行,每行一个整数。
2024-07-21 11:28:29
339
原创 洛谷 机器翻译
对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。每当软件将一个新单词存入内存前,如果当前内存中已存入的单词数不超过 𝑀−1M−1,软件会将新单词存入一个未使用的内存单元;若内存中已存入 𝑀M 个单词,软件会清空最早进入内存的那个单词,腾出单元来,存放新单词。文章中两个单词是同一个单词,当且仅当它们对应的非负整数相同。
2024-07-21 08:56:35
656
原创 洛谷 队列安排
第 2∼𝑁2∼N 行,第 𝑖i 行包含两个整数 k,p,其中 k 为小于 i 的正整数,p 为 0 或者 1。若 p 为 0,则表示将 i 号同学插入到 𝑘 号同学的左边,𝑝为 1 则表示插入到右边。2∼N 号同学依次入列,编号为 𝑖 的同学入列方式为:老师指定编号为 𝑖 的同学站在编号为 1∼(i−1) 中某位同学(即之前已经入列的同学)的左边或右边;接下来 𝑀M 行,每行一个正整数 𝑥x,表示将 𝑥x 号同学从队列中移去,如果 𝑥x 号同学已经不在队列中则忽略这一条指令。
2024-07-20 16:52:37
270
原创 洛谷 求m区间内的最小值
一个含有 𝑛n 项的数列,求出每一项前的 𝑚m 个数到它这个区间内的最小值。若前面的数不足 𝑚m 项则从第 11 个数开始,若前面没有数则输出 00。𝑛n 行,每行一个整数,第 𝑖i 个数为序列中 𝑎𝑖ai 之前 𝑚m 个数的最小值。如何构建:首先创造一个普通数组,接收元素,在创建一个结构体数组。个元素组成的单调递增序列以及他们的位置,不满足的直接舍弃。第二行,𝑛n 个正整数,为所给定的数列 𝑎𝑖ai。第一行两个整数,分别表示 𝑛,𝑚。构造一个单调递增序列。每次读入一个数据,即。3.舍弃不满足的元素。
2024-07-20 11:35:18
458
原创 头歌-查找的实现及其应用
本关任务:实现顺序查找。为了完成本关任务,你需要掌握:1.静态查找表的类型定义,2.顺序查找。静态查找表的类型定义 顺序查找算法思想:从表的一端(第一个或最后一个)开始,逐个进行比较。 适用:顺序表、链表、有序表、无序表均可。在右侧编辑器中补充代码,完成函数,以实现顺序查找。具体要求如下:可在右侧文件夹中查看文件,以便于你的操作。平台会对你编写的代码进行测试。输入说明: 第一行输入若干记录的关键字,以-1标志结束。 第二行输入待查找的关键字。 输出说明:
2024-06-14 22:38:39
1608
原创 c语言static注意事项
/这种赋值方法是错误的,因为 n是变量。原因:因为在C语言中,静态变量只能使用常量进行初始化。以下是我在编写猴子吃桃问题所遇到的问题。
2023-12-12 17:35:55
516
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人