尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

P6532 [COCI 2015/2016 #1] TOPOVI

P6532 [COCI 2015/2016 #1] TOPOVI
📅 发布时间:2026/6/18 21:09:08

思路

删掉 \((r_1,c_1)\) 位置上值为 \(val\) 的棋子相当于再在原处放置一个相同的棋子使之异或后为 \(0\),故只需考虑放置新棋子后的影响。

显然一个棋子无法被攻击的充要条件是其所在行的异或和等于所在列的异或和,故使用 \(rval,cval\) 维护行和列的异或和,\(rcnt,ccnt\) 维护异或和为 \(val\) 的行和列数量。每次在 \((r,c)\) 放置一个值为 \(val\) 的新棋子的时候,所有异或和为 \(rval_r\) 的列与 \(r\) 行的交点都将由无法被攻击转为可被攻击,这部分贡献需要加上;同时,所有异和为 \(rval_r \oplus val\) 的列与 \(r\) 行的交点将由可被攻击转为不可被攻击,需要减去其数量。

代码实现上注意两种贡献计算的先后顺序,建议使用 unordered_map,比 map 更快一点。同时注意 pair 作为键值类型需要手写哈希函数。

Code

#include<iostream>
#include<utility>
#include<algorithm>
#include<unordered_map>
#define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
using namespace std;
struct PairHash
{template<class T1,class T2>size_t operator()(const pair<T1,T2> &x)const{hash<T1>h1;hash<T2>h2;return h1(x.first)^h2(x.second);}
};
int n,k,Q;
long long ans=0;
unordered_map<int,int>rval,cval,rcnt,ccnt;
unordered_map<pair<int,int>,int,PairHash>Chequer;
void Put_Chequer(int r,int c,int val)
{ans-=(n-ccnt[rval[r]])+(n-rcnt[cval[c]]);rcnt[rval[r]]--,rcnt[rval[r]^=val]++;ccnt[cval[c]]--,ccnt[cval[c]^=val]++;ans+=(n-ccnt[rval[r]])+(n-rcnt[cval[c]]);Chequer[{r,c}]^=val;
}
int main()
{IOS;cin>>n>>k>>Q;rcnt[0]=ccnt[0]=n;while(k--){int r,c,val;cin>>r>>c>>val;Put_Chequer(r,c,val);}while(Q--){int r1,c1,r2,c2,val;cin>>r1>>c1>>r2>>c2;val=Chequer[{r1,c1}];Put_Chequer(r1,c1,val);Put_Chequer(r2,c2,val);cout<<ans<<'\n';}return 0;
}

完结撒花~

相关新闻

  • 【每日一面】BOM 是什么
  • 喵喵喵 III
  • P6680 [CCO 2019] Marshmallow Molecules

最新新闻

  • 2026年吉林职称代办选购指南:吉林工程师职称、长春职称申报、建筑职称咨询机构选择指南,服务、流程、合规三维度客观解析 - 海棠依旧大
  • 河北养鹿勾花网厂家实力排行:聚焦专业适配性 - 起跑123
  • VMware虚拟机安装Ubuntu 22.04 LTS全攻略:从配置优化到排错
  • 上海正规公司律师团队推荐 2026资质合规榜单一览 - 资讯纵览
  • 陇西宴席饭店深度测评|3家热门礼宴中心对比,办宴聚餐不踩坑 - 信息热点
  • MSC8144AMC-S高级夹层卡硬件架构与智能管理深度解析

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号