Codeforces Global Round 6

news2024/11/27 6:34:21

CF1266A Competitive Programmer

     题目

        给出n个数,问对于每个数,是否可以将这个数的数位重新组合(可以有前导零),                                    使其可以被60整除,若可以,则输出red,否则,输出cyan

     分析

        首先来看被60整除需要满足什么条件,因为60=2*3*10,                                                                  那我们就可以通过判断该数能否被2,3,10 同时整除即可。

        应先去除一个0再判断2

        能被 10 整除的数末尾一定是0,所以原数中一定存在0                                                                      能被 2 整除的数末尾一定是偶数,所以原数中一定存在偶数(0,2,4,6,8)                                        能被 3 整除的数各数位上的和一定为3的倍数

        综上就就很好判断重排后能否被60整除了

        ps:注意末位为0,和要去掉一个0 (被卡了好久)

       Code

#include<bits/stdc++.h>
using namespace std;
int n,le,sum,fl,a[10];
string s;
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		cin>>s; le=s.length();
		memset(a,0,sizeof a); fl=0,sum=0;
		for(int i=0;i<le;i++) a[s[i]-'0']++;
		if(a[0]==le) { cout<<"red\n"; continue; }
		if(a[0]==0) { cout<<"cyan\n"; continue; }
		for(int i=0;i<=9;i++)
		{
			sum=(sum+i*a[i])%3; fl|=(a[i]!=0 && i%2==0 && i!=0 || a[0]>1);
            /*
                 特别注意这里,如样例中1,3,5,0
                 0在判断10的时候已经用过了,所以不行
                 所以要a[0]>1
            */
		}
		if(fl==1 && sum%3==0) cout<<"red\n";
		else cout<<"cyan\n";
	}
	return 0;
}

CF1266B Dice Tower

       题目

        鲍勃正在玩 6 面的骰子。他有不限量的这样的骰子。骰子可以搭成骰子塔,骰子塔上可以看见的点子的数量称为骰子塔的点数。

        输出 有 T 行 表示每一次询问的结果 如果可以搭成有 x 个点数的骰子塔输出YES 否则输出NO

       分析

        观察骰子构造,不难发现相对的两面和衡为7,所以露出的4面和为14,然后最上面还有一面取值范围在 [1,6 ],所以把问题转换为判断读入的数%14以后的余数是否在1~6之间

        当你满心欢喜的交了以后,发现wa了,然后发现数据中有小于14的 那么就可以直接输出NO

        Code

#include<bits/stdc++.h>
using namespace std;
long long n,T;
int main()
{
	scanf("%lld",&T);
	for(int i=1;i<=T;i++)
	{
		scanf("%lld",&n);
		if(n<=14) cout<<"NO\n";
		else if(1<=n%14 && n%14<=6) cout<<"YES\n";
		else cout<<"NO\n";
	}
	return 0;
}

CF1266C Diverse Matrix

        题目

        对于一个r行c列的矩阵,我们可以求出它每一行,每一列的最大公约数(共r+c个数)。 输入r,c。要求输出一个矩阵,满足这r+c个数不同,且这r+c个数的最大值最小。

        分析

        不难发现,矩阵中不能出现1,因为如果出现1,那么必定有一行与一列的gcd都为1

        首先对于一个单行或单列的矩阵,结果很显然是相邻两项之差为 1,这样对于该行(列)gcd=1,对于列(行)gcd 为数本身,只要让第一个数大于 2,后面递增即可。

        拓展到多行怎么做呢?同样按照上面思路,我们举一行拓展为多行的例子。

        此时列数不变,即列的 gcd 可以同样按照上面的方法,行数增加了,我发现第一行 gcd=1,那我们直接给增加的每一行乘上一个系数不就好啦。这样每一行的 gcd= 系数 *1。

        注意如果我们先算行的 gcd 的话,按上述方法此时已用的数是 1 到 r,                                            所以列构造时 gcd 应从 r+1 开始。

