[ICPC2016Dalian Onsite]官方题解 作者: rin 时间: November 6, 2016 分类: Algo 7 条评论 [PDF版](http://pan.baidu.com/s/1bpkkoTD) > 添加 `-D__STDC_FORMAT_MACROS`以支持`PRId64` #Problem A Wrestling Match ##提交情况:170/434 ##解题思路 本题做法比较随意,此处说两种: 1. 读入数据,建好图以后,以每一个点为开始遍历的起始节点,搜索整个图,在搜索的过程中判断是否出现冲突 2. 用并查集维护题目中所谓『好选手』以及『坏选手』的关系,在建立并查集的过程中,就可判断冲突 总的来说,第2种做法需要处理的特殊情况较少,并且计算量照第1种做法少,所以标程采用第2种做法。 - 阅读剩余部分 -
[CCPC2016Hefei] I / HDU5969 作者: rin 时间: November 5, 2016 分类: Algo 4 条评论 [http://acm.hdu.edu.cn/showproblem.php?pid=5969](http://acm.hdu.edu.cn/showproblem.php?pid=5969 "http://acm.hdu.edu.cn/showproblem.php?pid=5969") >###Problem Description >B君和G君聊天的时候想到了如下的问题。 给定自然数$$l$$和$$r$$ ,选取2个整数$$x,y$$满足$$l \leq x \leq y \leq r $$,使得$$x|y$$最大。 其中|表示按位或,即C、 C++、 Java中的|运算。 ###Input 包含至多10001组测试数据。 第一行有一个正整数,表示数据的组数。 接下来每一行表示一组数据,包含两个整数$$l$$,$$r$$。 保证 $$0 \leq l \leq r \leq 10^{18}$$。 ###Output 对于每组数据输出一行,表示最大的位或。 1.钦定上界就是$$y=r$$ :hj-huamoji52: 2.判断$$l$$和$$r$$二进制位数的大小关系$$lenL, lenR$$ 3.如果不相等,那么$$x=(111111\ldots )_{2}$$($$lenR-1$$个1)一定大于等于$$l$$,小于等于$$r$$,那么$$l|r$$的结果就是$$2^{lenR}-1$$ 4.如果相等,令$$x=l$$,将$$x,r$$的最高位对齐,从高位往低位一位一位比较,把碰到的第一个不同的位$$i$$,置$$x[i]=0$$,再将$$x$$剩下的都置1 - 阅读剩余部分 -