QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#458301 | #8834. Formal Fring | ucup-team3586# | WA | 1ms | 7788kb | C++23 | 1.4kb | 2024-06-29 16:36:39 | 2024-06-29 16:36:39 |
Judging History
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'