#include<bits/stdc++.h>
using namespace std;
int n,m,f[505][505];
int main()
{
	scanf("%d%d",&n,&m);
	if(n==1 && m==1) { cout<<0; return 0; }
	if(n==1) { for(int i=1;i<=m;i++) cout<<i+1<<" "; return 0; }
	if(m==1) { for(int i=1;i<=n;i++) cout<<i+1<<"\n"; return 0; }
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
			cout<<(n+j)*i<<" ";
		cout<<"\n";
	}
	return 0;
}

CF1266D Decreasing Debts

        题目

        洛谷翻译有点。。,容易误导读者                第一眼认为是一道图论题,结果。。。

        分析

          题意是有若干个三元组,(x,y,z) 表示 x 欠 y 一共z 块钱。

          然后试重新整理这些欠债关系使得金钱交易量最小。

        现实中,我们只关心自己借出去了多少钱,拿回来了多少钱,至于这些钱是谁给的,其实并不重要,在这道题里面也一样。

        具体地,给每个人一个余额 a,表示借出去了多少钱,也就是最终应该得到多少钱,初值为 0。

        向别人借钱则余额减去 z,借给别人前则余额加上 z。

       因为钱是谁给的不重要,所以只要随机选取一个正的和负的相互中和一下就行

       Code

   程序里不需要担心 l 和 r 位置上的值同正或同负,因为所有值都由+z和-z得到,被消掉也不会影响结果

#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m,x,y,z,l,r;
struct node{ ll a,b,z; }a[300005];
vector<node> ve;
bool cmp(node x,node y) { return x.a<y.a; }
int main()
{
	scanf("%lld%lld",&n,&m);
	for(int i=1;i<=n;i++) a[i].b=i;
	for(int i=1;i<=m;i++) scanf("%lld%lld%lld",&x,&y,&z),a[x].a+=z,a[y].a-=z;
	sort(a+1,a+1+n,cmp);
	l=1,r=n;
	while(l<r)
	{
		while(l<r && a[l].a==0) l++;
		while(l<r && a[r].a==0) r--;
		if(l>=r) break;//要注意这里也要判断
		if(a[l].a+a[r].a==0) ve.push_back((node){a[r].b,a[l].b,a[r].a}),r--,l++;
		else if(a[l].a+a[r].a<0) ve.push_back((node){a[r].b,a[l].b,a[r].a}),a[l].a+=a[r].a,r--;
		else ve.push_back((node){a[r].b,a[l].b,-a[l].a}),a[r].a+=a[l].a,l++;
	}
	cout<<ve.size()<<"\n";
	for(auto v:ve) cout<<v.a<<" "<<v.b<<" "<<v.z<<"\n";
	return 0;
}

CF1266E Spaceship Solitaire

        题目

        分析

        Code

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,ans,x,y,z,a[200005];
map<pair<int,int>,int> ma;
signed main()
{
	scanf("%lld",&n);
	for(int i=1;i<=n;i++) scanf("%lld",a+i),ans+=a[i];
	scanf("%lld",&m);
	for(int i=1;i<=m;i++)
	{
		scanf("%lld%lld%lld",&x,&y,&z);
		if(ma[make_pair(x,y)])
		{
			a[ma[make_pair(x,y)]]++;
			if(a[ma[make_pair(x,y)]]>0) ans++;
		}
		ma[make_pair(x,y)]=z; a[z]--;
		if(a[z]>=0 && z) ans--;
		cout<<ans<<"\n";
	}
	return 0;
}

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

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

相关文章

2024年 前端JavaScript入门到精通 第一天 笔记

主要讲解JavaScript核心知识&#xff0c;包含最新ES6语法&#xff0c;从基础到API再到高级。让你一边学习一边练习&#xff0c;重点知识及时实践&#xff0c;同时每天安排大量作业&#xff0c;加深记忆&#xff0c;巩固学习成果。 1.1 基本软件与准备工作 1.2 JavaScript 案例 …

