这次Div.2比之前我打的有些要难啊,前三道题就耗了好多时间,D题干脆摆烂了。。。

还是太逊了

对于一个\(x\),有\(x|y_i=z_i\),那么我们设\(num[x]=z_1\)&\(z_2\)&\(z_3\)....

若\(z_i\)的第\(pos\)位为0,则说明\(x\)与\(y_i\)的第\(pos\)位一定为0;若\(z_i\)的第\(pos\)位为0,则说明\(x\)与\(y_i\)第pos至少 有一个为1,即\(x\)的第\(pos\)位可能为1,\(y_i\)的第\(pos\)位可能为1

所以,对于初始的\(num[x]\),它就是第\(x\)个数的所有答案中最大的

既然答案要求字典序最小,那么遍历第一个数到最后一个数,将当前数记为\(x\),将所有与\(x\)有题目给定的关系的\(y\)与\(z\)都遍历一遍,记 \(t|=z_i\)&(~\(num[y_i]\))

\(z_i\)&(~\(num[y_i]\))显然意味着在当前这个关系中,\(x\)必须取到的1

所以\(t|=z_i\)&(~\(num[y_i]\))也就意味这对于\(x\)的所有关系,\(x\)必须取的数

前文说了对于初始的\(num[x]\),它是第\(x\)个数的所有答案中最大的,所以这时求出的\(t\)也一定 是第一个数最小的答案

再将\(num[x]\)更新为\(t\),继续上述过程,得到的就是字典序最小的答案

#include<bits/stdc++.h>
#define pr pair<int,int>
#define fi first
#define se second
using namespace std;
const int N=1e5+5,M=2e5+5;
int n,q,num[N];
vector<pr> cdt[N];
int main(){
scanf("%d%d",&n,&q);
for(int i=1;i<=n;++i) num[i]=(1<<30)-1;
for(int i=1,x,y,z;i<=q;++i){
scanf("%d%d%d",&x,&y,&z);
num[x]&=z,num[y]&=z;
cdt[x].push_back(pr(y,z));
cdt[y].push_back(pr(x,z));
}
for(int i=1;i<=n;++i){
int t=0;
for(int j=0;j<cdt[i].size();++j){
int x=cdt[i][j].fi,s=cdt[i][j].se;
t|=(s&(~num[x]));
if(x==i){ t=s; break; }
}
printf("%d ",(num[i]=t));
}
return 0;
}

最新文章

  1. 基于netty-socketio的web推送服务
  2. 使用Auto Layout中的VFL(Visual format language)--代码实现自动布局【转】
  3. ipipe 环境下gpio中断产生死机的信息
  4. MyEclipse 死掉,JVM terminated. Exit code=1073807364
  5. msyql数据库主从架构
  6. Fat-tree 胖树交换网络
  7. WPF设置窗口模式(Windowstyle=“None”)
  8. Unity3D题目,Unity中利用GUI输出九九乘法表
  9. poj3233(矩阵快速幂)
  10. AR入门系列-02-Vuforia在Unity3d编辑器的使用
  11. LeetCode 661. Image Smoother (图像平滑器)
  12. [flutter+dart] windows7下开发环境的安装与配置
  13. js 回文判断
  14. Android开发笔记---adb命令
  15. jquery: 获取当前天加减一天
  16. vue-router传递参数的几种方式
  17. w3c JS测试
  18. 阻止 form 回车 自动提交
  19. 每天一个linux命令:chmod
  20. ECharts设置y轴显示

热门文章

  1. 基于FPGA的AES加解密IP
  2. java安全之CC1浅学(2)
  3. laravel的_token传值 ; header中传_token
  4. 第2-3-8章 分片上传和分片合并的接口开发-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
  5. Mybatis下的SQL注入漏洞原理及防护方法
  6. springboot +mybatis (@autowried 注入mapper :爆红)
  7. HCIE Routing&amp;Switching之MPLS静态LSP配置
  8. 使用.NET7和C#11打造最快的序列化程序-以MemoryPack为例
  9. java中使用apache poi 读取 doc,docx,ppt,pptx,xls,xlsx,txt,csv格式的文件示例代码
  10. java 如何正确使用接口返回对象Result