【Codeforces】Educational Codeforces Round 156 [Rated for Div. 2]

news2024/11/16 16:53:50

hh第一次记录cf。

复盘

ab题目比较清晰,只开了这两题,后面看了下cd,即使开了翻译也看不懂题目是什么意思,最后放弃睡觉了。。

a是一道思维题,翻了下别人写的发现大家写的各不相同hh

b是一道数学题,过程有点繁琐,需要细心。

Problem - A - Codeforces 

数学巧思

题意:

仍然是t组测试哈,给定一个数n,问是否有a+b+c=n,a%3,b%3,c%3不为0,如果存在输出yes并输出这三个数,否则输出no。

设a=3k1+d1,b=3k2+d2,c=3k3+d3

显然,d1,d2,d3只能是1或2

那么我们就只需要对余数进行讨论就行了,

比如给定1和2,这两个数当然是满足条件的,只需要(n-3)%3不为0就好了,也就是(n-3)=3*k+1或2(k>=1)

这一个条件不足以涵盖所有情况,也就是只要还需要n-(3*k+1),n-(3*k+2),即覆盖余数为0,1,2这三种情况

#include<bits/stdc++.h>
signed main()
{
	int t;
	std::cin>>t;
	while(t--)
	{
		int x;
		std::cin>>x;
		if((x-3)%3&&(x-3)!=1&&(x-3)!=2&&(x-3)>0)
		{
			std::cout<<"YES"<<'\n'<<"1 2 "<<x-3<<'\n';
			continue;
		}
		if((x-5)%3&&(x-5)!=1&&(x-5)!=4&&(x-5)>0)
		{
			std::cout<<"YES"<<'\n'<<"1 4 "<<x-5<<'\n';
			continue;
		}
		if((x-7)%3&&(x-7)!=2&&(x-7)!=5&&(x-7)>0)
		{
			std::cout<<"YES"<<'\n'<<"2 5 "<<x-7<<'\n';
			continue;
		}
		std::cout<<"NO"<<'\n';
	}
	return 0;
}

但其实经过分析可以发现,只需要上面两个if语句就够了,n-3和n-5已经覆盖了所有情况。

 

 常规循环

因为思路比较简单我就直接复制的别人的代码,枚举前两个数,范围是1-13,然后对n-i-j进行判断就行。

#define ll long long
#include<bits/stdc++.h>
using namespace std;
 
void solve(){
    ll n;cin>>n;
    
    for(ll i=1;i<13;i++){
        for(ll j=1;j<13;j++){
            ll z=n-i-j;
            
            if(z>0 && i!=j && i!=z && j!=z && i%3!=0 && j%3!=0 && z%3!=0){
                cout<<"Yes"<<"\n";
                cout<<i<<" "<<j<<" "<<z<<"\n";
                return;
            }
        }
    }
    
    cout<<"No"<<"\n";
}
 
int main(){
    ll n;cin>>n;
    
    while(n--)solve();
}

Problem - B - Codeforces 

题目仍然是t个测试点

题目给出三个点p,a,b,要求以a和b分别为圆心,以w为半径做两个圆

要求o到p在圆上有路

思路分析:

