POJ1733,jzoj1779-Parity game(奇偶游戏)【带权并查集,离散化】

正题

POJ题目链接:http://poj.org/problem?id=1733
jzoj题目链接:https://jzoj.net/senior/#main/show/1779


题目大意

长度为ll的01串,n个答案,表示一段区间内有偶数或奇数个1,求最多前多少个答案是对的。


解题思路

我们可以先离散化一下,然后我们再用并查集,然后两个点直接的并查集和权值表示这两个点之间1的奇偶。然后每次合并和压缩路径的时候就用异或操作。


code

#include<cstdio>
#include<algorithm>
using namespace std;
struct node{int l,r,ans;
}q[5010];
int l,n,f[5010],d[5010],a[5010*2],tot;
char c[5];
int find(int x){if(x==f[x]) return x;int fa=find(f[x]);d[x]^=d[f[x]];return f[x]=fa;
}//压缩路径
int main()
{scanf("%d%d",&l,&n);for(int i=1;i<=n;i++){scanf("%d %d %s",&q[i].l,&q[i].r,&c);if(c[0]=='e') q[i].ans=0;else q[i].ans=1;a[++tot]=q[i].l-1;a[++tot]=q[i].r;}//以上是输入sort(a+1,a+tot+1);l=unique(a+1,a+tot+1)-a-1;//以上是离散for(int i=1;i<=l;i++) f[i]=i;//初始化并查集for(int i=1;i<=n;i++){int x=lower_bound(a+1,a+1+l,q[i].l-1)-a;int y=lower_bound(a+1,a+1+l,q[i].r)-a;//找到位置int fa=find(x),fb=find(y);if(fa==fb){if(d[x]^d[y]!=q[i].ans){printf("%d",i-1);return 0;}//不符合}elsef[fa]=fb,d[fa]=d[x]^d[y]^q[i].ans;//连接}printf("%d",n);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323695.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenID Connect:OAuth 2.0协议之上的简单身份层

OpenID Connect是什么&#xff1f;OpenID Connect(目前版本是1.0)是OAuth 2.0协议(可参考本人此篇&#xff1a;OAuth 2.0 / RCF6749 协议解读)之上的简单身份层&#xff0c;用 API 进行身份交互的框架&#xff0c;允许客户端根据授权服务器的认证结果最终确认用户的身份&#x…

JavaFX触屏事件

一、Touch 接触 TOUCH_PRESSED 按压 TOUCH_MOVED 移动 TOUCH_RELEASED 释放 TOUCH_STATIONARY 长按 二、Scroll 滚动 SCROLL 滚动 SCROLL_STARTED 滚动开始 SCROLL_FINISHED 滚动结束 三、Swipe 单指滑动 SWIPE_LEFT 单指滑动向左 SWIPE_RIGHT 单指滑动向右…

P2014-选课【树形dp,背包】

正题 评测记录:https://www.luogu.org/problemnew/show/P2014 题目大意 有n门课程&#xff0c;每个课程有不同的学分和前修课&#xff0c;必须学了前修课才可以学这门。 只能修m门&#xff0c;求最大学分 解题思路 背包的思想&#xff0c;套一个树形dp。 code #include<…

JS的Date.setMonth()方法坑

一、场景复现 业务需求&#xff0c;查询时间需要设置为前一个月。 //辅助代码 Date.prototype.format function(fmt) { //author: meizz var o { "M" : this.getMonth()1, //月份 "d" : this.getDate(), …

一文看懂web服务器、应用服务器、web容器、反向代理服务器区别与联系

我们知道&#xff0c;不同肤色的人外貌差别很大&#xff0c;而双胞胎的辨识很难。有意思的是Web服务器/Web容器/Web应用程序服务器/反向代理有点像四胞胎&#xff0c;在网络上经常一起出现。本文将带读者对这四个相似概念如何区分。 1.1. Web服务器概念与基本原理 1.1.1. Web服…

bladex实现单点登录

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 前言 现在是&#xff1a;2022年4月17日16:19:51 在实际开发中&#xff0c;有时候我们有这样的需求&#xff0c;即&#xff0c;一个体系中的用户是共通的&#xff0c;比如统一体系下&#…

POJ1179,P4342-[IOI1998]Polygon【区间dp】

正题 POJ题目链接:http://poj.org/problem?id1179 洛谷评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidP4342 题目大意 一个数字环&#xff0c;每个数字之间有一个符号&#xff08;或&#x00D7;" role="presentation" style="pos…

若依实现单点登录(解析请求链接中的参数做鉴权认证)

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 前言 现在是&#xff1a;2022年4月19日19:56:56 昨天写了个bladex的单点登录&#xff0c;回想起来还是比较复杂的&#xff0c;今天又收到了个在若依里面实现单点登录。具体是这样的:别的系…

git常用的指令

最近项目从svn迁入到git&#xff0c;常用的git指令需要用到 一、git仓库安装 git config --global user.name "user name" git config --global user.email "emailemail.com"#初始化 git init#加仓库 git remote add origin https://github.com/user/proje…

Docker打包 Asp.Net Core应用,在CentOS上运行

本文主要介绍下运用docker虚拟技术打包Asp.net core应用。 Docker作为一个开源的应用容器引擎&#xff0c;近几年得到广泛的应用&#xff0c;使用Docker我们可以轻松实现应用的持续集成部署&#xff0c;一次打包&#xff0c;到处运行。 开篇借用百科上对docker的介绍。 Docker …

若依实现系统单点登录(可绕过验证码)

“大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂”前言现在是&#xff1a;2022年4月19日19:56:56昨天写了个bladex的单点登录&#xff0c;回想起来还是比较复杂的&#xff0c;今天又收到了个在若依里面实现单点登录。具体是这样的:别的系…

POJ1015-Jury Compromise【01背包,dp】

正题 题目链接:http://poj.org/problem?id1015 题目大意 每个人有A值和B值&#xff0c;要求选M个人&#xff0c;使这M个人的|SumA−SumB||SumA−SumB|最小。 解题思路 我们用SumA−SumBSumA−SumB作为原本的价格&#xff0c;然后用fi,jfi,j表示已经选了i个人&#xff0c;Su…

JavaFX其他事件

一、其他事件 InputMethodEvent.InputMethodTextChanged 文本输入改变 ContextMenuEvent.CONTEXT_MENU_REQUESTED 上下文菜单请求 二、用法 node.setOnXX(event->{//do something });node.addEventFilter(XXEvent.XX, event -> {//do something});

springboot解析txt文件顺便加到数据库中(nohup文件)

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 前言 现在是&#xff1a;2022年4月20日13:33:23 以前是怎么都没想到&#xff0c;我需要在服务器的nohup文件中找记录&#xff0c;然后往数据库里面更新。具体因为啥不提了&#xff0c;说多…

ASP.Net Core 2.0中的Razor Page不是WebForm

随着.net core2.0的发布&#xff0c;我们可以创建2.0的web应用了。2.0中新东西的出现&#xff0c;会让我们忘记老的东西&#xff0c;他就是Razor Page。下面的这篇博客将会介绍ASP.Net Core 2.0中的Razor Page。 在ASP.Net Core 2.0新特点之一就是支持Razor Page。今天的Razor…

Ch5302-金字塔【区间dp】

正题 题目链接:http://contest-hunter.org:83/contest/0x50%E3%80%8C%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E3%80%8D%E4%BE%8B%E9%A2%98/5302%20%E9%87%91%E5%AD%97%E5%A1%94 题目大意 给出一个欧拉序(只要到达每一个结点就把他加进序列的那种,编号会重复)&#xff0c;求有多…

常用公有云接入

一、云平台 1、AWS(亚马逊) 2、谷歌 3、AZURE(微软) 4、阿里 5、腾讯 6、华为 二、接入方式 1、REST API 2、SDK 三、云ECS 1、实例 2、系统盘 3、数据盘 4、网关 5、公有IP 6、共享带宽&#xff08;阿里云&#xff09;

记录几个部署项目常用的命令

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 查询运行项目的进程 ps -aux|grep farbeat 杀死进程 kill -9 1600336进入目录 cd /www/wwwroot/farbeat/查看文件 ls将日志输出在nohup文件中的方式启动项目(注意.jar文件的名字) nohup j…

C#最佳工具集合:IDE、分析、自动化工具等

C#是企业中广泛使用的编程语言&#xff0c;特别是那些依赖微软的程序语言。如果您使用C#构建应用程序&#xff0c;则最有可能使用Visual Studio&#xff0c;并且已经寻找了一些扩展来对您的开发进行管理。但是&#xff0c;这个工具列表可能会改变您编写C#代码的方式。 C#编程的…

jzoj1768,P2704,POJ1185-[NOI2001]炮兵阵地【状态压缩dp】

正题 POJ链接:http://poj.org/problem?id1185 jzoj链接:https://jzoj.net/senior/#main/show/1768 洛谷评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidP2704 正题 每个炮兵攻击范围是上左下右各2格&#xff0c;高山地区不可以放炮兵&#xff0c;求所以…