转自ACMore_Xiong,时刻提醒自己多想到模运算
来源:互联网 发布:淘宝卖家发货幽默短信 编辑:程序博客网 时间:2024/06/10 03:32
思维题:抽屉原理 hdu 5776 sum & 51Nod 1103 N的倍数
题目链接: hdu 5776 sum 、 51nod 1103 N的倍数
hdu5576 sum题意:给定长度为N的整数序列,问该序列是否存在一个连续的子区间的和为M的倍数。 (1≤n≤100000, 1≤m≤5000).
51nod 1103 N的倍数 题意: 一个长度为N的数组A,从A中选出若干个数,使得这些数的和是N的倍数。(2 <= N <= 50000)
思路:两个题目思路一样。
以51Nod 1103 为例。先求出前缀和 % N。
1.如果这些和中有一个0,那么我们便得到所求。
2.否则,这些和中必有两个是相等的(抽屉原理),他们相减为0,这便又找到我们想要的。利用抽屉原理,因为N的倍数,(除去第一种情况之后),A[i]中的任意一个数modN 都是在[1, N-1] 然后把N个数扔到这些个N-1个格子里,必定会有两个一样,这两个做减法就是一样的了。
1.如果这些和中有一个0,那么我们便得到所求。
2.否则,这些和中必有两个是相等的(抽屉原理),他们相减为0,这便又找到我们想要的。利用抽屉原理,因为N的倍数,(除去第一种情况之后),A[i]中的任意一个数modN 都是在[1, N-1] 然后把N个数扔到这些个N-1个格子里,必定会有两个一样,这两个做减法就是一样的了。
那么其实可以发现,不可能存在结果为“No Solution” 的情况。
hdu 5776 sum这题也是求出前缀和 % M。
如果出现前缀和相等的情况,证明答案为YES, 否则答案为NO。
阅读全文
0 0
- 转自ACMore_Xiong,时刻提醒自己多想到模运算
- 时刻提醒自己的话
- 时刻提醒自己
- 学习计划摘要,时刻提醒自己
- 时刻提醒自己一定要努力
- 要时刻提醒自己的几件事
- 【杂项】时刻提醒自己:Markdown使用方法
- 时刻提醒自己,全才等于无才
- 时刻提醒自己,多思考、用最简单的方法做事
- 转:时刻需要提醒自己:比你优秀的人比你更努力。
- 时刻提醒自己的话 要每天看看的话(第一版)
- 提醒自己:时刻要注意编程的基本功!!
- 成为编程巨星的唯一秘诀(时刻提醒自己)
- 禅道程序员的10条原则【时刻提醒自己】
- 禅道程序员的10条原则【时刻提醒自己】
- 心怀梦想,时刻提醒自己,减少抱怨,落在实处!
- 不要做浮躁的程序员,时刻提醒自己
- 技术人员的10个层次,时刻提醒自己
- Mvp练习题 电影滑动
- 如何提高写代码的效率?
- Viewpager刷新数据问题
- 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)B 幸运大奖
- 卡片切换
- 转自ACMore_Xiong,时刻提醒自己多想到模运算
- 怎样才能赚到钱系列(八):走出舒适区
- 图的深度遍历-邻接链表表示
- LeetCode20. Valid Parentheses
- 遗传算法博客版
- JAva中读取TXT文件的方法。
- Python 学习第一章 笔记
- Java中的Map容器---2----TreeMap
- vim编译器的简单配置