[Codeforces Round #816 (Div. 2)] D. 2+ doors
这次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;
}
[Codeforces Round #816 (Div. 2)] D. 2+ doors的更多相关文章
- Codeforces Round #549 (Div. 2)A. The Doors
A. The Doors time limit per test 1 second memory limit per test 256 megabytes input standard input o ...
- Codeforces Round #816 (Div. 2)/CodeForces1715
CodeForces1715 Crossmarket 解析: 题目大意 有一个 \(n \times m\) 的空间,Stanley 需要从左上角到右下角:Megan 则需要从左下角到右上角.两人可以 ...
- Codeforces Round #297 (Div. 2)A. Vitaliy and Pie 水题
Codeforces Round #297 (Div. 2)A. Vitaliy and Pie Time Limit: 2 Sec Memory Limit: 256 MBSubmit: xxx ...
- Codeforces Round #531 (Div. 3) ABCDEF题解
Codeforces Round #531 (Div. 3) 题目总链接:https://codeforces.com/contest/1102 A. Integer Sequence Dividin ...
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
- Codeforces Round #368 (Div. 2)
直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- Codeforces Round #279 (Div. 2) ABCDE
Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems # Name A Team Olympiad standard input/outpu ...
随机推荐
- MySQL 索引失效-模糊查询,最左匹配原则,OR条件等。
索引失效 介绍 索引失效就是我们明明在查询时的条件为索引列(包括自己新建的索引),但是索引不能起效,走的是全表扫描.explain 后可查看type=ALL. 这是为什么呢? 首先介绍有以下几种情况索 ...
- C# 7.0 添加和增强的功能【基础篇】
C# 7.0 版是与 Visual Studio 2017 一起发布. 虽然该版本继承和发展了C# 6.0,但不包含编译器即服务. 一.out 变量 以前我们使用out变量必须在使用前进行声明,C# ...
- C#中下载项目中的文件
1.将需要下载的文档添加到项目的文件夹中 2.接口部分 public IActionResult DownLoad() { var filePath = Directory.GetCurrentDir ...
- letcode刷题记录-day01-两数之和
题目:两数之和 描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应一 ...
- TDSQL-C 真·秒级启停:连接断了,又没断
你听过多少款无服务器架构(Serverless)数据库? 什么是Serverless呢?简单理解,Serverless 分为 FaaS 和 BaaS 两个部分,其中 FaaS 指的是函数即服务,Baa ...
- 当 xxl-job 遇上 docker → 它晕了,我也乱了!
开心一刻 公交车上,一位老大爷睡着了,身体依靠在背后的一位年轻小伙子身上 小伙子一直保持站姿十几分钟,直到老人下车 这位在校大学生,接受采访时说:"当时就觉得背后这个人很轻盈,以为是个姑娘! ...
- 渗透技巧基于Swagger-UI的XSS
目录 免责声明: 漏洞简述: 漏洞实现 POC 漏洞利用 如何大规模找到 Swagger UI Google FOFA XRAY 修复 免责声明: 本文章仅供学习和研究使用,严禁使用该文章内容对互 ...
- Go语言核心36讲29
在上篇文章中,我们主要说的是互斥锁,今天我和你来聊一聊条件变量(conditional variable). 前导内容:条件变量与互斥锁 我们常常会把条件变量这个同步工具拿来与互斥锁一起讨论.实际上, ...
- AIR32F103(六) ADC,I2S,DMA和ADPCM实现录音播放功能
目录 AIR32F103(一) 合宙AIR32F103CBT6开发板上手报告 AIR32F103(二) Linux环境和LibOpenCM3项目模板 AIR32F103(三) Linux环境基于标准外 ...
- Mybatis-plus - ActiveRecord 模式CRUD
什么是ActiveRecord模式 ActiveRecord 也属于 ORM 层,由 Rails 最早提出,遵循标准的 ORM 模型:表映射到记录,记录映射到对象,字段映射到对象属性.配合遵循的命名和 ...