Codeforces Round #764 (Div. 3) - G - MinOr Tree ( 贪心 )

第50期:Codeforces-Round #764 (Div. 3) A. Plus One on the Subset tags: math; *800 solution:ans=max{a[i]|1<=i<=n}-min{a[i]|1<=i<=n} code: #include<bits/stdc++.h> using namespace std; const int maxn=50+5; int t; int n,a[maxn]; int main(){ ios::sync_with_stdio(0); cin. 阅读详情

题目连接:点击进入

题目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

题意

n 个点 m 条边,求最小或 ( or ) 生成树,即树的所有边或值最小。

思路

由于是求最后所有边或的值最小,或值即对于生成树的所有边来说,他们的每个对应位只要有一个 1 那么这位最终就是 1 ,要是想结果尽可能小,那么我们当然是希望每个对应位都是 0 才好,如果无法为 0 ,那么这一位越低越好,因此我们可以从高位往低位枚举每一位,如果这一位全 0 的边能够凑成一棵生成树,那么这一位为 1 的边就可以不要,那么最终结果的这一位就可以为 0 。要是凑不成,那么说明需要有这一位为 1 的边参与才能构成生成树,最终结果的这一位就为 1 。记录枚举的所有位数 0 1 情况,加起来就是答案。

代码

//#pragma GCC optimize(3)//O3
//#pragma GCC optimize(2)//O2
#include<iostream>
#include<string>
#include<map>
#include<set>
//#include<unordered_map>
#include<queue>
#include<cstdio>
#include<vector>
#include<cstring>
#include<stack>
#include<algorithm>
#include<iomanip>
#include<cmath>
#include<fstream>
#define X first
#define Y second
#define base 233 
#define pb push_back
#define INF 0x3f3f3f3f3f3f3f3f
#define pii pair<int,int>
#define lowbit(x) x & -x
#define inf 0x3f3f3f3f
//#define int long long
//#define double long double
//#define rep(i,x,y) for(register int i = x; i <= y;++i)
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const double pai=acos(-1.0);
const int maxn=1e6+10;
const int mod=1e9+7;
const double eps=1e-9;
const int N=5e3+10;
/*--------------------------------------------*/
inline int read()
{
    int k = 0, f = 1 ;
    char c = getchar() ;
    while(!isdigit(c)){if(c == '-') f = -1 ;c = getchar() ;}
    while(isdigit(c)) k = (k << 1) + (k << 3) + c - 48 ,c = getchar() ;
    return k * f ;
}
/*--------------------------------------------*/

int t,n,m,pre[maxn];
bool vis[maxn];
struct node
{
	int x;
	int y;
	int w;
}p[maxn];

int find(int x)
{
	if(x==pre[x]) return x;
	else return pre[x]=find(pre[x]);
}
void unions(int x,int y)
{
	int fx=find(x);
	int fy=find(y);
	if(fx!=fy)
		pre[fx]=fy;
}

int main() 
{
//	ios::sync_with_stdio(false);
//	cin.tie(0);cout.tie(0);
	cin>>t;
	while(t--)
	{
		cin>>n>>m;
		for(int i=1;i<=m;i++) 
			cin>>p[i].x>>p[i].y>>p[i].w;
		int ans=0;
		for(int i=31;i>=0;i--)
		{
			for(int j=1;j<=n;j++) pre[j]=j;
			for(int j=1;j<=m;j++)
			{
				if(vis[j]) continue;
				if((p[j].w>>i)&1) continue;
				unions(p[j].x,p[j].y);
			}
			int sum=0;
			for(int j=1;j<=n;j++)
				if(pre[j]==j)
					sum++;
			if(sum==1)
			{
				for(int j=1;j<=m;j++)
					if((p[j].w>>i)&1)
						vis[j]=1;
			}
			else
				ans+=(1<<i);
		}
		cout<<ans<<endl;
		for(int i=1;i<=m;i++) vis[i]=0;
	}
    return 0;
} 

Agisoft Metashape相机标定笔记 使用Metashape进行自动相机标定是可能的。(可选:使用打印的棋盘格图案,但需保证它是平坦的且单元格是正方形)。相机标定步骤支持全相机标定矩阵的估计,包含非线性的畸变参数。相机模型的细节请参照附录D——相机模型板块。:在通用的工作流程中,相机标定步骤可以跳过。因为Metashape会在图像定向过程中进行相机自标定。但是,如果定向结果不稳定,例如,由于影像之间缺乏连接点,额外进行单独的相机标定步骤也许是有用的。 阅读详情

相关推荐

新年美食鉴赏——基于注意力机制CBAM的美食101分类

