社区讨论

求!助!

P3740[HAOI2014] 贴海报参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@m5quu06p
此快照首次捕获于
2025/01/10 22:30
去年
此快照最后确认于
2025/11/04 11:47
4 个月前
查看原帖
本人想了3毫秒后用STL做的,没做出来qaq,求条qwq
CPP
#include <bits/stdc++.h>
using namespace std;
vector<int> h;
struct sr
{
    int u,v,w;
} tmp;
vector<sr> l;
set<int> g;
vector<sr>::iterator it(int k)
{
    auto u = l.begin();
    for(int i = 1;i <= k;i++) u++;
    return u;
}
int main()
{
    int n,m;
    cin >> n >> m;
    int u,v,w;
    for(int i = 1;i <= m;i++)
    {
        cin >> u >> v;
        tmp.u = u;
        tmp.v = v;
        tmp.w = i;
        for(int j = 0;j < l.size();j++)
        {
            if(l[j].v >= tmp.u && l[j].v <= tmp.v && l[j].u <= tmp.u) l[j].v = tmp.u;
            if(l[j].u <= tmp.v && l[j].u >= tmp.u && l[j].v >= tmp.v) l[j].u = tmp.v;
            while(l[j].u >= l[j].v)
            {
                l.erase(it(j));
                j--;
            }
        }
        l.push_back(tmp);
    }
    for(int i = 0;i < l.size();i++)
    {
        g.insert(l[i].w);
    }
    cout << g.size();
    return 0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...