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

做茶道网站培训机构招生方案模板

做茶道网站,培训机构招生方案模板,南昌网站建设设计,宝安网站推广题目要求把点涂成白和黑两种颜色,如果一条边左右两端是不同的颜色的话,结果就异或这跳边的权值,求结果最大是多少 把边的贡献转换成点的贡献 我们只考虑白色点的情况下,如果一个点A是白色,就把结果异或上这一个点A周…

题目要求把点涂成白和黑两种颜色,如果一条边左右两端是不同的颜色的话,结果就异或这跳边的权值,求结果最大是多少

把边的贡献转换成点的贡献

我们只考虑白色点的情况下,如果一个点A是白色,就把结果异或上这一个点A周围的所有边,

如果在该点周围还有一个白色点B的话,那么我们同样把结果异或上这个点B的所有边

因为我们知道两个点是有线段相连,而且两个点都异或上该点周围的所有边了

所以两个点相邻的线段就被去掉了

其他点同理

这时候我们就可以把这个问题转换成一个线性基的问题

已知所以点的贡献是该点异或上周围所有边

求从n个点中选出一部分点染成白色的最大异或和

const int inf = 0x3f3f3f3f3f3f3f3f, N = 2e5 + 5, mod = 1e9 + 7;
vector<int>q[N];
int a[N];
signed main()
{ios_base::sync_with_stdio(0); cin.tie(0), cout.tie(0);int T;cin >> T;while (T--){int n, m;cin >> n >> m;for (int i = 1; i <= n; i++) {q[i].clear(); a[i] = 0;}while (m--){int u, v, w;cin >> u >> v >> w;q[u].push_back(w);q[v].push_back(w);}for (int i = 1; i <= n; i++) {for (auto w : q[i]){a[i] ^= w;}}int k = 1;for (int i = 32; i >= 0; i--){for (int j = k; j <= n; j++) {if (a[j] >> i & 1) {swap(a[j], a[k]);break;}}if (!(a[k] >> i & 1)) continue;for (int j = 1; j <= n; j++) {if (j != k && (a[j] >> i & 1))a[j] ^= a[k];}k++;if (k == n + 1) break;}int res = 0;for (int i = 1; i <= k; i++) {res ^= a[i];}cout << res << "\n";}
}

http://www.dinnco.com/news/60910.html

相关文章:

  • 做网站 违法做一个推广网站大概多少钱
  • 苏州网站建设价格免费推广网站2024
  • wordpress文章展示相册兰州seo快速优化报价
  • 视频网站制作费用网站流量统计平台
  • 做网站系统的最好用的搜索引擎
  • 网站架设教程电脑学校培训
  • 您的网站未备案 或者原备案号被取消个人博客登录入口
  • 佛山 网站建设关键词歌词表达的意思
  • 绵阳网站设计公司泉州seo培训
  • 乌班图系统做网站网站seo优化价格
  • 做网站的工资高吗百度免费下载安装百度
  • 安徽静安集团网站建设百度竞价开户流程
  • 昆山有建设网站的吗东莞做网站的联系电话
  • 独立站搭建公司百度 搜索热度
  • 衡水市做网站注册推广
  • 西部数码成品网站关键词营销优化
  • 做模具做什么网站竞价代运营
  • asp网站 攻击郑州seo技术培训班
  • wordpress 配置价格表seo免费资源大全
  • 网站电子商务类型免费的黄冈网站有哪些平台
  • 网站开发平台论文优秀网站设计
  • 政府网站集约化建设作用手机创建网站免费注册
  • 做么网站有黄怎样做好网络营销推广
  • 小程序有哪些开发平台杭州seo优化
  • 哈尔滨云建站模板互联网营销师考证多少钱
  • c 做网站怎么显示歌词广州疫情今天最新消息
  • 域名如何做网站推广软件一键发送
  • 做php网站时如何建立数据库网站运维
  • 龙岩好工作人才网最新招聘信息搜索引擎优化
  • linux wordpress 主题枣庄网络推广seo