- 博客(52)
- 收藏
- 关注
原创 zyh贪心类题目补题报告
小 A 有 n 个糖果盒,第 i 个盒中有 ai 颗糖果。小 A 每次可以从其中一盒糖果中吃掉一颗,他想知道,要让任意两个相邻的盒子中糖的个数之和都不大于 x,至少得吃掉几颗糖。输入的第一行是两个用空格隔开的整数,代表糖果盒的个数 n 和给定的参数 x。第二行有 n 个用空格隔开的整数,第 i 个整数代表第 i 盒糖的糖果个数 ai。输出一行一个整数,代表最少要吃掉的糖果的数量。输入 #13 32 2 2输出 #11输入 #26 11 6 1 2 0 4输出 #211输入
2025-08-06 00:02:33
1064
原创 高能数组(再次TLE)
时间限制:1秒 内存限制:128M小可获得了一个高能数组,数组中每一个元素都有两种状态,一种是高能状态,一种是低能状态。数组上任意一对处于高能状态的无序点对(即 (x,y)(x,y) 和 (y,x)(y,x) 是同一对)都会产生 e(x,y)e(x,y) 的能量。e(x,y)e(x,y) 表示数组中元素 xx 到元素 yy 的距离。我们定义整个数组的高能能量为所有处于高能状态的元素产生的能量之和。
2025-08-02 11:09:10
172
原创 让小可睡一个好觉(TLE了)
时间限制:1秒 内存限制:128M题目描述小可最近太累了,昨天晚上为了写代码,小可睡觉的时间非常晚。恰好第二天是周六,小可打算好好睡一个懒觉,实现自己一个小小的愿望,睡觉睡到自然醒!为了实现这个愿望,小可肯定不可以被闹钟吵醒!小可平时为了让自己早起学习,会定n个闹钟,如果长度为m的一段时间内,有K个及以上的闹铃响了,那么小可就会被吵醒,现在请你帮助一下小可,最少关掉多少个闹铃,小可不会被吵醒。输入描述输入第一行为n,m,k,含义如题所示。第二行为每个铃响的时间aiai。输出描述输出最少关
2025-08-01 22:28:32
206
原创 滑动最小值
有一个序列,共有n个数字,请你求出以每个数字开始的长度为k的区间中的最小值。输出题面描述的答案,如果i>n-k,则无法查找到最小值,不进行输出。时间限制:1秒 内存限制:128M。100%的数据,n<1000000。第一行包含两个整数,n和k。30%的数据:n<1000。然后输入n个正整数。
2025-08-01 11:04:45
219
原创 字符串去重
给定一个仅由小写字母构成的字符串s,现在小可想将里面每个重复的字母删除到只有1个,并且不想改变字符串s的原有顺序。请你找到字典序最小的删除方式。时间限制:1秒 内存限制:128M。输出得到的字典序最小的字符串。假定字符串s的长度为len。
2025-08-01 10:14:32
181
原创 加强栈补题报告
数组 存i点(这里的i不是数列中的顺序,而是实际读入的顺序,下同,具体见代码)的最大前缀和,这样就可以直接查询。加强栈一道很普通的题,其实跟luogu的 P2201 数列编辑器一样,只不过一个判断字符,一个是判。数组 记录一下每个数在数列中的编号(不是实际的编号,有点类似hash的样子)100%的数据下:1≤N≤2000001≤N≤200000,数据保证合法。小可觉得普通的栈过于普通,功能过于简单,所有人都会这个栈。对于需要进行输出的操作,打印其值,每个打印占一行。数组 存i点的前缀和,方便更新。
2025-07-31 23:05:45
378
原创 功能强大编辑器
表示光标之前的序列为a_1,a_2,a_3a1,a2,a3…a_kak,输出max_{1\leq i \leq k}S_imax1≤i≤kSi,其中S_i=a_1+a_2+..+a_iSi=a1+a2+..+ai。编辑器依旧运行在Linux下,因此你只能通过指令去操控他。100%的数据,Q不超过1000000,且x不超过1000。输入第一行包含一个整数Q,表示指令数量。表示在光标左侧插入一个数字。然后输入Q行,表示Q个指令。表示光标向左移动一下。
2025-07-31 10:47:47
250
原创 xk写文章
小可的文艺气息非常浓重,平时的他总喜欢写一些文章。但是苦于没有一个合适的编辑器。编辑器是运行在Linux命令行下的,因此只能通过指定的指令进行操作。现在小可打算自己动手制作一个文本编辑器用来高效的看文章和写文章。本题我采用的是定义两个栈,采用对顶栈的方式完成此题。时间限制:1秒 内存限制:128M。100%的数据下:N不超过100000。第一行一个整数N,表示有N个操作。30%的数据下:N不超过1000。然后输入N行,表示N个操作。第一行为光标之前的内容。第二行为光标之后的内容。
2025-07-31 09:45:18
122
原创 赵义弘-----补题报告
1.冒泡排序(稳定的排序)时间复杂度通常为O(n^2)代码实现如下作用1、将n个元素从小到大或从大到小排序2、逆序对的个数(需要交换的次数)过程它的工作原理是每次检查相邻两个元素,如果前面的元素与后面的元素满足给定的排序条件,就将相邻两个元素交换。当没有相邻的元素需要交换时,排序就完成了。经过 次扫描后,数列的末尾 项必然是最大的 项,因此冒泡排序最多需要扫描 遍数组就能完成排序。性质冒泡排序是一种稳定的排序算法以上是对冒泡排序更为详细的介绍,可供参考。
2025-07-30 22:34:30
1156
原创 is开通的函数用法
isalnum()用来判断一个字符是否为数字或者字母,也就是说判断一个字符是否属于a~ z||A~ Z||0~9。islower()用来判断一个字符是否为小写字母,也就是是否属于a~z。isupper()和islower相反,用来判断一个字符是否为大写字母。isdigit() 用来检测一个字符是否是十进制数字0-9。isalpha()用来判断一个字符是否为字母。
2025-07-27 23:25:15
112
原创 CSP-J复赛模拟赛3————赵义弘补题报告
T1:100T2:40T3:50T4:30T1:100T2:40T3和T4我都直接骗的样例,但逝没拿分,所以就不放出来了因为这道题太水了(bushi),所以我就直接放代码了 多说无益(其实是蒟蒻我嫌写的太麻烦了)你需要找到一个点对 𝑢,𝑣(𝑢≠𝑣) 使得 𝑑𝑖𝑠(1,𝑢),𝑑𝑖𝑠(1,𝑣)>𝑥且 𝑑𝑖𝑠(𝑢,𝑣)最大,你不需要告诉小 C 具体的 𝑢,𝑣,对于每组询问只需要输出最大的 𝑑𝑖𝑠(𝑢,𝑣).(补:定义 𝑑
2024-07-25 10:35:06
1071
原创 CSP-J复赛模拟赛2————赵义弘补题报告
仔细一看后我发现199/299约等于三分之二,也就是输入样例的第一行,至于输入样例的第二行则是输出样例的两个数所在的区间范围,那了解样例后的蒟蒻我就是无敌的。再听完老师对这道题目的细致讲解后,我应该理解了(但是我的代码还没有改完,所以放的是60分的代码,可恶的TLE)一定要注意要把dp这个数组初始化一下,否则就会直接输出0。毕竟失败乃成功他娘,错误代码也是要放出来的。加上那个dp[i][0]=1,就能过了。自信的蒟蒻寄了(只有60分)废话不多说,直接上代码。自信的蒟蒻提交了代码。
2024-07-23 19:59:54
1179
4
原创 约定(模拟赛2 T3)
小A非常地难过,小A希望能成为天下第一的高手来拯救世界,于是他决定来到著名的X城,他遇到了许多新事物和前所未有的挑战,背井离乡的日子难免有忧伤和孤单,不过幸运的是小A结识了志同道合的小雪,因为彼此的存在他们不再孤单。我们现在可以把这 𝑛n 张牌随意排列,每两个相邻的数之间都有着大小关系,这样每种排列都会有 𝑛−1n−1 个关系,我们把前一个数小于后一个数这种关系称为“有效关系”,而如果说一种排列恰好有 𝑘k 个“有效关系”,那么摆出这样的排列就能提供 11 点灵力值,同一种排列只会提供一次灵力值。
2024-07-23 14:05:54
269
原创 寻找“五维空间”(模拟赛2 T2)
这时一旁的小C说:“我觉得密码就是找一个最小的分子分母都属于第二行的数字区间的最简真分数,使得它与第一行左边给定的分数最接近,不能和原来的分数一样。听说在五维空间里,所有的事都有美好的结局呢。那时的小A生活在四面环山的小城M城,他便猜想五维空间就在自己所生活的M城周围的山上,于是他便叫来了他的好友小C一起去山洞探险。在山洞里,他们发现了一块石头,第一行刻着一个由约等号连接的公式,左边是一个最简真分数(分子和分母的最大公约数是11),右边是一个问号,第二行有两个数,第一个数字为11,是一个数字区间。
2024-07-23 13:26:45
400
原创 P8655 [蓝桥杯 2017 国 B] 发现环
是不是很像最小生成树里面的 Kurskal 算法?其实 Kruskal 的原理就是用并查集来判断两点是否联通,不连通就连一条边。和找环其实是一样的。所以当我们发现原本就相连的点又要再连一次就知道出现了环。题目就是要你在树上找环。那么我们想,怎么知道出现了环?首先明确一点,在一棵树上,
2024-01-27 14:30:31
828
原创 Nearest Beautiful Number (easy version)
刚开始的时候k=1的时候很简单,就直接模拟就可以了,但是当k=2的时候,刚开始我也想直接模拟,可是发现总会少考虑情况,最后看了题解发现我们可以把所有的1-beautiful数和2-beautiful都直接预处理出来,存起来。举个例子 比如 177890 2,得到的最小的2-beautiful是181111.给你两个数n,k,让你找到大于等于n的最小的k-beautiful数。k-beautiful数就是数字的种类数小于等于k的数。n的范围是1<=n<=1e9.k的范围是1<=k<=2.
2023-12-31 14:09:49
672
原创 B3644:拓补排序-----家谱树
有个人的家族很大,辈分关系很混乱,请你帮整理一下这种关系。给出每个人的孩子的信息。输出一个序列,使得每个人的后辈都比那个人后列出。第1行一个整数N(1≤N≤100),表示家族的人数;接下来N行,第I行描述第I个人的儿子;每行最后是0表示描述完毕。输出一个序列,使得每个人的后辈都比那个人后列出;如果有多解输出字典序最小的解。算法,书上用栈结构我觉得没必要,用数组v记录下已经选出的点就行了。时间限制:1秒 内存限制:128M。
2023-12-03 14:31:30
597
原创 拓补排序-----是否合法
但是,有些人并不那么诚实,他们有非法关系。而拓扑排序正好能够很轻松的判断出一个连通图里是否有环,因为拓扑排序是基于一个没有环的联通图中进行,所以能够成功的排序,则输出YES,反之输出NO。这道题建图可以用邻接表,根据数据量大小来看,邻接矩阵也是没问题的,时间比邻接表稍慢,我先用邻接矩阵写,调了N个小时,一直在错,懒狗的我决定不写啦在这里就先不放出邻接矩阵的代吗了。为简单起见,我们给每个人一个数字(0,1,2,...,N-1)。然后是M行,每行包含一对(x,y),这意味着x是y的师傅,而y是x的徒弟。
2023-12-03 14:19:33
379
原创 p1908逆序对
对于给定的一段正整数序列,逆序对就是序列中 �<�i<j 且��>��ai>aj 的有序对 ,求一序列中有多少个逆序对。第一行:输入一个数 n ,表示序列有多少个数字。第二行:输入 n 个数字��ai。数据保证序列中的数字互不相同。输出序列中逆序对的数目。
2023-10-29 16:03:17
163
原创 石子合并<1>
cin>>n;i<=n;i++){cin>>a[i];len<=n;len++){i+len-1<=n;i++){k<=j-1;k++){return 0;
2023-05-27 17:42:18
93
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