Spring MVC(基于 Spring4.x)基础学习

一、SpringMVC概述 二、SpringMVC的HelloWorld 三、使用RequestMapping映射请求 四、映射请求参数&请求头 五、处理模型数据 六、视图和视图解析器 七、RESTful CRUD 八、SpringMVC表单标签&处理静态资源 九、数据转换&数据格式化&数据校验 十、处理JSON:使用…

微信小程序:实现微信小程序应用首页开发 (本地生活首页)

文章目录 小程序应用页面开发1、创建项目并配置项目目录结构配置导航栏效果三、配置 tabBar 效果四、轮播图实现4.1 创建轮播图数据容器4.2 定义一个请求轮播图数据的接口4.3 页面加载调用 数据请求接口 五、九宫格实现5.1 获取九宫格数据5.2 结构和样式的完善六、图片布局实现…

MyBatisPlus 整合 SpringBoot 遇见的问题

【异常】&#xff1a;Cause: java.sql.SQLSyntaxErrorException: Unknown column ‘udf1’ in ‘field list’… SQL: SELECT id,oper_id,btch_id,udf1, FROM scan_cyber Cause: java.sql.SQLSyntaxErrorException: Unknown column ‘udf1’ in ‘field list’; ,"messag…

Python 实现 RSI 指标计算:股票技术分析的利器系列(4)

Python 实现 RSI 指标计算&#xff1a;股票技术分析的利器系列&#xff08;4&#xff09; 介绍算法解释 代码rolling函数介绍计算LCshift函数语法&#xff1a;参数&#xff1a;返回值&#xff1a; 计算涨跌幅函数MAX介绍语法&#xff1a;参数&#xff1a;返回值&#xff1a;示例…

小米4A路由器如何刷OpenWRT并结合内网穿透实现公网远程访问

文章目录 推荐前言1. 安装Python和需要的库2. 使用 OpenWRTInvasion 破解路由器3. 备份当前分区并刷入新的Breed4. 安装cpolar内网穿透4.1 注册账号4.2 下载cpolar客户端4.3 登录cpolar web ui管理界面4.4 创建公网地址 5. 固定公网地址访问 推荐 前些天发现了一个巨牛的人工智…

USB-C音频转接器:实现边充电边听歌的新选择 | LDR6020P

随着科技浪潮的推进&#xff0c;Type-C接口已逐渐成为电子设备的主流选择&#xff0c;以其正反随意插、高速传输和强大功能等独特优势&#xff0c;在日常生活中占据越来越重要的地位。而Type-C音频转接器&#xff0c;作为连接Type-C接口与音频设备的桥梁&#xff0c;正引领着音…

Springboot集成activiti,低代码整合平台,智慧审批,前端vue

一、项目形式 springbootvueactiviti集成了activiti在线编辑器&#xff0c;快速开发平台&#xff0c;可插拔工作流服务。 二、项目介绍 本项目拥有用户管理&#xff0c;部门管理&#xff0c;代码生成&#xff0c;系统监管&#xff0c;报表&#xff0c;大屏展示&#xff0c;业…

什么样的服务器是高性能服务器?

首先&#xff0c;高性能服务器应具备高处理能力。随着业务的不断扩展和数据量的爆炸性增长&#xff0c;高性能服务器需要具备强大的计算能力&#xff0c;能够快速处理各种复杂的业务和数据。这要求高性能服务器采用先进的处理器技术&#xff0c;如多核处理器、GPU加速等&#x…

Java 学习和实践笔记(14)

OOP :面向对象编程&#xff0c;object oriented programming. 用表格就可以很好地理解类、对象、属性、以及动作这些概念。 一个表&#xff08;结构&#xff09;就对应一个类&#xff08;结构&#xff09;。所以凡叫什么类&#xff0c;自己就在心里把它叫什么表。反过来&…

Linux——信号(1)

