P1383盗窃-黑珍珠

背景

怪盗基德 VS OIBH

第二话

描写叙述

今次怪盗基德再次对阵OIBH,目标是Black Star!基德已经突破了数层封锁,到达

了OIBH总部存放Black Star的房间门口。OIBH的人也不是等闲之辈,他们在门上

设了password。password问题上仅仅有两个正整数n,m。

基德已经获悉password的生成方法。现

在要你帮他计算出password。

生成方法是这种:

设一个数组a[1..n](n即是上述中的n)中按递增存放了1..n这n个数。数组s是

a的子数组(就是集合s为集合a的子集)。而数组s中随意两个数的和都不被m整

除。s中数的数目最大值就是password!

格式

输入格式

一行两个整数n,m

输出格式

仅仅有一个数max,即password。

例子1

例子输入1[复制]

50 7

例子输出1[复制]

23

限制

每一个点1S

提示

1<=n,m<=10000

非常easy哦~~

来源

From 玛维-影之歌;

感谢kaito&aoko提供測试数据

此题的要素:

将1....n对m进行取余

得到了0.....m -1

显然假设0出现过的话,0仅仅能出现一次,

接着能够发现因为取余得到的结果的顺序是如此:0..5..m-1,0...5...m-1

所以在m/2前出现的数肯定比后面的数多,然后又由于x + y == m是不成立的

所以我们仅仅要取m/2范围内的数就能够了

#!/usr/bin/env python3
# -*- coding: utf-8 -*- import math
n, m = map(int,raw_input().split())
L = []
F = [0] * m
for i in range(1,n + 1):
F[i % m] += 1
cnt = 0
for i in range(1, m / 2 + 1):
cnt += F[i]
if F[0]:
cnt += 1
if m % 2 == 0:
if F[m / 2]:
cnt -= F[m / 2] - 1
print cnt

vijos- P1383盗窃-黑珍珠 (python + 代码优化)的更多相关文章

  1. python基础===Python 代码优化常见技巧

    Python 代码优化常见技巧 代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构.优化.扩展以及文档相关的事情通常需要消耗 8 ...

  2. Python 代码优化常见技巧

    代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构.优化.扩展以及文档相关的事情通常需要消耗 80% 的工作量.优化通常包含两方 ...

  3. python代码优化技巧

    转自:http://www.douban.com/group/topic/31478102/ 这个资料库还有些不错的好文章: http://www.ibm.com/developerworks/cn/ ...

  4. Python 代码优化技巧(一)

    Table of Contents 1. 代码优化Part1 1.1. if 判断的短路特性 1.2. join 合并字符串 1.3. while 1 和 while True 1.4. cProfi ...

  5. Python代码优化概要

    Python即是面向过程语言,也是面向对象语言,很多其它情况下充当脚本语言的角色.虽是脚本语言,但相同涉及到代码优化的问题,代码优化可以让程序执行更快,它是在不改变程序执行结果的情况下使程序执行效率更 ...

  6. python代码优化---就喜欢细节

    地址:http://www.codeproject.com/Tips/829060/Python-Code-Optimizations-Part-One 转发过来保存一下.喜欢精雕细琢,编程才有乐趣. ...

  7. Python代码优化及技巧笔记(一)

    前言 这里是记录一些本人在开发过程中遇到的一些细节问题.与君共勉. 版权说明 著作权归作者全部.商业转载请联系作者获得授权,非商业转载请注明出处. 作者:Coding-Naga链接:http://bl ...

  8. vijos - P1279Leave-绿光(数学归纳法 + python)

    P1279Leave-绿光 Accepted 标签:[显示标签] 背景 期待这一份幸运,和一份冲劲,多么奇异的际遇--. 燕姿在演唱完绿光这首歌后,出给了姿迷一个考题. 北欧有一个传说! 人一生中能看 ...

  9. python代码优化-----cpu和内存监控

    1.memory_profiler可以监控代码的内存消耗及增长量,以下面的代码为例. 发现在for循环里增加了0.3MB,这个工具可以帮助我们定位内存泄露的问题. 2.profile与cProfile ...

随机推荐

  1. TCP流量控制与拥塞解决

    滑动窗口 但要提高网络利用率: nagle算法 - 延迟 慢启动.拥塞避免 发送端主导cwnd init  set  ssthresh  &  cwnd = swnd loop : 网不阻塞 ...

  2. 对数组名取地址&a和 数组首地址a

    #include <iostream> using namespace std; ] = {,,,,}; int main() { cout<<a<<" ...

  3. 《编写可维护的Javascript》学习总结

    第一部分 一.基本规范 1.缩进:一般以四个空格为一个缩进. 2.语句结尾:最好加上分号,因为虽然“自动分号插入(ASI)”机制在没有分号的位置会插入分号,但是ASI规则复杂而且会有特殊情况发生 // ...

  4. [转]How can I get my webapp's base URL in ASP.NET MVC

    本文转自:http://stackoverflow.com/questions/1288046/how-can-i-get-my-webapps-base-url-in-asp-net-mvc May ...

  5. P1334 瑞瑞的木板

    题目描述 瑞瑞想要亲自修复在他的一个小牧场周围的围栏.他测量栅栏并发现他需要N(1≤N≤20,000)根木板,每根的长度为整数Li(1≤Li≤50,000).于是,他神奇地买了一根足够长的木板,长度为 ...

  6. C#随机取部分数据

    1.使用Random伪随机生成器 但是这样会由于转换为数组类型导致性能下降,千万要避免这种用法. 2.使用Take返回重头开始指定数量的连续元素 每次进来这个方法的时候,都使用Guid进行一次排序,然 ...

  7. Selenium基于Python web自动化基础二 -- 免登录、等待及unittest单元测试框架

    一.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去 ...

  8. 删除链表中重复的结点_java

    package algorithms; /* public class ListNode { int val; ListNode next = null; ListNode(int val) { th ...

  9. TFRecordReader "OutOfRangeError (see above for traceback): RandomShuffleQueue '_1_shuffle_batch/random_shuffle_queue' is closed and has insufficient elements (requested 1, current size 0)" 问题原因总结;

    1. tf.decode_raw(features['image_raw'],tf.uint8) 解码时,数据类型有没有错?tf.float32 和tf.uint8有没有弄混??? 2. tf.tra ...

  10. 散列--P1047 校门外的树

    题目描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置:数轴上的每个整数点,即0,1,2,-,L,都种有 ...