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. [转] IPC之管道、FIFO、socketpair

    管道和FIFO作为最初的UNIX IPC形式,现在已用得较少.SocketPair可作为全双工版本的管道,较为常用,这里简单做个笔记 管道 * 只用于有亲缘关系的进程间通信 * 单向,即半双工 (双向 ...

  2. SWFObject文件上传使用记录

    SWFObject文件上传使用方法记录,该插件使用起来相当强大也很灵活,与uploadify各有千秋. 值得一说的是,如果要设置button_image_url这个参数,该参数是按钮的背景图,但是一定 ...

  3. 如何缩减Try{}Catch{}Finally{}代码----定义一个公用的Try{}Catch{}Finally{}

    public class Process { public Process() { } public static void Execute(Action action) { try { //ACTI ...

  4. GDI+基础(2)

    使用钢笔,画笔用来填充图形内部,钢笔则用来绘制带有一定宽度,样式和色彩的线条和曲线. 可以使用标准的pens类 <%@ Page ContentType="image/gif" ...

  5. [php基础]Mysql日期函数:日期时间格式转换函数详解

    在PHP网站开发中,Mysql数据库设计中日期时间字段必不可少,由于Mysql日期函数输出的日期格式与PHP日期函数之间的日期格式兼容性不够,这就需要根据网站实际情况使用Mysql或PHP日期转换函数 ...

  6. 原生js 学习之array 数组

    Array的原生方法:  concat(): 连接两个或更多的数组哦 join(): 把数组的所有元素放在一个字符串中 pop():删除并返回数组的最后一个元素 push():向数组的末尾添加一个元素 ...

  7. 1.tomcat部署项目的几种方式和weblogic部署方式及一点通讯

      第一种部署方式: 直接使用myeclipse 找到server服务 添加要部署的项目Add Deployment ,然后选中某个项目,首选Exploded Archive(development ...

  8. 微信php接入设计案列

    <?php namespace Home\Controller; use Think\Controller; use Com\Wechat; use Com\WechatAuth; class ...

  9. CSS各种选择器

    一.选择器 1.元素选择器 li{}最常用.最基本 2.派生选择器 li strong { } 标签间用空格分隔.定义了li标签中的strong标签的样式,css1中上下文选择器.css2中派生选择器 ...

  10. phpEXCEL操作全解

    phpExcel中文帮助手册,列举了各种属性,以及常用的操作方法,难得是每一个都用实例加以说明,希望对大家有所帮助. phpExcel中文帮助手册,不可多得的好文章,供大家学习参考. 1.设置exce ...