2024/2/28 最小生成树 kruskal +cf div3 (929)

2024-02-29 19:12

本文主要是介绍2024/2/28 最小生成树 kruskal +cf div3 (929),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

买礼物

买礼物 - 洛谷

CF div3 929 A题 

Problem - A - Codeforces

CF div3 929 B题  

Problem - B - Codeforces


买礼物

买礼物 - 洛谷

思路:kruskal算法,有优惠就建边

完整代码:

#include <bits/stdc++.h>
#define int long long
#define PII std::pair<int,int>
const int N = 1010;
int p[N];
int find(int x)
{if(p[x]!=x) p[x]=find(p[x]);return p[x];
}
signed main()
{int a,b;int c=0,ans=0;std::cin >> a >> b;std::vector<std::pair<int,std::pair<int,int>>> g;for(int i = 1;i <= b;i ++){p[i]=i;}for(int i = 1;i <= b;i ++){for(int j = 1;j <= b;j ++){int x;std::cin >> x;if(i>=j||x==0)continue;else {int aa=std::min(x,a);g.push_back({aa, {i, j}});}}}std::sort(g.begin(),g.end());for(auto it: g){int f1 = find(it.second.first);int f2 = find(it.second.second);if (f1 != f2) {p[f1] = f2;c++;ans += it.first;}}if(c+1==b) {ans += a;std::cout << ans;}else{std::cout<<ans+(b-c)*a;}return 0;
}

CF div3 929 A题 

Problem - A - Codeforces

思路:每个数的绝对值的和

完整代码:

#include <bits/stdc++.h>
#define int long long
#define PII std::pair<int,int>
const int N = 110;
signed main()
{int t;std::cin >> t;while(t --) {int n;std::cin >> n;int ans = 0;std::vector<int> a;for (int i = 0; i < n; i++) {int x;std::cin >> x;if (x < 0)x = -x;ans += x;}std::cout << ans<<"\n";}return 0;
}

CF div3 929 B题  

Problem - B - Codeforces

思路:

分类讨论
1.如果sum%3==0 此时是3的倍数,输出答案0
2.如果sum%3==2 此时不管是删去一个数还是加上1都能构成3的倍数,所以输出答案1
3.如果sum%3==1 
  此时如果有一个数%3==1,那删去这个数就可以了,输出答案1
  如果没有任何一个数%3==1,那就要加上两个1或者删去两个数,输出答案2
       

完整代

#include <bits/stdc++.h>
#define int long long
#define PII std::pair<int,int>
const int N = 2e5+10;
signed main()
{int t;std::cin >> t;while(t --){int n;std::cin >> n;std::vector<int> a(n+1);int sum=0;int flag=0;for(int i = 1;i <= n;i ++){std::cin >> a[i];if(a[i]%3==1){flag=1;}sum+=a[i];}if(sum%3==0)std::cout<<0<<"\n";else if(sum%3==2)std::cout<<1<<"\n";else if(sum%3==1){if(flag==1)std::cout<<1<<"\n";elsestd::cout<<2<<"\n";}}return 0;
}

码:

这篇关于2024/2/28 最小生成树 kruskal +cf div3 (929)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/759775

相关文章

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到

SpringBoot实现二维码生成的详细步骤与完整代码

《SpringBoot实现二维码生成的详细步骤与完整代码》如今,二维码的应用场景非常广泛,从支付到信息分享,二维码都扮演着重要角色,SpringBoot是一个非常流行的Java基于Spring框架的微... 目录一、环境搭建二、创建 Spring Boot 项目三、引入二维码生成依赖四、编写二维码生成代码五

Android与iOS设备MAC地址生成原理及Java实现详解

《Android与iOS设备MAC地址生成原理及Java实现详解》在无线网络通信中,MAC(MediaAccessControl)地址是设备的唯一网络标识符,本文主要介绍了Android与iOS设备M... 目录引言1. MAC地址基础1.1 MAC地址的组成1.2 MAC地址的分类2. android与I

PyQt5+Python-docx实现一键生成测试报告

《PyQt5+Python-docx实现一键生成测试报告》作为一名测试工程师,你是否经历过手动填写测试报告的痛苦,本文将用Python的PyQt5和python-docx库,打造一款测试报告一键生成工... 目录引言工具功能亮点工具设计思路1. 界面设计:PyQt5实现数据输入2. 文档生成:python-

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL

Java利用docx4j+Freemarker生成word文档

《Java利用docx4j+Freemarker生成word文档》这篇文章主要为大家详细介绍了Java如何利用docx4j+Freemarker生成word文档,文中的示例代码讲解详细,感兴趣的小伙伴... 目录技术方案maven依赖创建模板文件实现代码技术方案Java 1.8 + docx4j + Fr

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.