博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CF 517 div2 B
阅读量:4493 次
发布时间:2019-06-08

本文共 923 字,大约阅读时间需要 3 分钟。

传送门:

题意:给两组序列a,b,求一组序列 t 使得 t [ i ] | t [ i+1 ] == a [ i ],t [ i ] & t [ i+1 ] == b [ i ]

0<= a [ i ],t [ i ] , b [ i ] < = 3

先打个表找规律, 发现 x | y + x & y == x+ y

位操作, 可以按位证一下

  x     y     x | y    x & y

  0    0       0         0

  0    1       1         0

  1    0       1         0

  1    1       1         1

每位就4种情况,定下第一位,暴力判断就好啦

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long ll;typedef pair
P;typedef long double ld;#define mem(x) memset(x, 0, sizeof(x))#define me(x) memset(x, -1, sizeof(x))#define fo(i,n) for(i=0; i
>n; for(i=1; i
>a[i]; for(i=1; i
>b[i]; for(i=0; i<=3; i++) { ans[1]=i; for(j=2; j<=n; j++) { ans[j]=a[j-1]+b[j-1]-ans[j-1]; if((ans[j-1]|ans[j])!=a[j-1])break; if((ans[j-1]&ans[j])!=b[j-1])break; } if(j>n) { cout<<"YES"<

 

转载于:https://www.cnblogs.com/op-z/p/11313814.html

你可能感兴趣的文章
maven工程转为web工程时没有add web project capabilities选项的解决办法
查看>>
[BZOJ1192][HNOI2006]鬼谷子的钱袋
查看>>
Linux系统基础优化
查看>>
小程序开发快速入门教程(附源码)
查看>>
基于cropper.js的图片上传和裁剪
查看>>
车联网SaaS平台多租户平台技术选型参考
查看>>
我是如何快速积累工作经验
查看>>
用信号量进程同步与互斥
查看>>
随笔1
查看>>
Firebug入门指南
查看>>
POJ Minimum Cut
查看>>
仿射变换
查看>>
【ASP.NET】复制单个文件同时到多个目录
查看>>
上机实验2.。实验报告
查看>>
Jquery Validate 相关参数及常用的自定义验证规则
查看>>
java8 base64使用
查看>>
使用eclipse学习java第二课
查看>>
Codeforces Round #469 (Div. 2)
查看>>
go简单模拟Redis数据库对应{key, value}的存取功能
查看>>
vue.js 弹层
查看>>