这个是我考场的思路,有点小问题,但不大。(能A)
upd:好像被卡了……大家图个乐子吧,太久也懒得改了。
Solution
这道题目我们可以先把一块的缩成一个点,比如说 1 1 1 0 01\ 1\ 1\ 0\ 01 1 1 0 0,我们可以用两个数组表示,一个是 1 01\ 01 0,另一个是 3 23\ 23 2,还要记录以下头和尾,方便输出。
然后我们就用两个数组,一个指向上一块,一个指向下一块。
每次都将每个区间减去 111,在判断一下是否还有水果,如果没有,就将他的上一位指向他的下一位,让他的下一位指向他的上一位,输出就把他的头输出就可以了,头记得加 111。
Code
#include<bits/stdc++.h>
using namespace std;
int n,a[200005],m,t[200005

博主分享了考场上的解决方案,通过数组和指针技巧高效管理水果分配问题。展示了如何用两个数组表示不同区域的水果,并通过迭代更新来输出结果。
最低0.47元/天 解锁文章
1126

被折叠的 条评论
为什么被折叠?



