当前位置: 首页 > news >正文

AtCoder Beginner Contest 391

D - Gravity

每一行消除,得等所有在这一行消除的都落到这一行
每一列也是按顺序消除

#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define yes cout << "Yes" << endl
#define no cout << "No" << endl
#define pii pair<int,int>
#define ll long long
#define pb push_back
#define ft first
#define se second
#define inf 0x3f3f3f3f
#define INF 0x3f3f3f3f3f3f3f3f
#define int long longconst int N=200010;
int x[N],y[N];int ans[N];
vector<pii> G[N];
void solve(){
int n,m;cin>>n>>m;
for(int i=1;i<=n;i++){cin>>x[i]>>y[i];G[x[i]].pb({i,y[i]});
}for(int i=1;i<=n;i++)ans[i]=-1;int mn=inf;for(int i=1;i<=m;i++)mn=min(mn,(int)G[i].size());
int cur=-1;
for(int j=0;j<mn;j++){int tmp=cur+1;for(int i=1;i<=m;i++){tmp=max(tmp,G[i][j].se-1);}cur=tmp;//这一行的消除时间为curfor(int i=1;i<=m;i++){ans[G[i][j].ft]=tmp;}
}int qq;cin>>qq;
while(qq--){int ti,idxi;cin>>ti>>idxi;// cout<<ans[idxi]<<'\n';if(ans[idxi]==-1)yes;else {if(ans[idxi]<ti)no;else yes;}
}}
signed main(){std::ios::sync_with_stdio(false);int T;T=1;while(T--){solve();}
}

E - Hierarchical Majority Vote

递归,可以回忆一下之前也写过一个pre,cur的递归

#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define yes cout << "Yes" << endl
#define no cout << "No" << endl
#define pii pair<int,int>
#define ll long long
#define pb push_back
#define ft first
#define se second
#define inf 0x3f3f3f3f
#define INF 0x3f3f3f3f3f3f3f3f
#define int long longstring s;int n;int ksm(int a,int b){int res=1;while(b){if(b&1)res=res*a;a=a*a;b>>=1;}return res;
}
int dfs(int l,int r){if(r-l==2){int res=0;for(int i=l;i<=r;i++)if(s[i]=='1')res++;if(res<=1)return 0;else return 1;}int len=(r-l+1)/3;int res=0;if(dfs(l,l+len-1))res++;if(dfs(l+len,l+len+len-1))res++;if(dfs(r-len+1,r))res++;if(res<=1)return 0;else return 1;
}
int work(int l,int r){if(r-l==2){int res=0;for(int i=l;i<=r;i++)if(s[i]=='1')res++;if(res==0)return 2;else return 1;}vector<int> vec;int len=(r-l+1)/3;int res=0;if(dfs(l,l+len-1))res++;else vec.pb(work(l,l+len-1));if(dfs(l+len,l+len+len-1))res++;else vec.pb(work(l+len,l+len+len-1));if(dfs(r-len+1,r))res++;else vec.pb(work(r-len+1,r));if(res>=2)return 0;sort(vec.begin(),vec.end());if(res==1){return vec[0];}if(res==0){return vec[0]+vec[1];}
}
void solve(){
cin>>n;
n=ksm(3,n);cin>>s;s="a"+s;
int t=dfs(1,n);
if(t)for(int i=1;i<=n;i++)if(s[i]=='1')s[i]='0';else s[i]='1';cout<<work(1,n)<<'\n';}
signed main(){std::ios::sync_with_stdio(false);int T;T=1;while(T--){solve();}
}

F - K-th Largest Triplet

优先队列经典思路,优先队列的bfs,出队K-1个
O(4Klog(4K))