新年美食鉴赏——基于注意力机制CBAM的美食101分类一、数据预处理1.数据集介绍2.读取标签3.统一命名4.整理图片路径5.划分训练集与验证集6.定义美食数据集二、注意力机制1.简介2.卷积块注意力网络——CBAM通道注意力模块CAM空间注意力模块SAM3.将通道、空间注意力模块合并三、基于卷积块注意力模块的ResNet-CBAM1.代码实现2.模型测试3.查看网络结构4.模型训练5.模型预测四、总结与升华个人简介 春节是一年当中最隆重、最盛大的节日,吃得最好的一餐可能就是年夜饭了,想想就很激动呢!随着新

zbp_12138的博客 1万+

Codeforces Round #764 (Div. 3)

目录A - Plus One on the SubsetB - Make APC - Division by Two and PermutationD - Palindromes ColoringE - Masha-forgetfulG - MinOr Tree A - Plus One on the Subset 最大最小值之差 #include <bits/stdc++.h> using namespace std; typedef long long ll; const ll mod =

kaka03200的博客 557

SAP BAPI调用避坑指南:处理MD61/MD62计划独立需求时,这些参数和返回值你必须检查

本文详细解析了SAP BAPI调用中处理MD61/MD62计划独立需求的关键参数和返回值检查要点,包括版本控制、日期类型和删除标记等核心参数设置,以及常见错误排查和高级调试技巧,帮助开发者高效管理需求计划数据。

weixin_30316097的博客 611

Codeforces Round #764 (Div. 3)题解(A-D,F)

2022.1.11Codeforces Round #764 (Div. 3)场题解

m0_61875435的博客 609

从一个 ASIN 看透亚马逊:商品模型背后的增长飞轮

在亚马逊电商体系中,每件商品背后都有一套严密的商品建模逻辑。本篇文章以“ASIN 的一生”为线索,系统拆解了亚马逊的商品模型:从飞轮战略出发,剖析 SDP(Single Detail Page)机制如何实现标准化展示;再到 ASIN 编码、父子变体结构与 Offer 分离模型,逐层解析商品信息如何被建构、聚合与呈现。通过图解与案例,文章帮助读者理解商品建品流程、同款聚合原则、价格控制机制等核心逻辑,避免常见运营误区,是一份面向运营、产品、技术人员的实用参考指南。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 13万+

大模型应用开发 100 天:Python + LLM 从入门到精通 day01~环境搭建与开发工具

Day 1 正式开启《大模型应用开发 100 天》实战旅程。本文聚焦 AI 开发最容易被忽视却至关重要的环境搭建环节,系统讲解基于 pyenv、uv、VS Code 构建一套可复现、项目隔离的标准化 Python 开发工具链。你将掌握多 Python 版本管理、极速依赖安装、虚拟环境隔离、代码规范配置完整流程,配套可直接运行的环境校验脚本与 Mermaid 架构图,规避版本冲突、环境污染等高频踩坑问题,为后续 99 天 LLM 项目开发筑牢底层基础。来自华北理工大学段一凡的博客文章

段一凡的博客 246

MinOr Tree(1900)位运算,或运算,贪心 Codeforces Round #764 (Div. 3)

G. MinOr Tree time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output Recently, Vlad has been carried away by spanning trees, so his friends, without hesitation, gave him a connected weighted undirected gra

m0_51448653的博客 426

8、干式变压器

干式变压器的发展,是人类不断挑战材料科学和热物理极限的过程,每一次技术突破,都是在。温度升高,ε_r反而下降(因为分子活动性增强,极化响应变慢)。:固体导热的热阻比液体对流大一个数量级,这是无法逾越的物理规律。Nomex在高温下不是逐渐分解,而是保持性能直到一个临界点。如果 T_a = 40°C,则 T_c = 146.7°C。干式变压器(固体介质分隔):热场、电场、流场(空气)形成三维氢键网络,即使在高温下也能保持机械强度。:不是在现有技术上修修补补,而是寻找新的。仍在H级绝缘允许范围内(≤180°C)

renpeng2692873032的博客 228

Codeforces Round #764 (Div. 3) A - G

A 每次操作可以选择任意个元素同时减1,问最少多少次操作能让所有元素相等 显然是最大值和最小值的差值 #include <bits/stdc++.h> using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int t; cin >> t; while(t--){ int n; c

ComingLiu的博客 643

在时间轴上联动多张内表:ABAP 的 PROVIDE ... ENDPROVIDE 区间联动迭代实战

PROVIDE 是 ABAP 中处理有效期区间数据的强大工具,它能自动将多张内表按时间维度切片并联合处理。其核心功能包括:指定区间边界字段(BOUNDS),定义外部总区间(BETWEEN),并通过工作区和标志位(VALID)标识每张表在当前子区间是否生效。该语法特别适合 HR 信息类型等有效期数据,能避免手动处理区间重叠、排序和空档等问题。使用时需注意字段投影(FIELDS)限制、工作区只读原则,以及异常处理(如区间重叠或未排序)。典型应用场景包括员工调岗记录、价格有效期管理等需要时间轴联动的业务逻辑。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1670

