题面在这里!

显然权值是 2^i 这种的话就是要你贪心,高位能不选就不选。

并且如果 % x 之后再去 % 一个>=x的数是没有用的,所以我们可以把操作的k看成单调递减序列。

这样的话就是一个有向图联通性问题了,直接做就可以了。

#include<bits/stdc++.h>
#define ll long long
using namespace std; int n,a[55],b[55];
bool v[55][55];
ll ans=0; inline bool can(){
memset(v,0,sizeof(v));
for(int i=1;i<=50;i++) if((1ll<<i)&ans)
for(int j=0;j<=50;j++) v[j][j%i]=1; for(int i=0;i<=50;i++) v[i][i]=1; for(int k=0;k<=50;k++)
for(int i=0;i<=50;i++)
for(int j=0;j<=50;j++) if(v[i][k]&&v[k][j]) v[i][j]=1; for(int i=0;i<n;i++) if(!v[a[i]][b[i]]) return 0;
return 1;
} int main(){
scanf("%d",&n),ans=1ll<<51,ans-=2;
for(int i=0;i<n;i++) scanf("%d",a+i);
for(int i=0;i<n;i++) scanf("%d",b+i); if(!can()){ puts("-1"); return 0;} for(int i=50;i;i--){
ans^=1ll<<i;
if(!can()) ans|=1ll<<i;
} printf("%lld\n",ans);
return 0;
}

最新文章

  1. asp.net下webform的ReadOnly和Enabled属性最终渲染的结果
  2. java向oracle数据库中插入当前时间
  3. jQuery数组的遍历 function的加载
  4. Windows Service 之 详解(一)
  5. Android EditView 阻止软键盘自动弹出
  6. DexIndexOverflowException: Cannot merge new index 66080 into a non-jumbo instruction!
  7. css 权威指南笔记( 五)结构和层叠之三种样式来源
  8. document 例子
  9. BZOJ 1208 HNOI2004 宠物收容所 平衡树/set
  10. Uber广州车主官网本周将暂关闭
  11. 《android开发艺术探索》读书笔记(二)--IPC机制
  12. MQTT报文格式
  13. ant安装报错:ANT_HOME is set incorrectly or ant could not be located. Please set ANT_HOME.
  14. Linux下面将windows写的脚本转换成 Linux 格式的文件
  15. localtime函数和strftime函数
  16. springboot多环境(dev、test、prod)配置
  17. P2176 [USACO14FEB]路障Roadblock
  18. windows本地hash值获取和破解详解
  19. 使用C++实现二叉搜索树的数据结构
  20. 重构改善既有代码设计--重构手法08:Replace Method with Method Object (以函数对象取代函数)

热门文章

  1. JS之递归(例题:猴子吃桃)
  2. 【洛谷 P3628】 [APIO2010]特别行动队 (斜率优化)
  3. .NET Core Data Access
  4. jq_从右向右的滑入滑出效果
  5. Linux命令--hostname和uname
  6. vuejs怎么在服务器部署?
  7. skb管理函数之skb_clone、pskb_copy、skb_copy
  8. python基础===open()文件处理使用介绍
  9. 【LA3882】And then there was one
  10. VPS性能测试(2):内存大小、交换空间、高速缓存、实际使用内存