2026.3.21 B. Twin Works
B. Twin Works
题意:有相同的画,新代码要一样,不一样的画代码不能一样。画的位置已经固定,给你旧代码,尽量用升序编写新代码;
解:1.数据范围:代码a,b有1≤ai,bi≤n≤10e5。
2.让最开始的代码最小(=1),不同的画+1,核心代码:
点击查看代码
int p = 1;for(auto &x:a){if(!map[x])map[x] = p++;cout << map[x] << ' ';}
B. Twin Works
题意:有相同的画,新代码要一样,不一样的画代码不能一样。画的位置已经固定,给你旧代码,尽量用升序编写新代码;
解:1.数据范围:代码a,b有1≤ai,bi≤n≤10e5。
2.让最开始的代码最小(=1),不同的画+1,核心代码:
int p = 1;for(auto &x:a){if(!map[x])map[x] = p++;cout << map[x] << ' ';}