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

AtCoder Beginner Contest 371

A - Jiro :

题目:

代码:

#include <bits/stdc++.h>using namespace std;typedef long long LL ;
typedef pair<int,int> PII;void solve()
{string a,b, c;cin>>a>>b>>c;string s(3,'a');s[0]=a[0];s[1]=b[0];s[2]=c[0];// a b c// c b a// b a c// c a b // a c b // b c aif(s[0]=='>' && s[1]=='>' && s[2]=='>') cout<<'B';else if(s[0]=='<' && s[1]=='<' && s[2]=='<') cout<<'B';else if(s[0]=='<' && s[1]=='>' && s[2]=='>') cout<<'A';else if(s[0]=='>' && s[1]=='<' && s[2]=='<') cout<<'A';else cout<<'C';}int main()
{int T;// cin>>T;T=1;while(T--){solve();}return 0;
}

B - Taro

题目:

代码:

#include <bits/stdc++.h>using namespace std;typedef long long LL ;
typedef pair<int,int> PII;void solve()
{int n,m;cin>>n>>m;vector<int> a(m);string b(m,' ');vector<int> h(n);for(int i=0; i<m; i++){cin>>a[i]>>b[i];a[i]--;if(b[i]=='M'){h[a[i]]++;}if(h[a[i]]==1 &&b[i]=='M') cout<<"Yes\n";else cout<<"No\n";}}int main()
{int T;// cin>>T;T=1;while(T--){solve();}return 0;
}

C - Make Isomorphic:

题目:

思路:

找到g i 与 h j 顶点的对应关系,枚举(1,..,n) 的全排列,计算每种排列对应的花费,取最小值.

代码:

#include <bits/stdc++.h>
using namespace std;typedef long long LL;
typedef pair<int,int> PII;void solve()
{int n;cin>>n;vector w(n,vector(n,0)),g(n,vector(n,0)), h(n,vector(n,0));int mg;cin>>mg;for(int i=0;i <mg; i++){int a, b;cin>>a>>b;a--, b--;g[a][b]=1;g[b][a]=1;}int mh;cin>>mh;for(int i=0; i<mh; i++){int a,b;cin>>a>>b;a--, b--;h[a][b]=1;h[b][a]=1;}for(int i=0; i<n; i++){for(int j=i+1; j<n; j++){cin>>w[i][j];}}vector<int> p(n);iota(p.begin(),p.end(),0);int ans=1e9;do{int res=0;for(int i=0;i<n; i++){for(int j=i+1; j<n; j++){if(h[i][j]!=g[p[i]][p[j]]){res+=w[i][j];}}}ans=min(ans,res);}while(next_permutation(p.begin(),p.end()));cout<<ans<<"\n";}int main()
{int T;
//	cin>>T;T=1;while(T--){solve();}return 0;
}

D - 1D Country:

题目:

思路:

离散化+二分查找

代码:

#include <bits/stdc++.h>using namespace std;typedef long long LL;int main()
{int n;cin>>n;vector<int> x(n+1), p(n+1);x[0]=-0x3f3f3f3f;for(int i=1; i<=n; i++) cin>>x[i];for(int i=1; i<=n; i++) cin>>p[i];vector<LL> s(n+1);for(int i=1; i<=n; i++){s[i]=s[i-1]+p[i];}int q;cin>>q;while(q--){int a,b;cin>>a>>b;int l=lower_bound(x.begin(), x.end(), a)-x.begin();int r=upper_bound(x.begin(), x.end(), b)-x.begin()-1;cout<<s[r]-s[l-1]<<'\n';}return 0;
}

E - I Hate Sigma Problems 

题目:

思路:

求每个Ai的贡献,

代码:

#include <bits/stdc++.h>using namespace std;typedef long long LL;int main()
{int n;cin>>n;vector<int> a(n+1);vector<vector<int>> pos(n+1);for(int  i=1; i<=n; i++){cin>>a[i];pos[a[i]].push_back(i);} LL ans=0;for(int i=1; i<=n; i++){int ls=0;for(auto j: pos[i]) ans+=1LL*(j-ls)*(n-j+1), ls=j;}cout<<ans<<'\n';
}


http://www.mrgr.cn/news/28171.html

相关文章:

  • Scala的Array(1)
  • Shell基础2
  • 三周精通FastAPI:42 手动运行服务器 - Uvicorn Gunicorn with Uvicorn
  • 【Redis】Redis的一些应用场景及使用策略
  • LC12:双指针
  • 【Visual Studio】设置文件目录
  • ubuntu20.04编译mesa
  • 大数据新视界 --大数据大厂之数据科学项目实战:从问题定义到结果呈现的完整流程
  • stack - queue
  • linux-系统备份与恢复-系统恢复
  • JVM源码解析
  • 匿名管道详解
  • 最强神器Typora 2024(亲测有效)| Markdown 工具推荐
  • 计算机二级MySQL大题系列01-PHP必考题
  • 【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
  • 业务资源管理模式语言15
  • OpenCV_图像旋转超详细讲解
  • 卡尔曼滤波-α滤波器
  • Python 的 WSGI 简单了解
  • 数据在内存中的存储方式
  • Mysql 面试题总结
  • 如何在Unity发布安卓移动端游戏
  • node卸载流程
  • 【c++】博主第一个完全自主制作的程序运行成功!简易计算器
  • 如何训练Imagen大模型:从数据准备到模型调优
  • 茶余饭后(九)