CF 944 (Div. 4) A~G

文章目录

  • A My First Sorting Problem(模拟)
  • B Different String(模拟、字符串)
  • C Clock and Strings(模拟)
  • D Binary Cut (贪心)
  • E Find the Car(二分查找、数学)
  • F Circle Perimeter(几何、数学、暴力)

A My First Sorting Problem(模拟)

标程:

#include <bits/stdc++.h>
using namespace std;int main() {int T; cin >> T;while (T--) {int x,y;cin >> x >> y;if(x > y) cout << y <<" " << x <<"\n";else cout << x <<" " << y <<"\n";}return 0;
}

B Different String(模拟、字符串)

题意:判断字符串 s s s改变顺序后,能否变得不一样。
思路: 全部一样肯定是NO,如果换一下,随便找两个不一样的换即可。
标程:

#include <bits/stdc++.h>
using namespace std;int main() {int T; cin >> T;while (T--) {string s;cin >> s;if(s.size() == 1 ) cout << "NO\n";else {bool flag = 0;for(int i = 0; i < s.size(); i++){if(s[0] != s[i]){flag = 1;swap(s[0], s[i]);}}if(flag == 0) cout << "NO\n";else{cout << "YES\n";cout << s << '\n';}}}return 0;
}

C Clock and Strings(模拟)

题意:判断两条线是否在同一区域。
思路: 判断c,d两点是否在a,b点连成的线一侧。
标程1:

#include <bits/stdc++.h>
using namespace std;int main() {int T; cin >> T;while (T--) {int a, b, c, d;cin >> a >> b >> c >> d;if(a>b)swap(a,b);if(c>d)swap(c,d);bool flag1=0,flag2=0;if(c > a && c < b) flag1 = 1;if(d > a && d < b) flag2 = 1;if(flag1 == flag2) cout << "NO\n";else cout << "YES\n";}return 0;
}

D Binary Cut (贪心)

题意:给定 01 01 01组成的字符串,希望切若干段,使得最后拼成有序字符串,问最少需要切成多少段。
思路: 这道题思考不足,WA了好多次。捋一下思路,10时候才需要切断,但是如果是01001,得到01,001,但只能得到一些有序的子段,并不能合成00011,其实最多只能有1个01子串,因此计算01串,并把他们再切开。
也可以是:直接看有几段·01 即可,注意到最后一段 0 可以连着 1,所以特判一下。
标程:

