A. Bit++

  • 模拟。

B. Painting Eggs

  • 贪心,每个物品给使差值较小的那个人,根据题目的约数条件,可证明贪心的正确性。

C. XOR and OR

  • \(,,00 \to 00,01 \to 11,11 \to 01\)
  • 根据上述转换,只要至少存在一个1,则可以得到任意个数(不包括0)的1。全0时只能变成全0。
  • 那么判断a、b两种情况即可。

D. Yet Another Number Game

  • 当没有全减操作时,即相当于一个Nim游戏。
  • 当n=1时,直接判断 \(a_1\) 是否为0即可。
  • 当n=2时,DP或者套威佐夫博弈结论。
  • 当n=3时,DP(比较慢)。可类似Nim博弈证明包括全减操作时结论与Nim博弈的结论一样,即证明\(sg(i,j,k) = 0\) 时,\(sg(i - x, j - x, k - x)\) 必不为0。
  • \(sg(i,j,k) = 0\)时,\(i \oplus j \oplus k = 0\),考虑\(x\)二进制的最高位,若对应位置\(、、i、j、k\)的状态为\(011\),则显然减去\(x\)后,该位异或值不为0;若状态为\(000\),即最高位前移,同理异或值也不为0。

E. Sausage Maximization

  • 问题相当于去掉中间一段区间,使得最后的异或值最大。
  • \(val = all \oplus sxor(l,r) = all \oplus pre[r] \oplus pre[l - 1]\)
  • 当固定右端点\(r\)后,即相当于找\(all \oplus pre[l - 1]\) 与\(pre[r]\)异或值最大,那么只要建棵字典树即可。

Codeforces Round #173 (Div. 2)的更多相关文章

  1. 贪心 Codeforces Round #173 (Div. 2) B. Painting Eggs

    题目传送门 /* 题意:给出一种方案使得abs (A - G) <= 500,否则输出-1 贪心:每次选取使他们相差最小的,然而并没有-1:) */ #include <cstdio> ...

  2. Codeforces Round #173 (Div. 2) E. Sausage Maximization —— 字典树 + 前缀和

    题目链接:http://codeforces.com/problemset/problem/282/E E. Sausage Maximization time limit per test 2 se ...

  3. Codeforces Round #366 (Div. 2) ABC

    Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...

  4. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

  5. Codeforces Round #368 (Div. 2)

    直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...

  6. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  7. Codeforces Round #279 (Div. 2) ABCDE

    Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems     # Name     A Team Olympiad standard input/outpu ...

  8. Codeforces Round #262 (Div. 2) 1003

    Codeforces Round #262 (Div. 2) 1003 C. Present time limit per test 2 seconds memory limit per test 2 ...

  9. Codeforces Round #262 (Div. 2) 1004

    Codeforces Round #262 (Div. 2) 1004 D. Little Victor and Set time limit per test 1 second memory lim ...

随机推荐

  1. RGB与16进制颜色转换的原理

    Integer有进制转换的方法.也可以自己写进制转换的方法.

  2. ios中自定义cell 设置cell的分组结构

    ios系统默认的cell并不能满足我们的需求 这个时候就需要自定义我们的cell 自定义cell为分组的时候 需要设置分组样式  以下是我常用分组的二种方法: 第一是 在自定义的UITableView ...

  3. 第10章 嵌入式Linux的调试技术

    printk函数运行在内核空间,printf函数运行在用户空间.也就是说像Linux驱动这样的Linux内核程序只能使用printk函数输出调试信息.printk函数在控制台(也称终端)显示消息是通过 ...

  4. K-近邻算法

    废话不多说,直接放码过来. from numpy import * import operator def createDataSet () : group = array([[,],[,0.1]]) ...

  5. UE4 WCF RestFul 服务器 读取JSON 数据并解析 简单实例

    Note:不知道为什么通过Txt读取的JsonString,如果TXT 不是ANSI编码的话,会报JsonArrayStringToUStruct  Unable to parse. bool UWg ...

  6. Cannot forward after response has been committed

    项目:蒙文词语检索 日期:2016-05-01 提示:Cannot forward after response has been committed 出处:request.getRequestDis ...

  7. 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序

    这种错误的可能性有几种,比如: 1.没有安装数据访问组件,需要安装相应版本的数据访问组件: 2.没有安装相应版本的Office客户端,需要安装相应版本的Office客户端: 3.Microsoft.J ...

  8. mybatis配置文件查询参数的传递

    通常来说,参数传递可以使用#与$进行编写,但是使用#的效率更高,使用$方式,查看日志更方便些,尤其是当执行的sql语句非常麻烦的时候. 1) 接口 形式 以下方式 [传递参数是一个实体] public ...

  9. Android 终于官方支持按百分比来设置控件的宽高了

    dependencies { compile 'com.android.support:percent:22.2.0' } 支持布局 PercentRelativeLayout <android ...

  10. CentOS下查看进程和删除进程

    1. 在 LINUX 命令平台输入 1-2 个字符后按 Tab 键会自动补全后面的部分(前提是要有这个东西,例如在装了 tomcat 的前提下, 输入 tomcat 的 to 按 tab).2. ps ...