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

AtCoder ABC371 A-D题解

省流:赛场上不会 C。

比赛链接:ABC371

Problem A:

Sol

if 暴力判断即可。

Code

#include <bits/stdc++.h>
using namespace std;
int main(){char SAB,SAC,SBC;cin>>SAB>>SAC>>SBC;if(SAB=='>' && SBC=='>')cout<<"b"<<endl;else if(SAB=='>' && SBC=='<' && SAC=='>')cout<<"c"<<endl;else if(SAB=='>' && SBC=='<' && SAC=='<')cout<<"a"<<endl;else if(SAB=='<' && SBC=='<')cout<<"b"<<endl;else if(SAB=='<' && SBC=='>' && SAC=='<')cout<<"c"<<endl;else if(SAB=='<' && SBC=='>' && SAC=='>')cout<<"a"<<endl;return 0;
}

Problem B:

Sol

简单哪一个数组记录即可。

Code

#include <bits/stdc++.h>
using namespace std;
bool have[105];
int main(){int N,M;cin>>N>>M;for(int i=1;i<=M;i++){int A;char B;cin>>A>>B;if(B=='M' && !have[A]){cout<<"yes"<<endl;have[A]=true;}elsecout<<"no"<<endl;}return 0;
}

Problem D:

Sol

首先对村庄的位置离散化,用loc数组记录。然后用sum统计前缀和。然后在loc数组上二分L_iR_i后求前缀和即可。

Code

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int maxn=200005;
struct village{int X;int P;
}country[maxn];
int loc[maxn],sum[maxn];
bool cmp(village a,village b){return a.X<b.X;
}
signed main(){int N;cin>>N;for(int i=1;i<=N;i++)cin>>country[i].X;for(int i=1;i<=N;i++)cin>>country[i].P;sort(country+1,country+N+1,cmp);for(int i=1;i<=N;i++){loc[i]=country[i].X;sum[i]=country[i].P+sum[i-1];cout<<sum[i]<<' ';}int Q;cin>>Q;while(Q--){int L,R;cin>>L>>R;int l=lower_bound(loc+1,loc+N+1,L)-loc;int r=upper_bound(loc+1,loc+N+1,R)-loc-1;if(l>r || (l==N+1 && r==N+1)){cout<<0<<endl;continue;}if(l==N+1)l=N;if(r==N+1)r=N;cout<<sum[r]-sum[l-1]<<endl;}return 0;
}

Problem C:

Sol

注意到本题N\leq 8,可以全排列枚举所有情况,取最小值。时间复杂度 \Theta (n!)

Code

#include <bits/stdc++.h>
using namespace std;
const int maxn=105;
const int INF=0x3f3f3f3f;
int N,MG,MH,u1[maxn],a1[maxn],v1[maxn],b1[maxn],A[maxn][maxn];
int h[maxn][maxn],g[maxn][maxn],mark[maxn],ans=INF;
void dfs(int pos){if(pos>N){for(int i=1;i<=MG;i++)h[mark[u1[i]]][mark[v1[i]]]=h[mark[v1[i]]][mark[u1[i]]]=1;int sum=0;for(int i=1;i<N;i++){for(int j=i+1;j<=N;j++){if(h[i][j]==g[i][j])continue;sum+=A[i][j];}}ans=min(ans,sum);memset(h,0,sizeof(h));return;}for(int i=1;i<=N;i++){if(!mark[i]){mark[i]=pos;dfs(pos+1);mark[i]=0;}}
}
int main(){cin>>N;cin>>MG;for(int i=1;i<=MG;i++)cin>>u1[i]>>v1[i];cin>>MH;for(int i=1;i<=MH;i++){cin>>a1[i]>>b1[i];g[a1[i]][b1[i]]=g[b1[i]][a1[i]]=1;}for(int i=1;i<N;i++){for(int j=i+1;j<=N;j++){cin>>A[i][j];A[j][i]=A[i][j];}}dfs(1);cout<<ans<<endl;return 0;
}

友情提醒:不要无脑Ctrl C+Ctrl V

相关文章:

  • 微信小程序处理交易投诉管理,支持多小程序
  • 需求梳理时,如何平衡各方的利益冲突?
  • 位运算(3)_判定字符是否唯一_面试题
  • BSS是什么
  • 谨防火灾!电瓶车检测算法助力城市/小区/园区多场景安全管理精细化、智能化
  • 【Vue】以RuoYi框架前端为例,ElementUI封装图片上传组件——将图片信息转成base64后提交到后端保存
  • 盛事启幕 | 第三届OpenHarmony技术大会重磅官宣,邀您共绘智联未来
  • 深度学习模型可视化工具 Netron 使用教程
  • AndroidStudio依赖报错
  • Qt QIntValidator详解
  • 【以图搜图代码实现2】--faiss工具实现犬类以图搜图
  • 2024/9/30 英语每日一段
  • GORM CRUD
  • Flux【真人模型】:高p高糊反向真实质感!网图风格的Lora模型,超逼真的AI美女大模型!
  • C#测试调用Ghostscript.NET浏览PDF文件
  • 2017-08-04 前端日报
  • 3.7、@ResponseBody 和 @RestController
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • MobX
  • Nodejs和JavaWeb协助开发
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • 从零搭建Koa2 Server
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 做一名精致的JavaScripter 01:JavaScript简介
  • ​决定德拉瓦州地区版图的关键历史事件
  • # 计算机视觉入门
  • #if和#ifdef区别
  • #LLM入门|Prompt#3.3_存储_Memory
  • (12)Hive调优——count distinct去重优化
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (TOJ2804)Even? Odd?
  • (二)hibernate配置管理
  • (二)换源+apt-get基础配置+搜狗拼音
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (十六)、把镜像推送到私有化 Docker 仓库
  • (已解决)Bootstrap精美弹出框模态框modal,实现js向modal传递数据
  • (转)Unity3DUnity3D在android下调试
  • (自用)仿写程序
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .md即markdown文件的基本常用编写语法
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • ::前边啥也没有
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • [Android] 修改设备访问权限
  • [BZOJ4016][FJOI2014]最短路径树问题
  • [C++]——带你学习类和对象
  • [Day 80] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • [EFI]ASUS Vivobook 16x M1603QA 电脑 Hackintosh 黑苹果efi引导文件
  • [Google Guava] 1.1-使用和避免null
  • [JAVA]初识线程池及其基本应用
  • [JavaWeb]——获取请求参数的方式(全面!!!)