#include <bits/stdc++.h>
using namespace std;int main() {int T; cin >> T;while (T--) {string s;cin >> s;int cnt1 = 0, cnt2 = 0;for(int i = 0; i+1 < s.size(); i++){if(s[i] == '1' && s[i+1] == '0')cnt1++;			if(s[i] == '0' && s[i+1] == '1')cnt2++;}cout << 1+cnt1 + (cnt2>1?cnt2-1:0) << '\n';
//		cout << cnt1 <<","<<cnt2<< '\n';}return 0;
}

E Find the Car(二分查找、数学)

题意:给定每一站到达的时间,和里程,若给定位置 d d d,请计算等待的时长。
思路: 二分找一下该位置下的前后两点,根据 位置-左端点位置/左右端点距离差 = 时间-左端点时间/左右端点时间差,求出等待时间
标程1:

#include <bits/stdc++.h>
using namespace std;int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int T; cin >> T;while (T--) {int n,k,q,a[100005]={},b[100005]={};cin>> n >>k >> q;for(int i = 1; i <= k; i++) cin>> a[i];		for(int i = 1; i <= k; i++) cin>> b[i];while(q--){int d;cin>>d;int rt = lower_bound(a+1,a+k+1,d) - a;int lf = rt - 1;
//			cout << lf <<"," <<rt<<","<<"d:"<<d<<","<<double(d-a[lf])<<"--\n";double ans = b[lf]+(double(d-a[lf]))*(b[rt]-b[lf])/(a[rt]-a[lf]);cout << (int)floor(ans)<<" ";}cout << '\n';}return 0;
}

F Circle Perimeter(几何、数学、暴力)

题意:给定数字 r r r,请问满足距离 ( 0 , 0 ) (0,0) (0,0)点的欧几里得距离 r ≤ d < r + 1 r\leq d<r+1 rd<r+1的点的数量。
思路: 四个象限,枚举一个其他乘以4即可。因此只看第一想想,我们枚举横坐标x,找出在半径为r+1,半径为r上对应的纵坐标y1,y2,求两者之间的点的数量即可。注意 d < r + 1 d<r+1 d<r+1,所以等于的情况要特判一下。
在这里插入图片描述

标程1:

#include <bits/stdc++.h>
using namespace std;int main() {int T; cin >> T;while (T--) {long long r; cin >> r;long long cnt = 0;for(long long x = 1; x <= r; x++){//枚举x坐标 long long y1 = floor(sqrt((r+1)*(r+1)-x*x));if(y1*y1 ==(r+1)*(r+1) - x*x) y1--;long long y2 = ceil(sqrt(r*r-x*x));	cnt += y1-y2+1;		}cout << cnt*4<<'\n';}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/703208.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

momentjs

Moment.js 是一个用于处理日期和时间的 JavaScript 库&#xff0c;它提供了许多方便的函数和方法来操作、格式化和解析日期时间。官网 常见用法 格式化日期时间&#xff1a;可以使用format方法将日期时间格式化为指定的字符串格式&#xff0c;例如YYYY-MM-DD HH:mm:ss。获取日…

上海市虹桥祥源希尔顿酒店屋顶气膜网球馆

上海市虹桥祥源希尔顿酒店屋顶气膜网球馆为高端酒店设施增添了现代化、环保的运动场所。这座网球馆不仅为酒店住客提供了一个全天候、舒适的运动空间&#xff0c;也为虹桥地区的居民带来了全新的健身体验。作为轻空间&#xff08;江苏&#xff09;膜科技有限公司&#xff08;以…

运营商二次放号查询接口如何对接

运营商二次放号查询接口又叫手机二次放号检测接口&#xff0c;指的是输入手机号和日期&#xff0c;查看在该日期之前是不是二次放号。那么运营商二次放号查询接口如何对接呢&#xff1f; 这边我找到了一家叫数脉API的公司&#xff0c;他们刚好有这个接口&#xff0c;首先注册账…

如何快速将视频做成二维码?扫描二维码播放视频的制作方法

视频二维码的用途越来越多&#xff0c;比如常见的有产品展示、企业宣传、教程说明、个人展示等都可以生成二维码&#xff0c;通过扫码在手机或者其他设备上预览内容&#xff0c;从而提升其他人获取视频的速度&#xff0c;实现内容的快速分享。 对于有制作视频二维码需求的小伙…

一步一步带你做网络工程

网络工程怎么做 一、网络设备交换机的应用&#xff1a; 要求&#xff1a;在此接入交换机S3700&#xff0c;上划分两个vlan&#xff0c;vlan10和vlan20分别有两个PC&#xff0c;按拓扑图完成要求&#xff1a; 划分vlan添加端口 sys [Huawei]sys S1 [S1]undo in e [S1]undo t…

RSC6218A LLC谐振电源案例分享-REASUNOS(瑞森半导体)

一、前言 RSC6218A是一款可以满足4项标准的优秀产品&#xff1a;①2024年8月1日要实施的《建筑照明设计标准》GBT0034-2024&#xff1b;②2024年07月01日起实施的《电磁兼容限值 第1部分&#xff1a;谐波电流发射限值&#xff08;设备每相输入电流≤16A&#xff09;》GB17625.…

学会给文件夹加密,保密措施不可或缺!

我们的个人信息、工作文件和其他重要数据都存储在各种设备和文件夹中&#xff0c;如何保证这些数据的安全&#xff0c;防止未经授权的访问和泄露&#xff0c;成为了一个不容忽视的问题。本文将探讨给文件夹加密的必要性&#xff0c;以及如何在手机和电脑上进行文件夹加密。 操作…

#Docker | Ngrok# 使用Ngrok和Docker进行内网穿透

一、注册 Ngrok官网注册&#xff0c;可以使用gmail或者outlook邮箱&#xff0c; 正常填写后你会收到一封电子邮件&#xff0c;点击邮件中链接即注册成功 二、获取密钥 登录&#xff0c;点击Your Authtoken&#xff0c;最上面copy左边就是你得密钥 三、使用内网穿透启动docker…

链动3+1模式:创新商业模式引领发展新篇章

在数字化浪潮的推动下&#xff0c;企业纷纷寻求创新以应对激烈的市场竞争。链动31模式作为一种创新的商业模式&#xff0c;为企业和个人提供了一种全新的发展途径。本文将详细解析链动31模式的运作机制&#xff0c;并与传统的链动21模式进行对比&#xff0c;探讨其独特优势。 一…

第01章 互联网的概述(发展历史+接入方法+应用)

1.1 本章目标 了解互联网发展的历史熟悉互联网的接入方式了解互联网的典型应用 1.2 互联网发展的历史(产生过程、发展过程) 1.2.1 互联网的起源与发展 1.2.2 互联网在中国的发展 1.3 互联网的接入

3SRB2508-ASEMI三相整流桥3SRB2508

编辑&#xff1a;ll 3SRB2508-ASEMI三相整流桥3SRB2508 型号&#xff1a;3SRB2508 品牌&#xff1a;ASEMI 封装&#xff1a;SGBJ-5 最大重复峰值反向电压&#xff1a;800V 最大正向平均整流电流(Vdss)&#xff1a;25A 功率(Pd)&#xff1a;大功率 芯片个数&#xff1a;…

##16 利用迁移学习和微调提升深度学习模型性能

文章目录 前言什么是迁移学习&#xff1f;迁移学习的主要优势迁移学习的策略1. 特征提取器2. 微调 在PyTorch中实现迁移学习环境设置加载预训练模型修改模型以适应新任务训练和微调模型迁移学习的示例应用 结论 前言 在深度学习的多个领域中&#xff0c;迁移学习技术已经成为了…