题解 CF220A 【Little Elephant and Problem】

这里讲一个双端队列和小根堆配合的解法,不需要sort,但思路与其他题解类似

两个队列,一个是双端队列,另一个小根堆

小根堆升序排序,双端队列储存

最后看看不一样的数据有几个

代码:

#include <iostream>
#include <queue>
using namespace std;

priority_queue<int, vector<int>, less<int> > que;

deque<int> a;

int main()
{
    ios::sync_with_stdio(false);
    int n;
    cin >> n;
    for(register int i = 1; i <= n; i++)
    {
        int x;
        cin >> x;
        a.push_back(x);
        que.push(x);
    }
    int cnt = 0;
    while(!a.empty())
    {
        if(que.top() != a.back())
        {
            cnt++;
        }
        que.pop();
        a.pop_back();
    }
    cout << (cnt == 0 || cnt == 2 ? "YES" : "NO") << endl;
    return 0;
}

2.09s

AC:https://www.luogu.com.cn/record/42283992

posted @   HappyBobb  阅读(2)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示