QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#458301#8834. Formal Fringucup-team3586#WA 1ms7788kbC++231.4kb2024-06-29 16:36:392024-06-29 16:36:39

Judging History

你现在查看的是最新测评结果

  • [2024-06-29 16:36:39]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:7788kb
  • [2024-06-29 16:36:39]
  • 提交

answer

//Author: Kevin
#include<bits/stdc++.h>
//#pragma GCC optimize("O2")
using namespace std;
#define ll long long
#define ull unsigned ll
#define pb emplace_back
#define mp make_pair
#define ALL(x) (x).begin(),(x).end()
#define rALL(x) (x).rbegin(),(x).rend()
#define srt(x) sort(ALL(x))
#define rev(x) reverse(ALL(x))
#define rsrt(x) sort(rALL(x))
#define sz(x) (int)(x.size())
#define inf 0x3f3f3f3f
#define pii pair<int,int>
#define lb(v,x) (int)(lower_bound(ALL(v),x)-v.begin())
#define ub(v,x) (int)(upper_bound(ALL(v),x)-v.begin())
#define uni(v) v.resize(unique(ALL(v))-v.begin())
#define longer __int128_t
void die(string S){puts(S.c_str());exit(0);}
const ll mod=998244353;
ll f[1001000];
ll s[1001000];
ll ans[1001000];
int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int n;
	cin>>n;
	f[0]=s[0]=1;
	for(int i=1;i<=n;i++)
	{
		f[i]=s[i/2];
		s[i]=s[i-1]+f[i];
		s[i]%=mod;
	}
	for(int i=1;i<=n;i++)
	{
		if(i==1)
		{
			cout<<"1 ";
			continue;
		}
		int x=__lg(i);
		x=1<<x;
		int tt=i-x;
		int ox=1;
		int val=1;
		int tmp=i;
		tmp^=x;
		while(true)
		{
			if(x==1) break;
			x>>=1;
			if((tmp&x)==x)
			{
				val=val*2+1;
				ox<<=1;
				tmp^=x;
			}
			else break;
		}
		cout<<(f[val]*f[tmp]+f[tt]-f[val^ox]*f[tmp]%mod+mod)%mod<<' ';
	}
	return 0;
}
/*
6
1 1 1 1 1 1
1 1 1 1 2
1 1 2 2
2 2 2
1 1 4
2 4
*/

詳細信息

Test #1:

score: 100
Accepted
time: 1ms
memory: 7756kb

input:

10

output:

1 1 2 1 1 3 6 1 1 2 

result:

ok 10 numbers

Test #2:

score: -100
Wrong Answer
time: 1ms
memory: 7788kb

input:

70

output:

1 1 2 1 1 3 6 1 1 2 2 5 5 10 26 1 1 2 2 4 4 6 6 11 11 16 16 24 24 46 166 1 1 2 2 4 4 6 6 10 10 14 14 20 20 26 26 37 37 48 48 64 64 80 80 98 98 122 122 160 160 306 1626 1 1 2 2 4 4 6 

result:

wrong answer 14th numbers differ - expected: '11', found: '10'