結果
問題 |
No.3172 三角関数べき乗のフーリエ級数展開
|
ユーザー |
|
提出日時 | 2025-06-07 19:50:01 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 27 ms / 2,000 ms |
コード長 | 1,659 bytes |
コンパイル時間 | 2,250 ms |
コンパイル使用メモリ | 196,024 KB |
実行使用メモリ | 7,844 KB |
最終ジャッジ日時 | 2025-06-07 19:50:05 |
合計ジャッジ時間 | 3,507 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 15 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define vi vector<ll> #define vii vector<pair<ll, ll>> #define ii pair<ll, ll> #define vll vector<long long int> using ll = long long int; #define pb push_back #define ss second #define ff first #define fl(i, n) for (ll i = 0; i < n; i++) #define fl1(i, n) for (ll i = 1; i < n; i++) #define flc(a, b) for (ll i = a; i <= b; i++) #define flr(a, b) for (ll i = a; i >= b; i--) #define nl "\n" #define br cout << "\n"; #define all(a) a.begin(), a.end() #define rall(a) a.rbegin(), a.rend() // #define mod 998244353 #define inf 1e15 void print(vector<ll> &v) { for (auto x : v) cout << x << " "; cout << endl; } ll binExponentiation(ll a, ll b,ll mod) { a %= mod; ll result = 1; while (b) { if (b & 1) result = (result * 1ll * a) % mod; a = (a * 1ll * a) % mod; b >>= 1; } return result; } void solve(){ ll n ; cin >> n; ll t = n+1,nn = n-1; ll mod = 998244353; // 998244353 ll a = n, b = 1; vi v; v.pb(2); while(nn>0){ v.pb((((v.back()*a)%mod)*binExponentiation(b,mod-2,mod))%mod); a--,b++; nn-=2; } // v.pop() if(!(n&1)) v[v.size()-1] = (v.back()*binExponentiation(2,mod-2,mod))%mod; reverse(all(v)); //print(v); if(n&1) cout <<0 <<" "; for(ll i = 0 ; i<v.size()-1 ; i++ ){ cout << v[i] << " 0 "; } cout << v.back()<<nl; } int main() { // ios_base::sync_with_stdio(false); // cin.tie(nullptr); int t=1; // cin >> t; for (int i = 0; i < t; i++) { solve(); } return 0; }