T449780 为啥骗不到35分
  • 板块题目总版
  • 楼主Muzzlex
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/7/25 18:08
  • 上次更新2024/7/25 19:22:45
查看原帖
T449780 为啥骗不到35分
464368
Muzzlex楼主2024/7/25 18:08
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int MOD= 998244353;
int n;
int l[2000094],r[2000094];

struct AA
{

    int l,r;

}t[3323213];
queue<AA > q;
signed main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>l[i]>>r[i];

        t[i]={l[i],r[i]};
    }
    int x=1,y=0;
    for(int i=1;i<=n;i++)
    {

        for(int j=x;j<=i;j++)
        {
            if(t[j].r==i||t[i].l==j)
            {

                y=i-1;
                q.push({x,y});
                x=i;
                break;
            }
        }
    }
    int ans=1;
    q.push({x,n});
    while(q.size())
    {


        AA tt=q.front();
        cout<<tt.l<<" "<<tt.r<<endl;
        q.pop();
        for(int i=1;i<=tt.r-tt.l;i++)
        {

            ans*=2;
            ans=ans%MOD;
        }
        ans=ans%MOD;
    }
    cout<<ans;

	return 0;
}

样例可以过

2024/7/25 18:08
加载中...