jls場
a 簽到
#include
using namespace std;
const long
long
mod=998244353;
int n,m,t,c,l,r;
long
long a[100007],sum[100007];
long
long cal(long
long a, long
long b)
return
sum;
}int main()
for (int i=1;i<=m;i++)}}
return
0;}
d
差分,暴力
#include
using namespace std;
typedef long long ll;
const ll mod=998244353;
ll power(ll n,ll p)
return ans;
}ll fac[200007];
ll inv[200007];
inline ll c(ll x,ll y)
void debugc()rec[100003];
ll tot;
ll t,n,q;
int main()
// debugc();
scanf("%lld",&t);
while(t--);
}else
if(typ==2);
}else
}ans1=(ans1-ans2+mod)%mod;
printf("%lld\n",ans1);}}
}}
e
數論,容斥,暴力卡常
#include
using
namespace
std;
typedef
long
long ll;
const ll mod=998244353;
ll power(ll n,ll p)
p>>=1;
base=base*base%mod;
}return ans;
}ll t,n,m;
ll a[200003];
ll b[200003];
ll cnt[200003];
ll g[200003];
ll res[200003];
ll inv[200003];
ll tot;
int main()
scanf("%lld",&t);
while(t--)
for(ll i=1;i<=100000;i++)
}ll ans=0;
for(ll m=1;m<=m;m++)
}sort(g+1,g+1+tot);
for(ll i=tot;i>=1;i--)
}tmp=(tmp+res[i]*inv[m/g[i]])%mod;
}ans^=tmp;
}printf("%lld\n",ans);
}}
f
floyd一遍,列舉一條邊歸併d陣列
#include
using namespace std;
typedef long
long ll;
const ll mod=998244353;
ll power(ll n,ll p)
return ans;
}int t;
int n;
ll g[505][505];
struct noderec[505][505];
bool vis[505];
bool cmp(node a,node b)
}sum=sum*(n-2)%mod*(n+1)%mod;
sum=sum*power(4,mod-2)%mod;
ans=sum;
for(int k=1;k<=n;k++)}}
for(int i=1;i<=n;i++);
}sort(rec[i]+1,rec[i]+1+n,cmp);
}for(int i=1;i<=n;i++)
else }}
}printf("%lld\n",ans);
}}
h
類歐幾里德
#include
using namespace std;
#define ll long long
int t;
ll a,b,c,d,n;
__int128 f(__int128 a, __int128 b, __int128 c, __int128 n)
else
if(a>=c || b>=c)
else
}void print(__int128 x)
}int main()
if(a*d
*c) n=d*(a+b)/(a*d-b*c);
//cout
<<(ll)f(c,d,d,c)<<" "
<<(ll)f(a,0,b,n-1)<0,b,n-1);
assert(ans>=2);
print((ans-1)%998244353);
putchar('\n');
}return
0;}
j
上香
#include
using
namespace
std;
int t,n;
char s[1000003];
int len;
int nxt[1000003][26];
char t[1000003];
void insert(char c)
}int main()
k=nxt[k][t[j+1]-'a'];}}
for(int i=1;i<=len;i++)printf("%c",s[i]);
printf("\n");
}}
託牛客睿智積分計算公式的福,竟然苟到了總排名第十。。。 牛客網暑期ACM多校訓練營(第九場)
做法 看到下標 xor 這種情況就想 fwt 可是半天沒思路,於是放棄了。其實這個 n 瘋狂暗示啊。設未知數向量為 x 列一下方程組就可以發現有 b k sum a i x j 做法就顯然了吧,把 a 和 b 分別 fwt 對應相除然後反變換即可。表示前天才學的 fwt 就不會使了。include ...
牛客網暑期ACM多校訓練營(第五場)
二分答案,然後就轉化為是否滿足 frac d sum s i c i sum s i d sum s i c i d 0 顯然科目越少gpa越高,於是去掉最小的k個判斷即可。include define rep i,a,b for int i a i b i define per i,a,b for...
牛客暑期多校訓練營B Boundary
給定n個點,然後確定乙個過原點的圓,要使這n個點盡可能多的存在與圓上,最後輸出最多的存在於圓上的點的個數 三點確定乙個圓,我們已知這個圓必定經過原點,所以再依次利用三點求圓心的公式列舉每兩個點與原點 三點不共線 確定的圓心,最後選擇確定次數最多的圓心構成的圓 include include incl...