AtCoder Beginner Contest 285解题报告

news/2025/1/7 21:53:25/

A - Edge Checker 2

Problem Statement

Determine if there is a segment that directly connects the points numbered a and b in the figure below.

Constraints

  • 1≤a<b≤15
  • a and b are integers.

Input

The input is given from Standard Input in the following format:

a b

Output

Print Yes  if there is a segment that directly connects the points numbered a and b; print No otherwise.


Sample Input 1

1 2

Sample Output 1

Yes

In the figure in the Problem Statement, there is a segment that directly connects the points numbered 1 and 2, so Yes should be printed.


Sample Input 2 

2 8

Sample Output 2

No

In the figure in the Problem Statement, there is no segment that directly connects the points numbered 2 and 8, so No should be printed.


Sample Input 3

14 15

Sample Output 3

No

AC Code:

#include <iostream>
#include <queue>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <vector>
using namespace std;
typedef long long ll;
int a, b;
int main()
{ios::sync_with_stdio(false);cin.tie(nullptr), cout.tie(nullptr);cin >> a >> b;if (b == a * 2 || b == a * 2 + 1)puts("Yes");elseputs("No");return 0;
}

B - Longest Uncommon Prefix

思路:朴素方法

AC Code:

#include <iostream>
#include <queue>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <vector>
using namespace std;
int main()
{ios::sync_with_stdio(false);cin.tie(nullptr), cout.tie(nullptr);int n;string s;cin >> n >> s;for (int i = 1; i < n; i++){for (int j = 1; j <= n; j++){if (i + j > n){cout << j - 1 << "\n";break;}if (s[j - 1] == s[j + i - 1]){cout << j - 1 << "\n";break;}}}return 0;
}

 C - abc285_brutmhyhiizp

 

 AC Code:

// 简单模拟
#include <iostream>
#include <queue>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <vector>
using namespace std;
int main()
{ios::sync_with_stdio(false);cin.tie(nullptr), cout.tie(nullptr);string s;cin >> s;int l = s.size();long long res = 0, add = 26;for (int i = 1; i <= l - 1; i++){res += add;add *= 26;}long long num = 0;for (int i = 0; i < l; i++){num *= 26;num += (s[i] - 'A');}cout << res + num + 1;return 0;
}

F - Substring of Sorted String

AC Code:

#include<bits/stdc++.h>
using namespace std;#define lowbit(x) x&(-x)typedef long long ll;
const ll maxn=1e5+5;int n,q;char s[maxn];
int bit[30][maxn],sum[30],bit2[maxn];void add(int a[maxn],int x,int c) {for(int i=x;i<=n;i+=lowbit(i)) a[i]+=c;return ;
}int ask(int a[maxn],int x) {int res=0;for(int i=x;i>0;i-=lowbit(i)) res+=a[i];return res;
}void add2(int x,int c) {for(int i=x;i<n;i+=lowbit(i)) bit2[i]+=c;return ;
}int ask2(int x) {int res=0;for(int i=x;i>0;i-=lowbit(i)) res+=bit2[i];return res;
}int main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);cin>>n>>s+1;for(int i=1;i<=n;i++) sum[s[i]-'a']++,add(bit[s[i]-'a'],i,1);for(int i=1;i<n;i++) if(s[i]<=s[i+1]) add2(i,1);cin>>q;for(int i=1,op;i<=q;i++) {cin>>op;if(op==1) {int x;char c;cin>>x>>c;sum[s[x]-'a']--,add(bit[s[x]-'a'],x,-1);if(x<n&&s[x]<=s[x+1]) add2(x,-1);if(x>1&&s[x-1]<=s[x]) add2(x-1,-1);s[x]=c;sum[s[x]-'a']++,add(bit[s[x]-'a'],x,1);if(x<n&&s[x]<=s[x+1]) add2(x,1);if(x>1&&s[x-1]<=s[x]) add2(x-1,1);}else {int l,r;cin>>l>>r;if(ask2(r-1)-ask2(l-1)!=r-l) {cout<<"No\n";continue;}int flag=0,tot=0;for(int j=0;j<26;j++) {int num=ask(bit[j],r)-ask(bit[j],l-1);tot+=num;if(!flag&&num==0) continue;if(!flag) flag=1;else {if(num<sum[j]&&tot!=r-l+1) {flag=-1;break;}}}if(flag==-1) cout<<"No\n";else cout<<"Yes\n";}}return 0;
}

http://www.ppmy.cn/news/12700.html

相关文章

详解数据库的锁机制及原理

详解数据库的锁机制及原理1.数据库锁的分类2.行锁共享锁&#xff08;读锁S锁&#xff09;排他锁&#xff08;写锁X锁&#xff09;更新锁3.意向锁&#xff08;IX/IS锁&#xff09;4.锁机制解释数据库隔离级别5.间隙锁1.数据库锁的分类 本图源自CSDN博主&#xff1a;Stephen.W 数…

LeetCode刷题模版:111 - 120

目录 简介111. 二叉树的最小深度112. 路径总和113. 路径总和 II114. 二叉树展开为链表115. 不同的子序列116. 填充每个节点的下一个右侧节点指针117. 填充每个节点的下一个右侧节点指针 II118. 杨辉三角119. 杨辉三角 II120. 三角形最小路径和结语简介 Hello! 非常感谢您阅读海…

Go语言并发编程及依赖管理

目录&#x1f9e1;并发编程GoroutineCSP(Communicating Sequential Processes)&#x1f9e1;依赖管理依赖演变依赖管理三要素&#x1f49f;这里是CS大白话专场&#xff0c;让枯燥的学习变得有趣&#xff01; &#x1f49f;没有对象不要怕&#xff0c;我们new一个出来&#xff0…

Http客户端 Feign 的使用 (黑马springcloud笔记)

Feign基本使用 目录Feign基本使用一、Feign代替RestTemplate二、自定义配置三、Feign使用优化1. 底层优化2. 日志优化四、最佳实践方式一&#xff1a;继承方式二&#xff1a;抽取一、Feign代替RestTemplate 步骤&#xff1a; 引入依赖 <dependency><groupId>org.s…

RT-Thread系列--组件初始化

一、目的RT-Thread里面有个特别有意思的软件设计叫做组件自动初始化。有些小伙伴可能是第一次听说&#xff0c;所以这边我解释一下&#xff0c;请看下面的代码片段static void clock_init() {// 时钟初始化 } static void uart_init() {// 串口初始化 } static void i2c_init()…

自动驾驶专题介绍 ———— 超声波雷达

文章目录介绍工作原理特点常见参数介绍 在汽车碰撞事故中&#xff0c;有大约15%的事故是因为倒车时汽车的后视能力不足引起的&#xff0c;因为增加汽车的后视能力的超声波雷达的研究成为了当下的热点之一。安全避免碰撞的前提是快速准确的测量障碍物于汽车之间的距离。超声波雷…

Opencv图像及视频基本操作

✨ 原创不易,还希望各位大佬支持一下 \textcolor{blue}{原创不易,还希望各位大佬支持一下} 原创不易,还希望各位大佬支持一下 👍 点赞,你的认可是我创作的动力! \textcolor{green}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!

Https为什么比Http安全?

Https是在Http之上做了一层加密和认证&#xff1b; 主要的区别是Https在TLS层对常规的Http请求和响应进行加密&#xff0c;同时对这些请求和响应进行数字签名。 Http请求的样式&#xff1a; 明文传输&#xff0c;通过抓包工具可以抓到 GET /hello.txt HTTP/1.1 User-Agent: c…