当前位置:网站首页>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;
}
边栏推荐
- 常见的最优化方法
- 使用Electron开发桌面应用
- 过拟合与正则化
- Sword finger offer 06 Print linked list from beginning to end
- 数仓项目的集群脚本
- [turn to] MySQL operation practice (I): Keywords & functions
- A preliminary study of sdei - see the essence through transactions
- Yolov5 adds attention mechanism
- Codeforces Round #716 (Div. 2) D. Cut and Stick
- [binary search] 69 Square root of X
猜你喜欢

【Jailhouse 文章】Performance measurements for hypervisors on embedded ARM processors

Introduction to tools in TF-A
![[turn to] MySQL operation practice (III): table connection](/img/70/20bf9b379ce58761bae9955982a158.png)
[turn to] MySQL operation practice (III): table connection

Service fusing hystrix
![[depth first search] 695 Maximum area of the island](/img/08/cfff4aec667216e4f146205a12c13f.jpg)
[depth first search] 695 Maximum area of the island

第六章 数据流建模—课后习题

Solution to the palindrome string (Luogu p5041 haoi2009)

Web APIs DOM node

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

剑指 Offer 06.从头到尾打印链表
随机推荐
Pointnet++的改进
质量体系建设之路的分分合合
挂起等待锁 vs 自旋锁(两者的使用场合)
Download xftp7 and xshell7 (official website)
[turn]: Apache Felix framework configuration properties
Reflection summary of Haut OJ freshmen on Wednesday
sync.Mutex源码解读
Hang wait lock vs spin lock (where both are used)
Add level control and logger level control of Solon logging plug-in
Demonstration of using Solon auth authentication framework (simpler authentication framework)
个人开发的渗透测试工具Satania v1.2更新
Time complexity and space complexity
Fragment addition failed error lookup
object serialization
Daily question - Search two-dimensional matrix PS two-dimensional array search
Solon Logging 插件的添加器级别控制和日志器的级别控制
Light a light with stm32
Pointnet++ learning
软件测试 -- 0 序
Sword finger offer 09 Implementing queues with two stacks