从零到精通:BLDC电机驱动电路详解与设计思路

这套电机驱动电路从核心控制器到反馈采集模块,涉及了BLDC电机驱动的方方面面。每一个模块的设计和选择都需要综合考虑系统需求和实际使用环境。在实际应用中,很多细微的设计改进都会显著影响电机的运行性能。

weixin_43199439的博客 3100

【Codeforces】Round #764 (Div. 3) 补题

Plus One on the Subset standard input/output Division by Two and Permutation Palindromes Coloring Masha-forgetful Interacdive Problem MinOr Tree

红点雷龙XL 710

GEE:使用 CCDC 算法进行连续变化检测和分类

连续变化检测和分类(CCDC)算法是一种广泛应用于遥感数据分析的方法,可以用于检测土地覆盖变化、农作物生长状态的变化以及水资源的变化等。Google Earth Engine是一个强大的云端平台,提供了丰富的遥感数据和工具,可以用于执行各种类型的遥感数据分析。本文将介绍如何使用Google Earth Engine的CCDC算法进行连续变化检测和分类。

养乐多的博客 5679

Codeforces Round #764 (Div. 3)部分题解

本篇题解只是记录我的做题过程代码,不提供最优解 (另外这里所有的时间复杂度都只分析单个样例,不算ttt的时间复杂度) A 点击此处查看对应的题目. 本题模拟 本题只要读懂题意,其实就可以很快知道他是最小值即可。 时间复杂度 O(n)O(n)O(n) #include <iostream> #include <algorithm> #include <vector> #include <cstring> using namespace std; const in

山中一扶苏的博客 433

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Codeforces Round #756 (Div. 3) D. Weights Assignment For Tree Edges

题目链接:Problem - D - Codeforces You are given a rooted tree consisting ofnnvertices. Vertices are numbered from1tonn. Any vertex can be the root of a tree. Atreeis a connected undirected graph without cycles. Arooted treeis a tree with a selected ...

m0_55682843的博客 667

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Codeforces Round #764 (Div. 3) G. MinOr Tree

G. MinOr Tree 题目链接 题意: 给定n个顶点和m条边(无向边),其中m>=n-1。 求:保留n-1条边,并且是图为连通图(不存在环),使得n-1条边的权值进行按位与(“|”)运算,使得权值和(所有边“按位与和”)最小。 思路与代码: #include<bits/stdc++.h> using namespace std; typedef long long ll; const int MAXN=2e5+5; void Get_YES_NO(int flag){printf("

qq_41476257的博客 434

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【超好懂的比赛题解】 Codeforces Round #764 (Div. 3)

title : Codeforces Round #764 (Div. 3) date : 2022-2-25 tags : ACM,练习记录 author : Linno 题目链接:https://codeforces.com/contest/1624 做题进度:已补完 A-Plus One on the Subset 题意 给定一个长度为nnn的序列aaa,每次随便选某些下标使得他们的元素值+1+1+1,问多少次操作后序列中的所有元素相等。 思路 每次操作都是任意选某些数,操作结束时想必所有数都达到.

SC_Linno的博客 616

Codeforces Round #764 (Div. 3) F. Interacdive Problem (交互题、折半查找)

Codeforces 1627 Interacdive Problem (交互题、折半查找)

mldl_的博客 538

Codeforces Round #734 (Div. 3) 题解

Codeforces Round #734 (Div. 3) 1551A. Polycarp and Coins 题意: 结账时,一共花费n元,要求只使用1元与2元的硬币进行支付,并且两种硬币的数量之差的绝对值要最小,问使用1元与2元硬币的数量各是多少? 思路: 如果n%3==0,说明两种硬币数量相等,都为n/3。 如果n%3==1,说明还剩1元需要使用面值为1元的硬币进行支付,那么,1元硬币数量为n/3+1,2元硬币数量为n/3。 如果n%3==2,说明还剩2元需要使用面值为2元的硬币进行支付,那么

满天星的博客 473

Codeforces Round #764 (Div. 3) (A-D)题解

A. Plus One on the Subset 题目大意:给你一个数组,你可以一次选择其中任意一个或多个数+1,问最小操作多少次使得数组各个元素相等 思路:记录最大值和最小值,答案为二者之差 代码: void work() { cin >> n; int maxn = 0; int minn = 2e9; for (int i = 0; i < n; i++) { int temp;

Abmcar的博客 608
上一篇: Educational Codeforces Round 32 - G. Xor-MST ( 01字典树 + 分治 )
下一篇: Codeforces Round #171 (Div. 2) - E - Beautiful Decomposition( 贪心 )
Cosmic_Tree
博客等级 码龄7年 134粉丝 337原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值