当前位置: 首页 > 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.sczhlp.com/news/209947/

相关文章:

  • 2025年兄弟机床维修厂家推荐排行榜,专业维修与高效服务口碑之选!
  • 第二章博客
  • 网站策划书的基本内容山东建设监理协会官方网站
  • 做油漆的网站网站开发毕业设计书
  • 建湖做网站需要多少钱wordpress数据库迁移
  • 网站建设做网站多少钱商城站在哪个地方
  • 服装厂做1688网站效果好不好中企动力骗子公司
  • 网站未备案做经营被罚款网站界面优化
  • 华东建设安装有限公司网站有南昌网站优化公司
  • 用易语言怎么做自动发卡网站苏州网站建设制作工作室
  • 扶绥县住房和城乡建设局网站pc端手机网站 viewport 自适应
  • 做网站的公司是什么东莞高端网站设计
  • 网站建设与制作就业前景个人可以做网站么
  • 网站推广哪个好给做网站建设的一些建议
  • 新手做网站服务器用什么app推广员怎么做
  • 精密科技东莞网站建设4s店网站建设计划
  • 易企秀可以做微网站吗做响应网站的素材网站有哪些
  • 网站设计基础语言不包括这些内容有什么做任务拿钱的网站
  • 网站支付页面怎么做的衡东网页设计
  • seo技术分类遂宁网站seo
  • 个人网站开发赚钱方向沈阳seo排名优化软件
  • 网站后台怎么管理上海网站设计公司
  • 360推广做网站帝国cms 门户网站
  • 网站开发旅游前台模板徐州市住房和城乡建设局网站首页
  • 网站运营工作具体做啥app界面设计属于什么设计
  • 莱州网站建设案例如何在大学网站做宣传
  • 电子商务系统网站开发总结宠物店网站建设策划书
  • 微信网站开发软件电子商务+网站建设
  • 韩国唯美网站设计品牌vi设计包括哪些
  • 创建学校网站东莞网站忧化