博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ 3943 [Usaco2015 Feb]SuperBull:最大生成树
阅读量:4953 次
发布时间:2019-06-12

本文共 1019 字,大约阅读时间需要 3 分钟。

题目链接:

题意:

  有n只队伍,每个队伍有一个编号a[i]。

  每场比赛有两支队伍参加,然后选一支队伍淘汰。共进行n-1场比赛,然后比赛结束。

  若某场比赛是队伍i和j参加,则该场比赛的得分为a[i] xor a[j]。

  问最大的总得分。

 

题解:

  每两支队伍(i,j)连一条边,边权为a[i] xor a[j]。

  然后求最大生成树即可。

 

AC Code:

1 #include 
2 #include
3 #include
4 #include
5 #include
6 #define MAX_N 2005 7 8 using namespace std; 9 10 struct Edge 11 { 12 int sour; 13 int dest; 14 long long len; 15 Edge(int _sour,int _dest,long long _len) 16 { 17 sour=_sour; 18 dest=_dest; 19 len=_len; 20 } 21 Edge(){} 22 friend bool operator < (const Edge &a,const Edge &b) 23 { 24 return a.len>b.len; 25 } 26 }; 27 28 int n; 29 int par[MAX_N]; 30 long long ans; 31 long long a[MAX_N]; 32 vector
edge; 33 34 void read() 35 { 36 cin>>n; 37 for(int i=0;i
>a[i]; 40 } 41 } 42 43 void build_graph() 44 { 45 for(int i=0;i

 

转载于:https://www.cnblogs.com/Leohh/p/7678346.html

你可能感兴趣的文章
Python argparse 处理命令行小结
查看>>
分布式系统心跳协议的设计
查看>>
malloc vs memset
查看>>
c++ rvo vs std::move
查看>>
linux du
查看>>
how to compile and replace ubuntu kernel
查看>>
how to write your first linux device driver
查看>>
python绘制散点图入门
查看>>
linux 配置 l2tp-client
查看>>
ros开启快速转发模式
查看>>
ROS的脚本多拨
查看>>
zabbix4.0 相关的拓扑图及centos的虚拟配置
查看>>
金蝶报错事项
查看>>
PLC实现积分的计算方法
查看>>
PLC中相关量的斜坡控制
查看>>
PLC中m法计算电机转速
查看>>
一起学习设计模式
查看>>
黑科技之三元环讲解
查看>>
supervisor安装及配置
查看>>
win10下maven的安装与配置
查看>>