昨天 T3 的一组 hack
  • 板块灌水区
  • 楼主wxzzzz
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/8/19 07:57
  • 上次更新2024/8/19 10:58:32
查看原帖
昨天 T3 的一组 hack
749630
wxzzzz楼主2024/8/19 07:57

怀疑自己复杂度的可以来试一试。

#include <bits/stdc++.h>
#define ll long long
#define ull unsigned ll
#define rll register ll
#define cll const ll
#define N 20000005
#define MOD 1000000007
using namespace std;
inline ll read()
{
    rll x=0;bool f=1;register char c=getchar();
    while(c<48||c>57){if(c=='-') f=0;c=getchar();}
    while(c>=48&&c<=57){x=x*10+(c^48);c=getchar();}
    return f?x:-x;
}
inline void write(ll x)
{
    if(x<0) putchar('-'),x=-x;
    if(x>9) write(x/10);
    putchar(x%10+48);
}
mt19937 rd(time(0));
ll n=1e5,m=1e5;
int main()
{
	freopen("data.in","w",stdout);
	cout << n << ' ' << m << '\n';
	for(rll i=1,k,op;i<=n;i++)
	{
		k=rd()%(ll)1e9;
		op=rd()%2;
		if(op) k*=-1;
		cout << /*k*/-1 << ' ';
	}
	cout << '\n';
	while(m--)
	{
		cll op=rd()%4+1;
		cout << op << ' ';
		if(op==1||op==2)
		{
			rll l=rd()%n+1,r=rd()%n+1;
			if(l>r) swap(l,r);
			cout << l << ' ' << r << '\n';
		}
		else if(op==3)
		{
			rll l=rd()%n+1,r=rd()%n+1,k,tp=rd()%2;
			if(l>r) swap(l,r);
			if(!tp) k=rd()%5+1;
			else k=rd()%(ll)1e9+1;
			tp=rd()%2;
			if(tp) k*=-1;
			cout << l << ' ' << r << ' ' << /*k*/2 << '\n';
		}
		else
		{
			rll x=rd()%n+1,k=rd()%(ll)1e9+1,tp;
			tp=rd()%2;
			if(tp) k*=-1;
			cout << x << ' ' << /*k*/-1 << '\n';
		}
	}
    return 0;
}
2024/8/19 07:57
加载中...