The 2021 Shanghai Collegiate
D-Zztrans 的班级合照
如果没有对序列大小关系的限制,只需要考虑
然后虽然要三重循环,但是根本跑不满,大胆放心暴力 dp 即可。
查看代码
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int mod=998244353;
int n,a[5005];
vector<int>v;
int f[5005][5005],fac[5005];
signed main(){
fac[0]=1;
for(int i=1;i<=5000;++i)fac[i]=fac[i-1]*i%mod;
cin>>n;
for(int i=1;i<=n;++i)cin>>a[i];
f[0][0]=1;
int num=1;
sort(a+1,a+1+n);
for(int i=1;i<=n;++i){
if(a[i]==a[i+1])num++;
else v.push_back(num),num=1;
}
int cur=0;
for(auto u:v){
cur+=u;
for(int j=0;j<=cur-j;++j){
for(int k=0;k<=min(u,j);++k)f[cur][j]=(f[cur][j]+f[cur-u][j-k]*fac[u]%mod)%mod;
}
}
cout<<f[n][n/2];
return 0;
}
H - 鸡哥的 AI 驾驶
就是你考虑二分时间
然后把同编号内部的减掉。
离散化或动态开点线段树。
代码又臭又长,不放了(
J - Alice and Bob-1
假设 Alice 所获价值为
由于所获价值都带有绝对值,因此对所有数取反并不会影响答案,我们不失一般性地
设
查看代码
#include<bits/stdc++.h>
using namespace std;
int n,a[5005];
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
for(int i=1;i<=n;++i)cin>>a[i];
sort(a+1,a+n+1);
long long ans1=0,ans2=0,ans3=0,ans4=0;
for(int i=1;i<=n;i+=2)ans1+=a[i],ans2+=a[i+1];
for(int i=n;i>=1;i-=2)ans3+=a[i],ans4+=a[i-1];
cout<<max(abs(ans1)-abs(ans2),abs(ans3)-abs(ans4));
return 0;
}
K - Alice and Bob-2
暴力搜索求 SG 函数,然后上 Nim 游戏的结论(异或和为
查看代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
map<vector<int>,int>mp;
int SG(vector<int>cur){
if(mp.count(cur)){
return mp[cur];
}
set<int>v;
for(int i=0;i<26;i++){
if(!cur[i])continue;
vector<int>to(cur);
to[i]--;
sort(to.begin(),to.end());
v.insert(SG(to));
for(int j=i+1;j<26;j++){
if(cur[j]==0)continue;
vector<int>nxt(cur);
nxt[i]--;
nxt[j]--;
sort(nxt.begin(),nxt.end());
v.insert(SG(nxt));
}
}
for(int i=0;;i++)if(!v.count(i))return mp[cur]=i;
return 0;
}
int t,n;
string s[15];
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>t;
while(t--){
mp.clear();
cin>>n;
int ans=0;
for(int i=1;i<=n;++i){
cin>>s[i];
vector<int>cnt(26,0);
for(int j=0;j<s[i].size();++j)cnt[s[i][j]-'a']++;
sort(cnt.begin(),cnt.end());
ans^=SG(cnt);
}
if(!ans)cout<<"Bob\n";
else cout<<"Alice\n";
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现