#include<bits/stdc++.h>
using namespace std;
int dis(int x1,int y1,int x2,int y2)
{
	return (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
} 
signed main()
{
	int t;
	std::cin>>t;
	while(t--)
	{
		int p1,p2;
		int x1,y1;
		int x2,y2;
		std::cin>>p1>>p2>>x1>>y1>>x2>>y2;
		//只要源点和p都在圆上 
		//
		double s1=min(max(dis(p1,p2,x1,y1),dis(0,0,x1,y1)),
				   max(dis(p1,p2,x2,y2),dis(0,0,x2,y2)));
		double hh=(double)dis(x1,y1,x2,y2)/4;
		double s2=max(hh,
				   (double)min(max(dis(p1,p2,x1,y1),dis(0,0,x2,y2) ),
				       max(dis(p1,p2,x2,y2),dis(0,0,x1,y1))
				   )
				   );
	    double d=min(s1,s2);
		d=sqrt(d);
		printf("%.10f\n",d);
	}
	return 0;
}

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

改element的单选框的样式,改成方形有勾的样式

element-ui单选框按钮的样式改成对钩_el-radio 变对钩样式-CSDN博客 改变选中后字体的颜色 // 改变选中后字体的颜色 ::v-deep .el-radio__input.is-checked .el-radio__label {color:#28d4c1!important; }

2.1 线程是什么

技术上来说&#xff0c;线程是操作系统能够操作运行的一组独立的指令运算流程&#xff1b;更具体地来说&#xff0c;它的意义如下。 对于开发者&#xff0c;独立于主程序运行的一个“程序”可以称为一个线程。更进一步来说&#xff0c;如果一个应用包含多个“程序”&#xff0c…

计算顺序表中值在100到500之间的元素个数

要求顺序表中值在100到500之间的元素的个数&#xff0c;你可以使用C语言编写一个循环来遍历顺序表中的元素&#xff0c;并在循环中检查每个元素是否在指定的范围内。 #include <stdio.h>#define MAX_SIZE 100 // 假设顺序表的最大容量为100int main() {int arr[MAX_SIZE]…

车载开发所学内容,有哪些?程序员的转岗位需求

一、高速发展的行业前景 随着全球智能汽车市场的飞速发展&#xff0c;车载开发行业的前景可谓一片光明。各国政府对于自动驾驶和智能交通系统的政策支持&#xff0c;为行业带来了前所未有的机遇。此外&#xff0c;人工智能、大数据、云计算等前沿技术的不断突破&#xff0c;为…

C#,数值计算——数据建模Fitlin的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// General linear fit /// </summary> public class Fitlin { private int ndat { get; set; } private int ma { get; set; } private do…

项目管理必备的22个公式

大家好&#xff0c;我是老原。 趁着国庆时间比较空闲&#xff0c;给你们整理了一些项目管理必备的计算公式&#xff0c;一共22个。 每一个公式都给你们标注了适用情况和使用方法&#xff0c;为了方便你们理解&#xff0c;也加了一些例子&#xff0c;保准你看了就会。 觉得不…

增强基于Cortex-M3的MCU以处理480 Mbps高速USB

通用串行总线&#xff08;USB&#xff09;完全取代了PC上的UART&#xff0c;PS2和IEEE-1284并行接口&#xff0c;现在已在嵌入式开发应用程序中得到广泛认可。嵌入式开发系统使用的大多数I / O设备&#xff08;键盘&#xff0c;扫描仪&#xff0c;鼠标&#xff09;都是基于USB的…

MySQL数据库基本操作-DQL-聚合查询

简介 使用聚合函数查询是纵向查询&#xff0c;它是对一列的值进行计算&#xff0c;然后返回一个单一的值&#xff1b;另外聚合函数会忽略空值。 字段说明&#xff1a; product 是一个表pname 是商品名price 是 价格category_id 是分类 -- 1 查询商品的总条数 select count(…

Ubuntu20.04系统安装cuda11.3

在官网下载cuda进行安装&#xff1a; 官网链接&#xff1a;CUDA Toolkit Archive | NVIDIA Developer 再官网版本中选择需要的版本&#xff0c;本身需要cuda11.3 cuda版本选择后&#xff0c;选择系统信息后复制命令进行下载&#xff08;我是ubuntu20.04,aarch64 架构&#xf…

清华智谱AI大模型ChatGLM-Pro申请开通教程

清华智谱AI大模型ChatGLM-Pro申请开通教程 ChatGLM系列模型&#xff0c;包括ChatGLM-130B和ChatGLM-6B模型&#xff0c;支持相对复杂的自然语言指令&#xff0c;并且能够解决困难的推理类问题。其中&#xff0c;ChatGLM-6B模型吸引了全球超过 160 万人下载安装&#xff0c;该模…

磷矿石和磷精矿中氧化镁含量的测定

声明 本文是学习GB-T 1871.5-2022 磷矿石和磷精矿中氧化镁含量的测定 火焰原子吸收光谱法、容量法和电感耦合等离子体发射光谱法. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本文件描述了在磷矿石和磷精矿中测定氧化镁含量的火焰原子吸收…

GRADIENT BASED THRESHOLD FREE COLOR FILTER ARRAY INTERPOLATION

ABSTRACT 彩色滤波器阵列(CFA)插值是单传感器数字相机图像处理管道的组成部分。多年来&#xff0c;许多CFA算法被提出以提高图像质量。其中一个算法就是非常成功的定向线性最小均方误差估计(Directional Linear Minimum Mean-Square Error Estimation, DLMMSE)方法。我们对该算…

JavaScript使用throw new Error自定义错误信息

有些时候 我们自己写了一个组件 但是怕同事不了解我们的组件 传入了错误的类型或者数据 导致逻辑报错 同事还会觉得我们的组件写的莫名其妙 我们就可以自己写判断 例如我这个代码 我判断 如果同事传入的 type 为 false 或者 在我自己的集合中找不到 外面传入的type类型 我就直…

【G-LAB】带你掌握网络交换机上各种接口知识

点击上方关注我们 交换机是一种用于电&#xff08;光&#xff09;信号转发的网络设备。可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。其他常见的还有电话语音交换机、光纤交换机等。交换机是使用非常广泛的网络设备。多台网络设备…

十五、异常(7)

本章概要 其他可选方式 历史观点把异常传递给控制台把“检查的异常”转换为“不检查的异常” 异常指南 其他可选方式 异常处理系统就像一个活门&#xff08;trap door&#xff09;&#xff0c;使你能放弃程序的正常执行序列。当“异常情形”发生的时候&#xff0c;正常的执行…

【Redis】Hash 哈希内部编码方式

Hash 哈希内部编码方式 哈希的内部编码有两种&#xff1a; ziplist&#xff08;压缩列表&#xff09;&#xff1a;当哈希类型元素个数⼩于hash-max-ziplist-entries配置&#xff08;默认512个&#xff09;、同时所有值都⼩于hash-max-ziplist-value配置&#xff08;默认64字节…

软考高级架构师下篇-18

目录 1. 引言2. 传统数据处理系统的问题1.传统数据库的数据过载问题2.大数据的特点3.大数据利用过程4.大数据处理系统架构分析3.典型的大数据架构1. Lambda架构2.Kappa架构3. Lambda架构与Kappa架构的对比4.大数据架构的实践1.大规模视频网络2.广告平台3.公司智能决策大数据系统…

微信小程序 在bindscroll事件中监听scroll-view滚动到底

scroll-view其实提供了一个 bindscrolltolower 事件 这个事件的作用是直接监听scroll-view滚动到底部 但是 总有不太一样的情况 公司的项目 scroll-view 内部 最下面有一个 类名叫 bottombj 的元素 我希望 滚动到这个 bottombj 上面的时候就开始加载滚动分页 简单说 bottombj这…

LeetCode【84】柱状图中的最大矩形

题目&#xff1a; 思路&#xff1a; https://blog.csdn.net/qq_28468707/article/details/103682528 https://www.jianshu.com/p/2b9a36a548fa 清晰 代码&#xff1a; public int largestRectangleArea(int[] heights) {int[] heightadd new int[heights.length 1];for (i…

电机控制——PID基础

本文来讲一下PID调节器。 在实际的系统中&#xff0c;因为摩擦、阻力等外界因素的存在&#xff0c;系统的实际输出与我们期望的输出通常存在误差&#xff0c;PID的目的就是调节系统的实际输出&#xff0c;使其更快更稳地贴近期望输出。 PID模块被周期性的调用&#xff0c;模块…