在我们使用Linux系统的时候我们经常会使用ctrl c的方式来终止进程&#xff0c;也 会使用kill命令来杀掉进程&#xff0c;评判进程退出的健康程度中也有信号的身影。那 么Linux中的信号到底是什么&#xff1f;今天就由我来介绍Linux中的信号。1. 信号的概念 要了解计算机中的信…

电比油低,比亚迪出“王炸”,7.98万起 插混双雄荣耀出击

2月19日&#xff0c;比亚迪出“王炸”--秦PLUS、驱逐舰05荣耀版上市&#xff0c;官方指导价7.98万元起&#xff0c;正式开启电动车价格比同级别燃油车更低的时代&#xff0c;加速油转电的变革。 电比油好 油转电再提速 官方起售价7.98万的秦PLUS荣耀版、驱逐舰05荣耀版价好质更…

BUGKU-WEB 留言板1

题目描述 题目截图如下&#xff1a; 进入场景看看&#xff1a; 解题思路 之间写过一题类似的&#xff0c;所以这题应该是有什么不同的那就按照之前的思路进行测试试试提示说&#xff1a;需要xss平台接收flag&#xff0c;这个和之前说的提示一样 相关工具 xss平台&#xf…

结合memo简述useCallback的使用场景

先看一下官方对于useCallback的定义&#xff1a; useCallback是一个允许你在多次渲染中缓存函数的React Hook 这句话包含了俩个因素&#xff1a; useCallback的作用&#xff1a;缓存函数useCallback的使用场景&#xff1a;多次渲染下 什么叫多次渲染呢&#xff1f;组件嵌套的时…

MySQL命令行输入密码后闪退解决方案

使用MySQL8.0的Command&#xff0c;输入密码后闪退&#xff0c;但是如果不输入密码直接回车&#xff0c;却能直接进入MySQL环境&#xff1b;另外&#xff0c;在IDEA中也无法通过密码连接到root。在网上有如下常见的解决方案&#xff1a;(1)移动my.ini、(2)启动MySQL服务等。但是…

物联网实训室解决方案2024

一、概述 随着5G技术的广泛应用和产业经济的革新升级&#xff0c;物联网产业展现了无比广阔的未来发展潜力&#xff0c;因此对具备创新型技术技能人才的需求也日益迫切。本方案以物联网技术的最新发展为基础&#xff0c;紧密结合当前高职院校物联网实训室建设的实际情况&#…

【读点论文】Open-Set Text Recognition via Character-Context Decoupling

Open-Set Text Recognition via Character-Context Decoupling Abstract 开放集文本识别任务是一个新兴的挑战&#xff0c;在评估过程中需要额外的识别新字符的能力。我们认为&#xff0c;当前方法性能有限的一个主要原因是上下文信息对单个字符视觉信息的混淆效应。在开放集…

有趣的CSS - 新拟态输入框

我是 Just&#xff0c;这里是「设计师工作日常」&#xff0c;《有趣的css》系列已更新 11 篇了&#xff0c;今天这篇是关于新拟态风格的一个输入框效果&#xff0c;希望你们喜欢。 目录 页面效果核心代码html代码css代码 完整代码html页面css样式 页面效果 此效果使用 css 中 b…

standalone安装部署

standalone是spark的资源调度服务&#xff1b;作用和yarn是一样的&#xff1b;standlone运行时的服务&#xff1a; master服务&#xff1b;主服务&#xff1b;管理整个资源调度&#xff1b;资源的申请需要通过master进行分配&#xff1b;类似于yarn里的ResourceManager;&#x…

【ARMv8M Cortex-M33 系列 8 -- RT-Thread 堆内存 检查命令 free 实现及介绍】

文章目录 RT-Thread 堆内存 检查命令 free 实现及介绍rt_memory_info 函数验证 RT-Thread 堆内存 检查命令 free 实现及介绍 在RT-Thread系统中&#xff0c;通常可以通过rt_memory_info函数获取当前的堆内存使用信息&#xff0c;然后你可以包装这个函数来显示剩余的堆空间。rt…