vijos- P1383盗窃-黑珍珠 (python + 代码优化)
背景
怪盗基德 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。
限制
每一个点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 + 代码优化)的更多相关文章
- python基础===Python 代码优化常见技巧
Python 代码优化常见技巧 代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构.优化.扩展以及文档相关的事情通常需要消耗 8 ...
- Python 代码优化常见技巧
代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构.优化.扩展以及文档相关的事情通常需要消耗 80% 的工作量.优化通常包含两方 ...
- python代码优化技巧
转自:http://www.douban.com/group/topic/31478102/ 这个资料库还有些不错的好文章: http://www.ibm.com/developerworks/cn/ ...
- Python 代码优化技巧(一)
Table of Contents 1. 代码优化Part1 1.1. if 判断的短路特性 1.2. join 合并字符串 1.3. while 1 和 while True 1.4. cProfi ...
- Python代码优化概要
Python即是面向过程语言,也是面向对象语言,很多其它情况下充当脚本语言的角色.虽是脚本语言,但相同涉及到代码优化的问题,代码优化可以让程序执行更快,它是在不改变程序执行结果的情况下使程序执行效率更 ...
- python代码优化---就喜欢细节
地址:http://www.codeproject.com/Tips/829060/Python-Code-Optimizations-Part-One 转发过来保存一下.喜欢精雕细琢,编程才有乐趣. ...
- Python代码优化及技巧笔记(一)
前言 这里是记录一些本人在开发过程中遇到的一些细节问题.与君共勉. 版权说明 著作权归作者全部.商业转载请联系作者获得授权,非商业转载请注明出处. 作者:Coding-Naga链接:http://bl ...
- vijos - P1279Leave-绿光(数学归纳法 + python)
P1279Leave-绿光 Accepted 标签:[显示标签] 背景 期待这一份幸运,和一份冲劲,多么奇异的际遇--. 燕姿在演唱完绿光这首歌后,出给了姿迷一个考题. 北欧有一个传说! 人一生中能看 ...
- python代码优化-----cpu和内存监控
1.memory_profiler可以监控代码的内存消耗及增长量,以下面的代码为例. 发现在for循环里增加了0.3MB,这个工具可以帮助我们定位内存泄露的问题. 2.profile与cProfile ...
随机推荐
- 275 H-Index II H指数 II
这是 H指数 进阶问题:如果citations 是升序的会怎样?你可以优化你的算法吗? 详见:https://leetcode.com/problems/h-index-ii/description/ ...
- TensorFlow车牌识别实践(1)
本文对公开的文章进行验证,从环境搭建到运行到结果分析. 1,文章:基于TensorFlow的车牌号识别系统 文章(译文) http://www.cnblogs.com/Jsmile2017/p/680 ...
- Codeforces_758_D_(区间dp)
D. Ability To Convert time limit per test 1 second memory limit per test 256 megabytes input standar ...
- RocketMQ学习笔记(16)----RocketMQ搭建双主双从(异步复制)集群
1. 修改RocketMQ默认启动端口 由于只有两台机器,部署双主双从需要四个节点,所以只能修改rocketmq的默认启动端口,从官网下载rocketmq的source文件,解压后使用idea打开,全 ...
- GetArxPath
extern HINSTANCE _hdllInstance;CString GetArxPath(){ CString strArxPath; GetModuleFileName(_hdllInst ...
- find命令查找和替换
find命令查找和替换 语法: find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g' #查找替换当前目录下包含字符串并进行替换 ...
- Java之三大基础排序(冒泡、选择、插入)
注:以下排序均为从小到大 一.冒泡排序 package com.yunche.testsort; import java.util.Arrays; /** * @ClassName: BubbleSo ...
- NAT、NAPT(PAT)的基本概念和工作原理及区别
转自:http://blog.sina.com.cn/s/blog_5d302bd20100gprv.html 近年来,随着 Internet 的迅猛发展,连入 Internet 的主机数量成倍增长. ...
- 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 ...
- 把 web 项目部署到 Linux 服务器上
1.打开 eclipse,在已经完成的 web 项目上面点击右键,选择 export,然后选择导出成 war 包. 以部署 SMBMS 项目为例 2.项目打包成 war ,选择项目导出到的位置. ...