#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define yes cout << "Yes" << endl
#define no cout << "No" << endl
#define pii pair<int,int>
#define ll long long
#define pb push_back
#define ft first
#define se second
#define inf 0x3f3f3f3f
#define INF 0x3f3f3f3f3f3f3f3f
#define int long longconst int N=200010;
int a[N],b[N],c[N];
pair<pii,pii> get(int i,int j,int k){return {{a[i]*b[j]+a[i]*c[k]+b[j]*c[k],i},{j,k}};
}
void solve(){
int n,K;cin>>n>>K;
for(int i=1;i<=n;i++)cin>>a[i];sort(a+1,a+n+1);reverse(a+1,a+n+1);
for(int i=1;i<=n;i++)cin>>b[i];sort(b+1,b+n+1);reverse(b+1,b+n+1);
for(int i=1;i<=n;i++)cin>>c[i];sort(c+1,c+n+1);reverse(c+1,c+n+1);priority_queue<pair<pii,pii>,vector<pair<pii,pii>>> pq;
set<pair<pii,pii>> s;s.insert(get(1,1,1));pq.push(get(1,1,1));
for(int _=1;_<=K-1;_++){auto tem=pq.top();pq.pop();int val=tem.ft.ft;int i=tem.ft.se;int j=tem.se.ft;int k=tem.se.se;//cout<<"get"<<val<<'\n';if(i+1<=n){auto t=get(i+1,j,k);if(!s.count(t)){s.insert(t);pq.push(t);}}if(j+1<=n){auto t=get(i,j+1,k);if(!s.count(t)){s.insert(t);pq.push(t);}}if(k+1<=n){auto t=get(i,j,k+1);if(!s.count(t)){s.insert(t);pq.push(t);}}
}
auto tem=pq.top();
cout<<tem.ft.ft<<'\n';}
signed main(){std::ios::sync_with_stdio(false);int T;T=1;while(T--){solve();}
}
http://www.hskmm.com/?act=detail&tid=34247

相关文章:

  • 2025年兄弟机床维修厂家推荐排行榜,专业维修与高效服务口碑之选!
  • 第二章博客
  • 正则表达式入门
  • 2025年气泡膜机厂家推荐排行榜,气泡膜制袋机,高速气泡膜机,全自动气泡膜机,复合气泡膜机,小型气泡膜机公司精选!
  • 深入解析:《Gdb 调试实战指南:不同风格于VS下的一种调试模式》
  • 10 个常见的Python 错误及如何避免它们
  • 平铺窗口合成器杂谈
  • 2025年手持光谱仪/光谱分析仪/便携式光谱仪厂家推荐榜单:矿石/元素/合金/贵金属分析利器,赛普斯/IF光谱仪精选!
  • 微信公众号文章插入附件详细教程-适合于招聘,报名表,公告公示等
  • 题解:P12037 [USTCPC 2025] 数学分析
  • 题解:P10514 考试
  • 华为昇腾笔记之Mindspeed-LLM 中 MoE 实现机制与重写逻辑总览
  • 实时时序上下文推荐系统获KDD最佳论文奖
  • 题解:CF1010A Fly
  • 2025年精密磨床/CNC机械加工厂家推荐排行榜,覆盖铣床/车床/磨削/多轴/复合加工,专业非标定制服务首选!
  • 题解:CF1914F Programming Competition
  • 独立开发者找蓝海:新词引流实战
  • 使用云服务器搭建飞牛Frp 内网穿透服务
  • Luogu P14255 列车(train) 题解 [ 蓝 ] [ 线段树 ] [ 二维平面转化 ]
  • 使用VS2022和Unity时可能出现的问题总结
  • 2025年喷雾机器人,取件机器人,工业机器人厂家权威推荐榜单:智能高效与稳定性能的行业首选!
  • 2025年给汤机厂家推荐排行榜,高效节能/智能控制/稳定耐用的优质品牌选择!
  • 理想完美主义者的宣战:当一人面对整个时代的“合理”谎言
  • Java中的this关键字的用法
  • 网络安全威胁狩猎:主动防御的终极指南
  • C#在二合一平板电脑关于旋转模式相关设置
  • 2026 中考游记
  • MinIO 介绍(3)--MinIO 客户端 mc 管理员功能
  • 8.16
  • 2025-10-19