Description

武器大师有两堆宝贝箱子,每个箱子都有着自己的一个编号。

为了输入方便,每堆箱子编号都是连续的。

现在他想分别从两堆箱子中各等概率的选择一个箱子,但是只有他选择的两个箱子编号异或(位运算)之后为0,他才能获得奖励。

现在他想请你算算每次他能获得奖励的概率。

为了防止精度误差,你需要输出一个形如a/b的最简分数。

特别的,如果概率为0,你需要输出0/1。

(有人不知道啥是异或吗?

Input

第一行一个正整数T(1<=T<=1000),表示数据组数。

接下来每一行都有一组数据,每组数据输入4个整数a,b,c,d,表示两堆箱子的编号区间分别为[a,b],[c,d]。

(a, b, c, d∈[0, 1e9],a ≤ b,c ≤ d)

Output

对每组数据输出他能获得奖励的概率。一个形如a/b的最简分数。

特别的,如果概率为0,你需要输出0/1。

Sample Input 1

2
1 2 2 3
1 2 2 4
Sample Output 1

1/4
1/6
Hint

样例一:有两堆箱子,第一堆箱子有2个箱子,编号为分别为1,2。第二堆箱子也有2个箱子,编号为2,3。只有当选择的箱子对是(2,2)时他才能获得奖励。

解释位运算异或:00=0,01=1,10=1,11=0.

例如:3^5 = 011^101=110

Source
2019年集训队选拔赛

思路:比赛的时候直接暴力for去弄的,没弄清楚异或的意义,题目中异或为0的意思就是相等。那么此题就可以转换为求最大相交区间。注意,暴力枚举相交区间也是很容易出错的,类似2018年CSP的第二题(好像是卖菜题),可以用快速求区间相交的算法int s = min(b,d) - max(a,c) + 1;这个是我在写2018年选拔赛题目时看CWJ学长博客看到的。https://blog.csdn.net/I_believe_CWJ/article/details/80297476

看懂题目以后其实是一道水题,暴力if也可以出的来。事实上比赛的时候过2题的并不多(至少一道线段树模板题+这道题),我也在比赛的时候没想出这道题,而且异或放在if里面会有诡异错误。。。这说明学习的基础很不扎实啊,要加油啊。

#include <cstdio>
#include <cstring>
#include <algorithm>using namespace std;#define ll long long
ll gcd(ll n,ll m)
{return m==0?n:gcd(m,n%m);
}int main()
{ll T;scanf("%lld",&T);while(T--){ll a,b,c,d;scanf("%lld%lld%lld%lld",&a,&b,&c,&d);int len;int s = min(b,d) - max(a,c) + 1;len = max(0,s);ll m = (b - a + 1) * (d - c + 1);if(s == 0)printf("0/1\n");else printf("%lld/%lld\n",len/gcd(m,len),m/gcd(m,len));}
}

转载于:https://www.cnblogs.com/tomjobs/p/10617592.html

D武器大师的宝贝(最大相交区间,异或,最大公约数)相关推荐

  1. C.武器大师的宝贝 (异或的含义)

    武器大师的宝贝 题目链接https://csustacm.fun/problem/1087 Time limit1000 ms Description 武器大师有两堆宝贝箱子,每个箱子都有着自己的一个 ...

  2. 2021牛客暑期多校训练营4 Tree Xor (区间异或上一个数+区间求交)

    题解: 首先我们可以发现,只要确定了一个值,那么树上其他的值也可以确定下来了,但是显然,遍历一棵树的时间复杂度为O(n),如果枚举+暴力判断的话时间复杂度O(1e9∗n)O(1e9*n)O(1e9∗n ...

  3. Codechef REBXOR HYSBZ - 4260(01字典树+区间异或最大)

    Input 输入数据的第一行包含一个整数N,表示数组中的元素个数. 第二行包含N个整数A1,A2,-,AN. Output 输出一行包含给定表达式可能的最大值. Sample Input 5 1 2 ...

  4. 2021牛客第四场-E Tree Xor-线段树区间异或

    https://ac.nowcoder.com/acm/contest/11255/E 题目大意:有n个点,每一点有一个区间[l,r]范围的权值可能,有n-1条边,边上的权值为w,w=w(u)^w(v ...

  5. Consecutive Sum LightOJ - 1269(区间异或和)

    Consecutive Sum 又来水一发blog... 本来是昨天补codechef的题,最后一道题是可持久化字典树,然后去黄学长博客看了看 觉得字典树写法有点不太一样,就想着用黄学长的板子写码几道 ...

  6. 选拔赛 c 武器大师的宝贝

    Description 武器大师有两堆宝贝箱子,每个箱子都有着自己的一个编号. 为了输入方便,每堆箱子编号都是连续的. 现在他想分别从两堆箱子中各等概率的选择一个箱子,但是只有他选择的两个箱子编号异或 ...

  7. 线段树 ---- 牛客多校4 ETree Xor 区间异或分段

    题目链接 题目大意: 就是给你nnn个节点的树,树上每个节点都有一个权值wi∈[li,ri]w_i\in[l_i,r_i]wi​∈[li​,ri​],以及相邻(u,v)(u,v)(u,v)的异或值wu ...

  8. P4735 最大异或和(可持久化trie树、求最大区间异或和)

    P4735 最大异或和 我们维护一个前缀异或和:s[i]=a[1]xora[2]xor-a[i−1]xora[i]s[i] = a[1] \ xor\ a[2]\ xor\ - a[i-1] \ xo ...

  9. LintCode 1652. 区间异或 II

    1. 题目 给定数组 A(下标从0到n-1,n为数组长度),和一个查询列表. 每一项查询包括两个整数 i 和 k. 对于每次查询,计算Ai, A(i + 1), ..., A(i+k-1)的异或值.结 ...

最新文章

  1. python UnicodeEncodeError 编码错误总结
  2. laravel 重写以及500错误
  3. 360导入html没有,IE无法加载到外部CSS样式, 用360浏览器就可以,上CSS引用代码[急]_html/css_WEB-ITnose...
  4. QQ空间相册展示特效
  5. android ImageSwitcher的使用
  6. java.lang.OutOfMemoryError 解决方式
  7. python重启路由器_Python3控制路由器——使用requests重启极路由.py
  8. REVERSE-PRACTICE-BUUCTF-24
  9. 垃圾回收算法与实现系列-锁在应用层的优化思路
  10. 网络视频行业进入规则淘汰赛
  11. 【车牌识别】基于matlab APP模板匹配车牌识别(桂贵京粤苏渝)【含Matlab源码 217期】
  12. python中或语句_python判断语句怎么写
  13. 微信html刷新页面,填坑——解决微信网页中刷新的问题
  14. 图像特效之LOMO效果
  15. Vue + Element UI 实现权限管理系统 前端篇(六):更换皮肤主题
  16. cmake学习笔记--cmake的打印、创建工程等基本操作(1)
  17. 联想y7000p怎么开启高性能模式?
  18. No module named gensim.corpora
  19. 淘宝接口 TopAPi(转)
  20. [linux工具] tcpdump丢包问题

热门文章

  1. cumulative match score
  2. 自组织的网游金融体系
  3. Detour使用说明
  4. 因为我是姑娘,所以不想像你一样安逸生活
  5. python datetime strftime_正确使用python的datetime的strftime方法
  6. iview select 组件控制下拉隐藏或显示
  7. TCGA系列--TCGA长链非编码RNA的可视化工具TANRIC
  8. 手把手教你用Python打造一款批量下载视频并能可视化显示下载!
  9. 浙江省计算机选考和学考,物理为先,从浙江2020新高考选考科目要求,来部分理解教育部发布新高考选科政策!...
  10. C++ 函数重载:女友说的话到底是什么意思?