Codeforces Round #173 (Div. 2)
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)的更多相关文章
- 贪心 Codeforces Round #173 (Div. 2) B. Painting Eggs
题目传送门 /* 题意:给出一种方案使得abs (A - G) <= 500,否则输出-1 贪心:每次选取使他们相差最小的,然而并没有-1:) */ #include <cstdio> ...
- Codeforces Round #173 (Div. 2) E. Sausage Maximization —— 字典树 + 前缀和
题目链接:http://codeforces.com/problemset/problem/282/E E. Sausage Maximization time limit per test 2 se ...
- 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 ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
- Codeforces Round #368 (Div. 2)
直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- Codeforces Round #279 (Div. 2) ABCDE
Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems # Name A Team Olympiad standard input/outpu ...
- 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 ...
- 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 ...
随机推荐
- AngularJS的学习笔记(一)
声明:单纯作为我自己的学习笔记,纯是为了自己学习,上面的话都是从各处粘贴,如有冒犯,请原谅我这个小菜鸟~ AngularJS使用了不同的方法,它尝试去补足HTML本身在构建应用方面的缺陷. 使用双大括 ...
- SharePoint Framework 概述
博客地址:http://blog.csdn.net/FoxDave 本文翻译自新出的SharePoint Framework概述介绍文章,原文地址:http://dev.office.com/sh ...
- Python开发入门与实战21-订阅事件(subscribe)
21. 订阅事件(subscribe) 新用户关注微信公众平台,将产生一个订阅事件,即subscribe事件,在新用户关注公众平台后为新用户提供一些简明扼要的公众号说明 事件推送(event): 接收 ...
- 学习Find函数和select
Find函数其实就类似于在excel按下Ctrl+F出现的查找功能:在某个区域中查找你要找的字符,一旦找到就定位到第一个对应的单元格.所以Find函数的返回值是个单元格,也就是个range值.举例,s ...
- C++引用的作用和用法
引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样. 引用的声明方法:类型标识符&引用名=目标变量名: 例如: int q; int &ra=a; 说明: &am ...
- MySQL中DATETIME、DATE和TIMESTAMP类型的区别
一.TIMESTAMP 显示格式:YYYY-MM-DD HH:MM:SS 时间范围:[ '1970-01-01 00:00:00'到'2037-12-31 23:59:59'] TIMESTAMP D ...
- layoutSubviews 与 drawRect
layoutSubviews总结 ios layout机制相关方法 - (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit——————- - (voi ...
- web前端教程之javascript创建对象的方法
今天给大家讲讲javascript基础教程中的javascript面向对象的技术,这一次我们深入的学习一下JavaScrip基于t面向对象之创建对象,关于面向对象的一些术语这里就不给大家介绍了,不了解 ...
- js 布尔值作为开关判断
var flag = true; $("#more_info").click(function() { if( flag ){ $("#more_xl_more" ...
- flask SQLAlchemy中一对多的关系实现
SQLAlchemy是Python中比较优秀的orm框架,在SQLAlchemy中定义了多种数据库表的对应关系, 其中一对多是一种比较常见的关系.利用flask sqlalchemy实现一对多的关系如 ...