D Little Victor and Set

题目链接

构造的好题。表示是看了题解才会做的。

假如[l,r]长度不超过4,直接暴力就行了。

假如[l,r]长度大于等于5,那么如果k = 1,显然答案应该是l;如果k=2,可以找到a^(a+1)=1;如果k=3,首先只取两个就得到一个下界为1,但是可能出现为0的情况,下面再仔细讨论。如果k>=4,可以找到两组a^(a + 1) = 1,所以答案是0。

现在剩下的问题就是如何判断k=3的情况答案能否为0了。答案为0时我们只有可能取了3个数,设它们为x,y,z,并且不妨设有l <= z < y < x <= r。

我们考虑x的最高位非零位。这一位y必须是1,z必须是0,因为y > z并且它们的异或和为0。考虑接下来一位,假如z的这一位为0,我们可以将x,y的上一位变为0,这一位都变为1。注意到x,y,z仍然是满足条件的,因为x变小了,而z变大了,而x > y > z依然满足。最后,我们发现z的第一个非零位。我们将z后面的位全部填为1,x,y的前一位都为1,当前位x必为1,y必为0,后面我们将x全部填为0,y全部填为1。显然,x不会变大,z不会变小,并且x > y > z仍然满足。于是当且仅当存在这样构造的x,y,z时我们能够找到一组符合题意的x,y,z。我们注意到z = 2^k - 1,于是直接枚举z就行了。

E Roland and Rose

题目链接

我们能够证明一定存在一种最优方案,其所选点均在可用点集的凸包上。具体这么证明:先考虑去掉方案中的某个点A,最后把它加入,这时我们要让它和之前选出的(n-1)个点的距离平方和最大。将这个距离写出来变形发现可转化成最大化点A到某个定点B的距离(具体就不说了)。然后,我们就需要证选凸包上的点一定不亏。假如我们选的A是在凸包内而不是凸包上,注意到凸包上一定存在某个点C满足AB与AC的夹角不小于\(\frac{\pi}{2}\)。因为假如都是锐角,点A就在凸包上,与前面的假设矛盾。

这样,我们发现只需要考虑凸包上的点。对这题来说这题凸包上的点数是很少的,直接暴力枚举选择的方案就行了。

Codeforces 460 DE 两道题的更多相关文章

  1. php封装协议的两道题

    这几天终于刷完了自己说是要刷完的那几道题,赶紧写几篇博客记录.. 1.  先看看这个网站:https://blog.csdn.net/qq_41289254/article/details/81388 ...

  2. 小测(noip2005的两道题) 2017.3.3

    过河 题目描述 Description 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把 ...

  3. 从两道题看go channel的用法

    在知乎看到有人分享了几道笔试题,自己总结了一下其中与channel有关的题目.全部题目在这里: https://zhuanlan.zhihu.com/p/35058068 题目 5.请找出下面代码的问 ...

  4. Dfs学习经验(纸上运行理解DFS)【两道题】

    首先我想吐槽的是,在CSDN上搞了好久还是不能发博客,就是点下发表丝毫反应都没有的,我稍微百度了几次还是没有找到解决方法,在CSDN的BBS上也求助过管理员但是没有收到答复真是烦躁,导致我新生入学以来 ...

  5. Codeforces 460 D. Little Victor and Set

    暴力+构造 If r - l ≤ 4 we can all subsets of size not greater than k. Else, if k = 1, obviously that ans ...

  6. Codeforces 899 1-N两非空集合最小差 末尾最多9对数计算 pair/链表加优先队列最少次数清空

    A /*Huyyt*/ #include<bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) #define pb push_bac ...

  7. Codeforces Round #366 Div.2[11110]

    这次出的题貌似有点难啊,Div.1的Standing是这样的,可以看到这位全站排名前10的W4大神也只过了AB两道题. A:http://codeforces.com/contest/705/prob ...

  8. Codeforces Round #378 (Div. 2) D题(data structure)解题报告

    题目地址 先简单的总结一下这次CF,前两道题非常的水,可是第一题又是因为自己想的不够周到而被Hack了一次(或许也应该感谢这个hack我的人,使我没有最后在赛后测试中WA).做到C题时看到题目情况非常 ...

  9. Codeforces 380A - Sereja and Prefixes

    原题地址:http://codeforces.com/problemset/problem/380/A 让期末考试整的好久没有写题, 放假之后由于生病也没怎么做,新年的第一场CF也不是那么在状态,只过 ...

随机推荐

  1. Lucene自定义扩展QueryParser

    Lucene版本:4.10.2 在使用lucene的时候,不可避免的需要扩展lucene的相关功能来实现业务的需要,比如搜索时,需要在满足一个特定范围内的document进行搜索,如年龄在20和30岁 ...

  2. .bash_profile和.bashrc的区别

    参考资料: http://blog.163.com/wang_hai_fei/blog/static/309020312008728333912/

  3. mysql 热备

    全备份:(生成时间戳文件夹:2016-04-20_16-12-01)innobackupex --users=root --password=root /tmp/backup 第一次增量备份:(生成时 ...

  4. NYOJ-129 并查集

    这个题基本上是并查集稍微一变, 只是加了一些判断条件而已,就是将点合并成树, 最后遍历一下, 统计一下有多少棵树, 如果不是1的话, 肯定不是树,所以,可以根据这个来判断 #include <s ...

  5. 在Blade中结合gperftools检查内存泄露

    Blade是我们开发的大规模C++项目构建工具. gperftools是google开发的性能工具,由高效内存分配器,CPU性能分析器,堆分析器,堆检查器等工具组成. 和其他构建工具不同,结合gtes ...

  6. ASP.NET-FineUI开发实践-6

    FineUI4.1.0更新,传说的V4版稳定版,很多人也从3.0+升级了,接着又连续更新了几次,现在是V4.1.3 2014-09-09日更新的.更新的挺快,感觉跟不上节奏,我很欣慰,看来开原版还是靠 ...

  7. POJ1502

    #include <iostream> #include <cstdio> #include <algorithm> #include <climits> ...

  8. sharepoint查询超出阈值

    昨天客户出了webpart显示数据不稳定的bug,经过这两天的艰苦排查终于发现了是列表视图阈值造成的问题,经过在网上搜索终于找到了类似的解决方法. SPQuery query = new SPQuer ...

  9. 2.Android Studio系列教程2——基本设置与运行

    原文链接:http://stormzhang.com/devtools/2014/11/28/android-studio-tutorial2/   一.项目结构   二.Android Studio ...

  10. 记一次T-SQL查询优化 索引的重要性

    概述 在一次调优一个项目组件的性能问题时,发现SQL的设计真的是非常的重要,所以写一篇博文来记录总结一下. 环境介绍 这个项目组件是一个Window服务,内部在使用轮循机会在处理一个事件表中的事件,将 ...