- 博客(22)
- 收藏
- 关注
原创 河南萌新联赛2024第(二)场:南阳理工学院
本次比赛,a,f,i三道题为签到题,直接做就行,其他题模拟的较多,本篇文章将着重补G,J,D,三题。
2024-07-25 09:43:52 325 3
原创 [2023年ICPC亚洲杭州地区赛] M题 M - V-Diagram
所给数据大小先减后增,我们可以先标记最小值,要确保答案也存在V图时,所以最后的平均值一定含有最小值相邻的两个数,在找平均值时,我们可以直接分为三个板块,全部数的最大值,最小数左边的平均值,以及最小数右边的平均值,(因为如果有一边的数足够大,另一边的数足够小,那么使得平均值最大的为数足够大的一边,但当两边数都相当大,数越多平均数就越大)将三者比较得出结论。给定一个 V 图 𝑎 ,找到一个 𝑏 具有最大可能平均值的 V 图,该 𝑏 图 是 的 𝑎 连续子序列。输出一个实数,表示最大可能的平均值。
2024-05-22 17:14:16 658
原创 2024ccpc--AM
题目要求得到n*k的数里有123456789和额外的d,我们可以直接构造123456789d,但要注意这不一定是n的倍数,所以我们就要考虑,在构造后的数的后面加上某数使其能够被n整除,并且不能改变构造的10位数,对于此题,我们可以将公式转化。利用二分答案,求出区间。
2024-05-18 09:37:29 787
原创 M - Painter
图形由上到下进行覆盖,每行根据所给范围将指定字符画出,用结构体记录每行的范围样式,范围大小,图案字符。当输入是圈和矩形外,再遍历全部数据,进行构图。默认最初图案为“.”。
2024-05-04 20:11:03 175
原创 L - Palm Island
思维打开,题目要求不超过n^2。我们根据自己知识储备,可以联想到这道题可以用冒泡排序来进行模拟,首先回顾冒泡排序,(从左到右,相邻元素进行比较。每次比较一轮,就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来)在回到这个题,我们可以将目标顺序的下标标记出来,利用下标来算得答案。
2024-05-04 19:46:29 1487
原创 B--- Memory
将每次相加结果用x表示,直接判断x,当x非0,根据符号直接输出,当x=0(可能是在x/2时被整除),进一步判断,这个时候我们可以再优化,对他的小数部分进行处理,依据小数的值进行输出。思维打开,这个题我们可以找到规律,他的和可以看作是s[n]=s[n-1]/2+a[n]公式来求;根据这道题的时间复杂度,也就意味着不能直接用暴力解决。
2024-05-04 18:10:06 252
原创 M 小H的糖果
小H很喜欢吃糖。有一天,小L给小H准备了一大串糖果,它们从前往后排成一行,每个糖果上都写有一个小写字母。由于单纯的吃糖显得太单调,于是小L制定了一个规则,小H只能选择一个糖果,然后依次吃掉它和它后面的所有糖果。吃掉的这串糖果的组成的字符串字典序越大,小H的满意度就越高。然而小H可不会这么轻易地就同意小L的规则,于是据理力争来了一个条件:可以任意选择恰好一个位置,将上面的糖果替换为写有任意一个小写字母的糖果(允许替换前后的糖果上的字母相同)。
2024-05-04 16:44:52 260
原创 洛谷 p1605 迷宫
2.递归公式:在地图中我们可以上下左右移动,但不走回头路,所以我们就用book[]数组来标记是否走过,首先判断移动后的位置是否是障碍物,以及是否走过,如果移动的位置可以走,就标记当前位置。对于 100%100% 的数据,1≤𝑁,𝑀≤51≤N,M≤5,1≤𝑇≤101≤T≤10,1≤𝑆𝑋,𝐹𝑋≤𝑛1≤SX,FX≤n,1≤𝑆𝑌,𝐹𝑌≤𝑚1≤SY,FY≤m。第二行为四个正整数 𝑆𝑋,𝑆𝑌,𝐹𝑋,𝐹𝑌SX,SY,FX,FY,𝑆𝑋,𝑆𝑌SX,SY 代表起点坐标,𝐹𝑋,𝐹𝑌FX,FY 代表终点坐标。
2024-04-24 20:12:57 872
原创 dfs ---解决全排列
三个数字,就代表有三个位置,我们用step来表示当前位置,用a[]数组来存放每次排列的顺序,在每一次排列过程中呢,用过的数字不可以在用,所以我们用book[]来标记数字有没有用过。在排序的过程中,首先我们的先判断当前的数有没有被用过,我们将book[]={0};也就是没有用过为0,用过的为1;通过思考,当step==4的时候,表示3个位置已经存放完了,此时遍历数组直接输出此次排列的结果。dfs 深度搜索,就是一条路走到黑,当走到头时,就返回上一步,看有没有别的路可走。举个例子,将1,2,3;
2024-04-24 18:48:41 300
原创 PTA L1--070吃火锅
以上图片来自微信朋友圈:这种天气你有什么破事打电话给我基本没用。但是如果你说“吃火锅”,那就厉害了,我们的故事就开始了。本题要求你实现一个程序,自动检查你朋友给你发来的信息里有没有。
2024-04-21 17:32:03 230
原创 PTA L1-046 整除光棍
这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s。
2024-04-21 09:27:37 433
原创 PTA L1--027 出租
一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2对应arr[2]=1index[1]=0对应arr[0]=8index[2]=3对应arr[3]=0,以此类推…… 很容易得到电话号码是。本题要求你编写一个程序,为任何一个电话号码生成这段代码 —— 事实上,只要生成最前面两行就可以了,后面内容是不变的。
2024-04-16 18:38:06 412
原创 P10177--似巨龙高歌
面对着自己向巨龙一样腾飞的成绩,新年到来时帆帆忍不住唱起了《爱你》。他今年一共有 n 次考试,第 i 次考试的排名是 ai。这在无形之中给别的同学造成了压力,于是他希望把自己的 n 次排名进行重排,使得进步最大的一次考试进步的名次最少,这样他就可以隐藏自己的实力。对于第 i 次和第 i+1 次考试(1≤i<n),他的进步名次即为 ai−ai+1,如果该值为负则代表他退步了。请你帮帮他。
2024-04-13 09:24:37 324
原创 PTA L1-020 帅到没朋友 c++
(≤1000),为朋友圈中的人数,然后列出一个朋友圈内的所有人——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;注意:没有朋友的人可以是根本没安装“朋友圈”,也可以是只有自己一个人在朋友圈的人。按输入的顺序输出那些帅到没朋友的人。ID间用1个空格分隔,行的首尾不得有多余空格。(≤10000),为待查询的人数;注意:同一个人可以被查询多次,但只输出一次。(≤100),是已知朋友圈的个数;超过1的朋友圈里都至少有2个不同的人。个待查询的ID,以空格分隔。
2024-04-10 16:22:32 325
原创 浙江理工大学2024年程序设计 A 春天到了
首先我们需要开两个数组,a[]存放序列a,b[]由数组a[]计算,用ans存放答案。对于每个查询,读取 l,r,k,根据序列 a 和查询参数进行动态规划计算,得到 dp[m][k] 的值。输出:对于每组测试数据,输出 q行,第 i(1≤i≤q)i行有一个整数,表示 dp[m][k]的值。
2024-04-07 21:04:57 308
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人