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

Codeforces Round 1014 (Div. 2)

文章目录

  • 2025.3.30 Div2
    • A. Kamilka and the Sheep(gcd)
      • 题意
      • 思路
      • 代码
      • 题外话
    • B. Lady Bug(01交换)
      • 题意
      • 思路
    • C. +1-1数组最大值
      • 题意
      • 思路
      • 代码
    • 总结

2025.3.30 Div2

Dashboard - Codeforces Round 1014 (Div. 2) - Codeforces

A. Kamilka and the Sheep(gcd)

题意

给出一个数组,可以每个数字加上d。任选两个数字,得到最大公约数。

思路

如果是两个数a,b, 加上相同的数字,求他们的最大公约数x。

算一算就知道,max(x)=abs(a-b)

所以答案就是排序后a[n]-a[1]

代码

void solve()
{
    int n,mx=0,j=0,k=0;
    cin>>n;
    fir(i,1,n)
    {
        cin>>a[i];
    }
    sort(a+1,a+n+1);
    cout<<a[n]-a[1]<<'\n';
    
}

题外话

起初,想着数据小,暴力也可以,打算两两判断,想着d的取值。

这时已经联系到差值了,应该再多想一点,gcd该是多少,整个数组该怎么算。

后来还wa了一发,如此简单,羞愧、

B. Lady Bug(01交换)

题意

给出两个串a b, a i a_i ai可以和 b i − 1 b_{i-1} bi1交换, b i b_i bi可以和 a i − 1 a_{i-1} ai1交换。任意次操作后,是否可使第一个串全为0.

思路

终于通了!

昨天这道题卡我太长时间了,实在是无从下手。如今看来,肯定是当时太呆了 QWQ


请添加图片描述

与我而言,不易知,数字移动只有这两种轨迹。

对于绿色轨迹至少需要存在(n+1)/2 个0,黄色轨迹至少需要存在 n/2 个0

void solve()
{
	int n,c1=0,c2=0;
	string a,b;
	cin>>n>>a>>b;
	fir(i,0,n-1)
	{
		if(i&1)
		{
			if(a[i]=='0') c1++;
			if(b[i]=='0') c2++;
		}
		else
		{
			if(a[i]=='0') c2++;
			if(b[i]=='0') c1++;
		}
	}
	if(c2>=(n+1)/2&&c1>=n/2)
	cout<<"YES\n";
	else
	cout<<"NO\n";
}

C. +1-1数组最大值

题意

阿苏娜认为收到的礼物的美观程度为 max(a1,a2,…,an) 。她可以执行以下任意次数的操作(可能是零)。

  • 1≤i≠j≤n 中的 ai+aj 为奇数和 ,ai>0 ,将 ai 减少 11 ,将 aj 增加 1 。

求最终数组的最大值。

思路

从奇偶的个数入手,可以发现最终奇数的个数是没有变化的。

  • 所有数字的奇偶性相同,无法进行操作
  • 至少一个奇数,偶数:

​ 先留下一个偶数,将其他偶数累加到奇数上。此时用这个偶数依次和所有奇数进行操作

​ 当原本的奇数为1时,停止操作。原来的偶数仍然为偶数,再接着和下一个奇数操作。

​ 直至剩下最后一个奇数,将其减小为0.

​ 所以答案是:sum-c(奇数)+1

代码

void solve()
{
    int n,j=0,o=0,mx=0,sum=0;
    cin>>n;
    fir(i,1,n)
    {
        cin>>a[i];
        if(a[i]&1) j++;
        else o++;
        mx=max(mx,a[i]);
        sum+=a[i];
    }
    if(j==0||o==0)
    cout<<mx<<'\n';
    else
       cout<<sum-j+1<<"\n";
}

总结

又是掉分的一场

相关文章:

  • Jetson 设备卸载 OpenCV 4.5.4 并编译安装 OpenCV 4.2.0
  • 电商---part01 项目整体
  • Keil5工程中.uvoptx和.uvprojx后缀名什么意思?
  • 【设计模式】深入解析设计模式:门面模式(外观模式)的定义、优点和代码实现
  • 383. 赎金信
  • 【Git】-- 处理 Git 提交到错误分支的问题
  • 深入理解哈希优化策略与TypeScript实现
  • 【LeetCode Solutions】LeetCode 111 ~ 115 题解
  • 快速构建个人本地知识库管理系统与实现RAG问答
  • JVM面试专题
  • JavaScript 事件流与事件委托
  • VMware Workstation下载,母盘安装,启动的设置,克隆,其他(详细图文)
  • 双重token自动续期解决方案
  • Forking Workflow 详解
  • C语言基础知识10---栈、队列、树
  • leetcode 169.Majority Element
  • window离线全局安装yarn
  • 【Rtklib入门指南】4. 使用RTKLIB进行载波相位差分定位(RTK)
  • Scala(2)
  • QT学习day1
  • 超级工程网站建设上海中心大厦/沈阳网站建设
  • 学校网站 建设措施/高端网站建设深圳
  • 深圳市社会保险网站/武汉seo认可搜点网络
  • 源码下载网站/百度seo营销公司
  • 做网络推广应该去哪些网站推广呢/友情链接怎么弄
  • 如何删除网站黑链/社群推广平台