题意:

(无输入,纯输出题)

一个城市用1000列2行的格子表示,一个小偷藏在城市的某一处。

在每一小时的开始,

在(X, Y)位置的小偷可以移动到

(X - 1, Y), (X + 1, Y),(X - 1, Y - 1), (X - 1, Y + 1), (X + 1, Y - 1), (X + 1, Y + 1)中的任意一个位置。

在每一小时中,警察可以控制搜索两个格子,如果小偷藏在这个格子就会被发现。

请输出一种方案,

使得在2015小时内,对于小偷的初始位置和移动方法的所有可能情况都能保证抓到小偷。

题解:

绝对是签到题…几行代码就没了。

观察小偷的移动方法,发现不能垂直移动。

也就是说,每次移动时X坐标一定会变动1,Y坐标可能变也可能不变。

通过这个很容易发现,如果警察搜索的两个区域的X坐标不同,也就是说两个区域的上或下都有躲避处时,

如果小偷将被发现,那么小偷经过另一种移动序列使其中某一次Y坐标的是否变化反转时,

(这样会让这个时刻小偷的Y坐标变化)

小偷就不会被发现了。所以可以确定搜索的一定是同一列的两个格子。

所以问题转化为一维,于是可以奇偶分析。

考虑从左到右扫一次的方法,只有一种情况会让小偷躲过,

就是警察搜索x,小偷在x+1,下一小时小偷跑到x,警察搜索x+1…

这种情况如果发生,则每一小时内警察和小偷的位置的奇偶性不同。

也就是说第1小时小偷的位置是偶数。

那么我们可以做两次这个过程,要使得两次中某一次的第一小时中小偷在奇数位置。

显然只需要第一次过程进行奇数次搜索就好了,因为题目要求是2015,所以多一次少一次都可以。

(少一次可以是因为1000是偶数,小偷在奇数位置的情况肯定不会发生在1000这个位置)

(因为题目太水就不放代码了……)

Bubble Cup 8 finals D. Tablecity (575D)的更多相关文章

  1. 构造 Bubble Cup 8 - Finals D. Tablecity

    题目传送门 题意:在1000*2的格子里,在每个小时能派出两个警察在两个地点搜查小偷,求在2015小时内能抓住小偷的方案. 分析:首先每次扫过一列即i1 i2从左往右扫,这样会漏掉小偷正好从间隙穿过的 ...

  2. Bubble Cup 12 - Finals Online Mirror, unrated, Div. 1

    Bubble Cup 12 - Finals Online Mirror, unrated, Div. 1 C. Jumping Transformers 我会状压 DP! 用 \(dp[x][y][ ...

  3. Bubble Cup 11 - Finals [Online Mirror, Div. 1]题解 【待补】

    Bubble Cup 11 - Finals [Online Mirror, Div. 1] 一场很好玩的题啊! I. Palindrome Pairs 枚举哪种字符出现奇数次. G. AI robo ...

  4. Codeforces Bubble Cup 8 - Finals [Online Mirror] D. Tablecity 数学题

    D. Tablecity Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/575/problem/D ...

  5. Bubble Cup 8 finals I. Robots protection (575I)

    题意: 有一个正方形区域, 要求支持两个操作: 1.放置三角形,给定放置方向(有4个方向,直角边与坐标轴平行),直角顶点坐标,边长 2.查询一个点被覆盖了多少次 1<=正方形区域边长n<= ...

  6. Bubble Cup 8 finals H. Bots (575H)

    题意: 简单来说就是生成一棵树,要求根到每个叶子节点上的路径颜色排列不同, 且每条根到叶子的路径恰有n条蓝边和n条红边. 求生成的树的节点个数. 1<=n<=10^6 题解: 简单计数. ...

  7. Bubble Cup 8 finals G. Run for beer (575G)

    题意: 给定一个带权无向图,每条边的代价为边权/当前速度,每次到达一个新节点,速度都会除以10. 求0号点到n-1号点的最小代价,如果多解输出点数最少的解,输出代价.路径点数.路径经过的点. 1< ...

  8. Bubble Cup 8 finals F. Bulbo (575F)

    题意: 给定初始位置,查询n次区间,每次查询前可以花费移动距离的代价来移动, 查询时需要花费当前位置到区间内最近的点的距离,求最小代价. 1<=n<=5000,1<=所有位置< ...

  9. Bubble Cup 8 finals E. Spectator Riots (575E)

    题意: 一个长宽是100000单位的球场上有很多暴动的观众,每个观众都有一个速度v, 在一秒内,观众会等概率地移动到与原位置的曼哈顿距离<=v的地方(不会移动到界外). 你需要选取三个位置,这三 ...

随机推荐

  1. javascript-模板方法模式-提示框归一化插件

    模板方法模式笔记   父类中定义一组算法操作骨架,而将一些实现步骤延迟到子类中,使得子类可以不改变父类的算法结构的同时可重新定义算法中某些实现步骤   实例:弹出框归一化插件 css样式 ;width ...

  2. 重写ValidateEntity虚方法实现可控的上下文验证和自定义验证

    上篇文章介绍了ValidationAttribute和IValidatableObject.Validate验证,但是这种验证还是稍微简单了,对于复杂的实体,例如:继承过来的实体.实现某接口的实体等等 ...

  3. Login控件尝试

    新建web项目,添加default.aspx.Register.aspx.Login.aspx. default.aspx中添加LoginName.LoginStatus,LoginName的Form ...

  4. 运行nltk示例 Resource u'tokenizers punkt english.pickle' not found解决

    nltk安装完毕后,编写如下示例程序并运行,报Resource u'tokenizers/punkt/english.pickle' not found错误 import nltk sentence ...

  5. mac 键盘映射 karabiner

    mac 键盘映射 karabiner 今天在vim编辑的时候觉得用mac的方向键有点麻烦 需要移动我的小右手,然后就搜个映射方案. 百度出来了 karabiner. 官网 安装什么的就不说了, 安完了 ...

  6. MyBatis源码分析-SQL语句执行的完整流程

    MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生Map使用简 ...

  7. 关于IOS调用微信支付jsapi不起作用的解决方法

    微信支付时,安卓机调用 jsapi可以支付,IOS就不行,点击立即支付,直接返回原立即支付页面,跟刷新页面差不多,解决方案很简单:两句话而已. 不得不说,微信支付坑太多了,我擦..... <sc ...

  8. PS切图(一)

    Photoshop界面设置 新建文件Ctrl+N,其中[预设]-[web],[宽度]-[1920],高度不定.[背景内容]-[透明],也可存储为预设. 移动设置(V) 建议不勾选[自动选择],选择[图 ...

  9. MongoDB数据库的CURD的一些基本语句

    from:http://www.data321.com/shujuku/20160514417/addToSetQianMianBuXuYaoJinXing 插入文档: SQL语句: INSERT I ...

  10. ActiveMQ笔记(4):搭建Broker集群(cluster)

    上一篇介绍了基于Networks of Borkers的2节点HA方案,这一篇继续来折腾Networks of Brokers,当应用规模日渐增长时,2节点的broker可能仍然抗不住访问压力,这时候 ...