当前位置:网站首页>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;
}
边栏推荐
- Haut OJ 1350: choice sends candy
- TF-A中的工具介绍
- YOLOv5-Shufflenetv2
- 过拟合与正则化
- [to be continued] [UE4 notes] L2 interface introduction
- On-off and on-off of quality system construction
- [depth first search] 695 Maximum area of the island
- The present is a gift from heaven -- a film review of the journey of the soul
- PMP candidates, please check the precautions for PMP examination in July
- Educational codeforces round 109 (rated for Div. 2) C. robot collisions D. armchairs
猜你喜欢
【Jailhouse 文章】Look Mum, no VM Exits
Sword finger offer 53 - ii Missing numbers from 0 to n-1
挂起等待锁 vs 自旋锁(两者的使用场合)
Remote upgrade afraid of cutting beard? Explain FOTA safety upgrade in detail
YOLOv5添加注意力机制
剑指 Offer 53 - II. 0~n-1中缺失的数字
个人开发的渗透测试工具Satania v1.2更新
sync.Mutex源码解读
【Jailhouse 文章】Jailhouse Hypervisor
Pointnet++ learning
随机推荐
Chapter 6 data flow modeling - after class exercises
kubeadm系列-00-overview
Haut OJ 1352: string of choice
Haut OJ 1243: simple mathematical problems
Haut OJ 1401: praise energy
TF-A中的工具介绍
The present is a gift from heaven -- a film review of the journey of the soul
全国中职网络安全B模块之国赛题远程代码执行渗透测试 //PHPstudy的后门漏洞分析
[es practice] use the native realm security mode on es
Reflection summary of Haut OJ freshmen on Wednesday
Haut OJ 2021 freshmen week II reflection summary
Web APIs DOM node
Csp-j-2020-excellent split multiple solutions
SSH password free login settings and use scripts to SSH login and execute instructions
Gbase database helps the development of digital finance in the Bay Area
Summary of Haut OJ 2021 freshman week
Introduction to tools in TF-A
SAP method of modifying system table data
[turn to] MySQL operation practice (III): table connection
Mysql database (I)