当前位置:网站首页>CF1634E Fair Share
CF1634E Fair Share
2022-07-05 05:31:00 【solemntee】

The question : Yes m m m An array , The number of numbers in each array is even . Divide each array in half to the set A 、 B A、B A、B Make the final resettable same, judge whether it is legal, and give the scheme .
First of all, I probably only think of Euler circuit on the court , But because there is no demolition point to build a map , We can only do the case of non re set , Later, I had no choice but to broadcast .
The method is to create a bipartite map , Left m m m Dots represent each array , Right c n t cnt cnt( Number of digital categories ) A little bit .
Numbers from the left to the right i i i The directed edge of represents i i i among A A A aggregate , On the contrary, it means to give B B B aggregate . It is easy to know that the original problem is equivalent to searching Euler circuits on bipartite graphs .
Then because there is no need to output the path , Just dye the edges with black and white , Then keep searching the ring .
Then finding a ring will not affect the Euler circuit property of the complementary graph , It is also obvious that Euler can definitely search a ring , That's it .
By the way, please enjoy the new one l a m b d a lambda lambda function
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
int m;
scanf("%d",&m);
vector<vector<int>>a(m+1),ans(m+1);
map<int,int>mp,cnt;
int asdf=0;
for(int i=1;i<=m;i++)
{
int n;
scanf("%d",&n);
a[i].resize(n+1);
ans[i].resize(n+1,-1);
for(int j=1;j<=n;j++)
{
scanf("%d",&a[i][j]);
if(mp[a[i][j]]==0)mp[a[i][j]]=++asdf;
cnt[mp[a[i][j]]]++;
}
}
for(int i=1;i<=asdf;i++)if(cnt[i]%2==1)
{
printf("NO");
return 0;
}
vector<vector<pair<int,int>>>gra(4e5+5);
vector<int>cur(4e5+5);
const int MX=2e5;
for(int i=1;i<=m;i++)
{
for(int j=1;j<a[i].size();j++)
{
gra[i].push_back({
mp[a[i][j]]+MX,j});
gra[MX+mp[a[i][j]]].push_back({
i,j});
cur[i]++;
cur[MX+mp[a[i][j]]]++;
}
}
function<void(int,int)>dfs=[&](int now,int flag)
{
int u=now;
while(cur[u])
{
cur[u]--;
auto [to,pos]=gra[u][cur[u]];
while(ans[min(u,to)][pos]<0)
{
ans[min(u,to)][pos]=flag;
dfs(to,1-flag);
}
}
};
for(int i=1;i<=m;i++)dfs(i,0);
printf("YES\n");
for(int i=1;i<=m;i++)
{
for(int j=1;j<ans[i].size();j++)
{
if(ans[i][j]==0)printf("L");
else printf("R");
}
printf("\n");
}
return 0;
}
边栏推荐
- To be continued] [UE4 notes] L4 object editing
- Configuration and startup of kubedm series-02-kubelet
- Haut OJ 2021 freshmen week II reflection summary
- Acwing 4300. Two operations
- Kubedm series-00-overview
- Haut OJ 1221: a tired day
- Educational codeforces round 109 (rated for Div. 2) C. robot collisions D. armchairs
- Acwing 4301. Truncated sequence
- 全国中职网络安全B模块之国赛题远程代码执行渗透测试 //PHPstudy的后门漏洞分析
- [es practice] use the native realm security mode on es
猜你喜欢

YOLOv5添加注意力机制

个人开发的渗透测试工具Satania v1.2更新

Gbase database helps the development of digital finance in the Bay Area

A new micro ORM open source framework

object serialization

剑指 Offer 05. 替换空格

Double pointer Foundation

Remote upgrade afraid of cutting beard? Explain FOTA safety upgrade in detail
![[speed pointer] 142 circular linked list II](/img/f8/222a360c01d8ef120b61bdd2025044.jpg)
[speed pointer] 142 circular linked list II

一个新的微型ORM开源框架
随机推荐
Alu logic operation unit
Haut OJ 1245: large factorial of CDs --- high precision factorial
动漫评分数据分析与可视化 与 IT行业招聘数据分析与可视化
Romance of programmers on Valentine's Day
全国中职网络安全B模块之国赛题远程代码执行渗透测试 //PHPstudy的后门漏洞分析
远程升级怕截胡?详解FOTA安全升级
[to be continued] [UE4 notes] L1 create and configure items
Codeforces round 712 (Div. 2) d. 3-coloring (construction)
Palindrome (csp-s-2021-palin) solution
卷积神经网络——卷积层
Haut OJ 1241: League activities of class XXX
软件测试 -- 0 序
发现一个很好的 Solon 框架试手的教学视频(Solon,轻量级应用开发框架)
kubeadm系列-00-overview
[es practice] use the native realm security mode on es
剑指 Offer 58 - II. 左旋转字符串
剑指 Offer 53 - II. 0~n-1中缺失的数字
Pointnet++的改进
[turn]: Apache Felix framework configuration properties
Under the national teacher qualification certificate in the first half of 2022