2024牛客暑期多校训练营2
H.Instructions Substring
题目大意:给出一段长为
思路:用前缀和记录到
注意:由于一开始就在(0,0),若目的地为(0,0)则需特判;
点击查看代码
#include<bits/stdc++.h>
#define int long long
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
#define pb push_back
const int N = 9e6 + 10;
using namespace std;
const int mod = 998244353;
int prex[200005],prey[200005];
map<pair<int,int> ,int>mp;
void solve(){
int n,x,y;cin>>n>>x>>y;
for(int i=1;i<=n;i++){
char c;cin>>c;
if(c=='D'){
prex[i]=prex[i-1]+1;
prey[i]=prey[i-1];
}
else if(c=='A'){
prex[i]=prex[i-1]-1;
prey[i]=prey[i-1];
}
else if(c=='S'){
prex[i]=prex[i-1];
prey[i]=prey[i-1]-1;
}else {
prex[i]=prex[i-1];
prey[i]=prey[i-1]+1;
}
}
if(x!=0||y!=0) mp[{0,0}]++;
int ans=0;
for(int i=1;i<=n;i++){
mp[{prex[i], prey[i]}]++;
ans+=mp[{prex[i]-x,prey[i]-y}]*(n-i+1);
mp[{prex[i]-x,prey[i]-y}]=0;
}
cout<<ans<<'\n';
}
signed main(){
ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
int _=1;
// cin>>_;
while(_--)solve();
}
I:Red Playing Cards
题目大意:有
思路:用
1.如果两
2.如果两
3.由于数字0的贡献与长度无关,在原数列两头加上0,就可以得到
点击查看代码
#include<bits/stdc++.h>
#define int long long
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
#define pb push_back
const int N = 9e6 + 10;
using namespace std;
const int mod = 998244353;
struct num{
int l,r;
}a[N];
vector<int>mx(N),dp(N),date(N);
void solve() {
int n;
cin >> n;
for(int i=2;i<=2*n+1;i++){
int num;
cin >> num;
date[i]=num;
if(a[num].l) a[num].r=i;
else a[num].l=i;
}
a[0].l=1;
a[0].r=2*n+2;
date[1]=date[2*n+2]=0;
for(int i=n;i>=0;i--){
int l=a[i].l,r=a[i].r;
dp[l-1]=0;
for(int j=l;j<=r;j++){
dp[j]=dp[j-1]+i;
if(date[j]>i&&a[date[j]].l>l&&a[date[j]].r==j){
dp[j]=max(dp[j],dp[a[date[j]].l-1]+mx[date[j]]);
}
}
mx[i]=dp[r];
}
cout << mx[0];
}
signed main() {
ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
int _ = 1;
// cin>>_;
while (_--)solve();
}
分类:
解题报告 / 2024暑假牛客
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话