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 ...
随机推荐
- TCP流量控制与拥塞解决
滑动窗口 但要提高网络利用率: nagle算法 - 延迟 慢启动.拥塞避免 发送端主导cwnd init set ssthresh & cwnd = swnd loop : 网不阻塞 ...
- 对数组名取地址&a和 数组首地址a
#include <iostream> using namespace std; ] = {,,,,}; int main() { cout<<a<<" ...
- 《编写可维护的Javascript》学习总结
第一部分 一.基本规范 1.缩进:一般以四个空格为一个缩进. 2.语句结尾:最好加上分号,因为虽然“自动分号插入(ASI)”机制在没有分号的位置会插入分号,但是ASI规则复杂而且会有特殊情况发生 // ...
- [转]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 ...
- P1334 瑞瑞的木板
题目描述 瑞瑞想要亲自修复在他的一个小牧场周围的围栏.他测量栅栏并发现他需要N(1≤N≤20,000)根木板,每根的长度为整数Li(1≤Li≤50,000).于是,他神奇地买了一根足够长的木板,长度为 ...
- C#随机取部分数据
1.使用Random伪随机生成器 但是这样会由于转换为数组类型导致性能下降,千万要避免这种用法. 2.使用Take返回重头开始指定数量的连续元素 每次进来这个方法的时候,都使用Guid进行一次排序,然 ...
- Selenium基于Python web自动化基础二 -- 免登录、等待及unittest单元测试框架
一.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去 ...
- 删除链表中重复的结点_java
package algorithms; /* public class ListNode { int val; ListNode next = null; ListNode(int val) { th ...
- 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 ...
- 散列--P1047 校门外的树
题目描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置:数轴上的每个整数点,即0,1,2,-,L,都种有 ...