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

安阳专业做网站公司教育培训机构网站

安阳专业做网站公司,教育培训机构网站,wordpress企业网站制作,乐清企业网站建设P5937 [CEOI 1999] Parity Game - 洛谷 差分数组并查集(拓展域) 离散化 差分数组思想: 区间个数——> 前缀和 转化为 差分数组 求区间就变为 num pre[r] - pre[l-1] 。 当num 为奇数: pre[l-1] 和 pre[r] 异号 当n…

P5937 [CEOI 1999] Parity Game - 洛谷

差分数组+并查集(拓展域) + 离散化

差分数组思想:

区间个数——> 前缀和 转化为 差分数组    求区间就变为 num  = pre[r] - pre[l-1]  。

当num 为奇数:  pre[l-1] 和 pre[r]  异号

当num为偶数时:同号


我们只看下标,来代替pre

并查集只存同号的数 , 将同号的数划为一个集合。前面存原本的数x,x+len是x对立面。

奇数对立面为偶数 , 反之如此。


看注释 , 要搞清楚  ll 和 rr  在奇数偶数时的关系

code:

#include <bits/stdc++.h>
using namespace std;
const int N = 10010;int father[N];void build(int n)
{for(int i=0;i<=n;i++){father[i] = i;}
}int f(int x)
{if(x != father[x]){father[x] = f(father[x]);}return father[x];
}int main()
{int n,m;cin>>n>>m;vector<int> alls;vector<vector<int>> nums(m,vector<int>(3));for(int i=0;i<m;i++){string op;cin>>nums[i][0]>>nums[i][1]>>op;if(op == "even"){   //偶数0nums[i][2] = 0;}else{    //奇数1nums[i][2] = 1;}//差分数组区间 l-1  , ralls.push_back(nums[i][0]-1);alls.push_back(nums[i][1]);}//离散化sort(alls.begin() , alls.end());  //排序alls.erase(unique(alls.begin() , alls.end()) , alls.end());  //去重int len = alls.size();   //有效下标大小build(len*2);  // 开两倍  后面存对立面for(int i=0;i<m;i++){int l=nums[i][0]-1;int r=nums[i][1];int op=nums[i][2];// 找离散化 坐标auto itl = lower_bound(alls.begin() , alls.end() , l);int ll = itl - alls.begin();auto itr = lower_bound(alls.begin() , alls.end() , r);int rr = itr - alls.begin();int fl = f(ll);   int fr = f(rr);int fl_no = f(ll+len);  //ll  对立面int fr_no = f(rr+len);  //rr  对立面if(op == 0){  //偶数//必须ll 和 rr 同号 , 也就是说ll 不能和 rr相反if(fl == fr_no){   cout<<i<<endl;return 0;}//合并x y  同号if(fl != fr) father[fl] = fr;   if(fl_no != fr_no) father[fl_no] = fr_no;    // 对立面同号}else{  //奇数   //  ll rr 异号if(fl == fr){cout<<i<<endl;return 0;}//合并  异号if(fl != fr_no) father[fl] = fr_no;   //ll  和  rr对立面同号if(fr != fl_no) father[fr] = fl_no;   //rr  和  ll对立面同号}}cout<<m<<endl;return 0;
}

http://www.dtcms.com/wzjs/108092.html

相关文章:

  • 建立网站分为几阶段惠州网络推广平台
  • 苏州建设公司新区seo整站优化公司
  • wordpress内容查看独立站优化
  • 网站建设的编程国际大新闻最新消息
  • 北京做网站的公司商集客电话福州seo视频
  • 如何建团购网站seo优化网站推广专员招聘
  • 自己的网站做app免费网站
  • 网站开发兼容性高州新闻 头条 今天
  • 注册深圳公司条件公司网站优化
  • 工业设计参考网站口碑营销的概念
  • 手机做简单的网站seo引擎搜索入口
  • 用nat123做自己的网站seo分析报告
  • 网站产品页面设计怎样建立自己的网站平台
  • 知名做网站公司有哪些北京seo百度推广
  • wordpress成品网站云部落网站seo优化推广外包
  • 扫描网站特征dede网站建设策划书案例
  • 手机视频网站开发教程如何添加百度指数
  • 做微信商城网站哪家好创新营销方式有哪些
  • 网站设计的方法百度移动端模拟点击排名
  • 全国网站建设排名腾讯nba新闻
  • 宜兴做网站打广告去哪个平台
  • 做网站如何通过流量赚钱学好seo
  • php动态网站开发教材答案商城网站建设
  • 自己怎么给网站做优化站长工具果冻传媒
  • 学做网页设计seo公司上海
  • 深圳网站设计 建设元网址创建
  • web前端要求会哪些石家庄seo按天扣费
  • 购物网站建设模板图片seo关键词优化报价
  • 上海赶集网站建设网站推广入口
  • 成都网站设计网站南京百度