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

做任务赚q币网站wordpress订阅功能

做任务赚q币网站,wordpress订阅功能,网站应具有的功能模块,网站建设设计软件239. 奇偶游戏 - AcWing题库 小 A 和小 B 在玩一个游戏。 首先,小 A 写了一个由 0 和 1 组成的序列 S,长度为 N。 然后,小 B 向小 A 提出了 M 个问题。 在每个问题中,小 B 指定两个数 l 和 r,小 A 回答 S[l∼r] 中…

239. 奇偶游戏 - AcWing题库

小 A 和小 B 在玩一个游戏。

首先,小 A 写了一个由 0 和 1 组成的序列 S,长度为 N。

然后,小 B 向小 A 提出了 M 个问题。

在每个问题中,小 B 指定两个数 l 和 r,小 A 回答 S[l∼r] 中有奇数个 1 还是偶数个 1。

机智的小 B 发现小 A 有可能在撒谎。

例如,小 A 曾经回答过 S[1∼3]中有奇数个 1,S[4∼6]中有偶数个 1,现在又回答 S[1∼6] 中有偶数个 1,显然这是自相矛盾的。

请你帮助小 B 检查这 M 个答案,并指出在至少多少个回答之后可以确定小 A 一定在撒谎。

即求出一个最小的 k,使得 01 序列 S 满足第 1∼k 个回答,但不满足第 1∼k+1 个回答。

输入格式

第一行包含一个整数 N,表示 0101 序列长度。

第二行包含一个整数 M,表示问题数量。

接下来 M 行,每行包含一组问答:两个整数 l 和 r,以及回答 even 或 odd,用以描述 S[l∼r] 中有偶数个 1 还是奇数个 1。

输出格式

输出一个整数 k,表示 01 序列满足第 1∼k 个回答,但不满足第 1∼k+1 个回答,如果 01 序列满足所有回答,则输出问题总数量。

数据范围

N≤109,M≤5000

输入样例:
10
5
1 2 even
3 4 odd
5 6 even
1 6 even
7 10 odd
输出样例:
3

 解析:

带权值并查集:

#include<iostream>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<math.h>
#include<map>
#include<sstream>
#include<deque>
#include<unordered_map>
#include<unordered_set>
#include<bitset>
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int, int> PII;
typedef pair<double, double> PDD;
const int INF = 0x3f3f3f3f, mod = 1e9;
const int N = 5e3 + 10;
int n,m;
int f[N],d[N];
unordered_map<int,int>mp;int get(int a){if(!mp.count(a))mp[a]=++n;return mp[a];
}int find(int a){if(f[a]!=a){int t=find(f[a]);d[a]^=d[f[a]];f[a]=t;}return f[a];
}int main(){cin>>n>>m;n=0;int ans=m;for(int i=1;i<N;i++)f[i]=i;for(int i=1;i<=m;i++){int a,b;scanf("%d%d",&a,&b);a=get(a-1),b=get(b);string s;cin>>s;int t=0;if(s=="odd")t=1;int pa=find(a),pb=find(b);if(pa==pb){if(d[a]^d[b]!=t){ans=i-1;break;}}else{f[pa]=pb;d[pa]=d[a]^d[b]^t;}}// cout<<"_______";cout<<ans<<endl;return 0;
}

邻域并查集:


#include<iostream>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<math.h>
#include<map>
#include<sstream>
#include<deque>
#include<unordered_map>
#include<unordered_set>
#include<bitset>
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int, int> PII;
typedef pair<double, double> PDD;
const int INF = 0x3f3f3f3f, mod = 1e9;
const int N = 4e4 + 10,M=(N-5)/2;
int n,m;
int f[N];
unordered_map<int,int>mp;int get(int a){if(!mp.count(a))mp[a]=++n;return mp[a];
}int find(int a){if(f[a]!=a)f[a]=find(f[a]);return f[a];
}int main(){cin>>n>>m;n=0;for(int i=0;i<N;i++){f[i]=i;}int ret=m;for(int i=1;i<=m;i++){int a,b;string s;scanf("%d%d",&a,&b);cin>>s;a=get(a-1),b=get(b);if(s=="odd"){if(find(a)==find(b)){ret=i-1;break;}f[find(a+M)]=find(b);f[find(b+M)]=find(a);}else{if(find(a+M)==find(b)){ret=i-1;break;}f[find(a)]=find(b);f[find(a+M)]=find(b+M);}}cout<<ret<<endl;return 0;
}

http://www.yayakq.cn/news/695594/

相关文章:

  • 网站定位与建设沈阳网站建设设计
  • 用.net做网站如何查询网站哪个公司做的
  • 网站设计 成都南昌大学南昌网站建设公司
  • 北京网站建设浩森宇特公众号 微网站建设方案
  • 电子商务网站的建设流程图seo网站推广实例
  • 深圳专门做写字楼的网站海南建设厅网站
  • win2012 iis配置网站个人做公司网站
  • 仿站怎么修改成自己的网站开发手机网站用什么好
  • 专门做超市dm网站中国风电商网站建设
  • 网站后台登录界面保定 网站建设软件开发
  • 邯郸建移动网站费用扫wordpress漏洞工具
  • 明星用什么软件做视频网站putty搭建wordpress
  • 济南网站建站推广昆明做商城网站多少钱
  • 多语种网站建设公司梅州建站网络科技有限公司
  • 成都电商平台网站设计企业邮箱账号是什么
  • 域名解析网站公司官网搭建
  • 青岛西海岸新区建设网站wordpress 备份插件 汉化
  • 加强网站建设的意见百度网址
  • 嘉兴网站建设系统北京核子华曦检测所
  • 网站开发与设计实训心得一千字帮别人做设计图的网站
  • 电子商务网站建设试卷及答案南宁网站建设方案报价
  • 模块化局域网网站建设软件网页设计师中级技能要求
  • 百度多长时间收录网站免费产品网站建设
  • 做网站和软件哪个挣钱网站建站维护运营
  • 建设网站 报告闵行区网站
  • 秦皇岛 网站制作定制软件开发公司哪家好
  • 贷款网站开发酒店网站源码
  • 门户网站建设模板网站制作与免费网站建设
  • 官方网站建设意义不备案的网站有那些
  • 一号网站建设网站建设公司组织架构