QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#90896 | #5746. DAG Generation | Mr_Eight | AC ✓ | 45ms | 4164kb | C++14 | 2.6kb | 2023-03-26 02:24:45 | 2023-03-26 02:24:46 |
Judging History
answer
//#include <bits/stdc++.h>
#include <iostream>
#include <iomanip>
#include <cmath>
#include <algorithm>
#include <climits>
#include <functional>
#include <cstring>
#include <string>
#include <cstdlib>
#include <ctime>
#include <cstdio>
#include <vector>
#include <stack>
#include <queue>
#include <deque>
#include <map>
#include <set>
#include <bitset>
#include <complex>
#include <random>
//#include <ext/pb_ds/assoc_container.hpp>
//#include <ext/pb_ds/priority_queue.hpp>
#define itn int
#define nit int
#define ll long long
#define ms multiset
#define F(i,a,b) for(int i=a,i##end=b;i<=i##end;++i)
#define UF(i,a,b) for(int i=a,i##end=b;i>=i##end;--i)
#define re register
#define ri re int
#define il inline
#define pii pair<int,int>
#define cp complex<double>
#define vi vector<int>
#define ull unsigned long long
#define mem0(x) memset(x,0,sizeof(x))
#define mem0x3f(x) memset(x,0x3f,sizeof(x))
using namespace std;
//using namespace __gnu_pbds;
const double Pi=acos(-1);
namespace fastIO {
template<class T>
inline void read(T &x) {
x=0;
bool fu=0;
char ch=0;
while(ch>'9'||ch<'0') {
ch=getchar();
if(ch=='-')fu=1;
}
while(ch<='9'&&ch>='0') x=(x*10-48+ch),ch=getchar();
if(fu)x=-x;
}
inline int read() {
int x=0;
bool fu=0;
char ch=0;
while(ch>'9'||ch<'0') {
ch=getchar();
if(ch=='-')fu=1;
}
while(ch<='9'&&ch>='0') x=(x*10-48+ch),ch=getchar();
return fu?-x:x;
}
template<class T,class... Args>
inline void read(T& t,Args&... args) {
read(t);
read(args...);
}
char _n_u_m_[40];
template<class T>
inline void write(T x) {
if(x==0){
putchar('0');
return;
}
T tmp = x > 0 ? x : -x ;
if( x < 0 ) putchar('-') ;
int cnt = 0 ;
while( tmp > 0 ) {
_n_u_m_[ cnt ++ ] = tmp % 10 + '0' ;
tmp /= 10 ;
}
while( cnt > 0 ) putchar(_n_u_m_[ -- cnt ]) ;
}
template<class T>
inline void write(T x ,char ch) {
write(x);
putchar(ch);
}
}
using namespace fastIO;
#define mod 1000000009
inline long long pw(long long x,long long p){
long long res=1;
for(;p;p>>=1,x=x*x%mod)
if(p&1)res=res*x%mod;
return res;
}
inline long long getm(long long top,long long bot) {
return (top*pw(bot,mod-2))%mod;
}
int s[100002],n,fac[100002];
int main() {//F(i,0,1000)F(j,0,1000)if(getm(i,j)==822916675)cerr<<i<<" "<<j<<endl,exit(0);
n=1e5;fac[0]=s[0]=1;
F(i,1,n)s[i]=1ll*s[i-1]*(pw(2,i)-1)%mod,fac[i]=1ll*fac[i-1]*i%mod;//cerr<<s[3]<<endl;
F(asdf,1,read()){
read(n);
write((mod+1-getm(s[n],pw(2,1ll*n*(n-1))*fac[n]%(mod)))%mod,'\n');
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 7ms
memory: 4096kb
input:
4 1 2 3 100
output:
0 375000004 117187502 778748905
result:
ok 4 number(s): "0 375000004 117187502 778748905"
Test #2:
score: 0
Accepted
time: 10ms
memory: 4056kb
input:
5 1 2 3 4 5
output:
0 375000004 117187502 213897708 995024095
result:
ok 5 number(s): "0 375000004 117187502 213897708 995024095"
Test #3:
score: 0
Accepted
time: 45ms
memory: 4164kb
input:
100000 64268 66535 9758 42907 84212 83488 27748 86198 80658 11614 93419 2528 96160 79473 83517 43109 37111 46603 93665 54540 84236 62717 24719 57225 8333 15728 40821 31719 13096 75018 76890 46244 75863 59618 67460 10326 84775 11276 83363 72071 9353 94316 9469 3969 78568 53071 96835 50125 2728 46756 ...
output:
517835222 425525315 415451955 804144524 465143750 248034271 13166687 703325946 341000020 13797696 905521918 608927142 591090671 501585335 146368913 172358003 116621710 241875456 448868678 155749600 350155635 599343092 400133403 78229211 452768218 582618783 811512224 912730301 470660521 250329917 370...
result:
ok 100000 numbers