HDU1808(抽屉原理)
采用sum求和的方式,从sum[1],sum[1]+sum[2],……,sum[1]+sum[2]+……+sum[n];对N求余,余数在1-N之间,那么肯定存在两个余数相同的情况,vis数组记录余数出现过!
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<cstdio>
using namespace std;
const int maxx=1e5+10;
int a[maxx];
int vis[maxx];
int main(){int n,m;while(scanf("%d %d",&m,&n)){if(n==0&&m==0)break; memset(a,0,sizeof(a));memset(vis,0,sizeof(vis));int sum=0;for(int i=1;i<=n;i++){scanf("%d",&a[i]);}for(int i=1;i<=n;i++){sum=(sum+a[i])%m;if(sum==0){int j;for(j=1;j<i;j++){printf("%d ",j);}printf("%d\n",j);break;}else if(vis[sum]!=0){int t=vis[sum];int j;for(j=t+1;j<i;j++){printf("%d ",j);}printf("%d\n",j);break;}vis[sum]=i;}}return 0;
}
HDU1808(抽屉原理)相关推荐
- poj2356(抽屉原理)
题意:从输入的N个元素中找出是N的倍数的元素并且输出: 因为这个要求的是连续的数之和,先用sum数组求和:sum[1],sum[1]+sum[2],--,sum[1]+sum[2]+--+sum[n] ...
- 牛客算法周周练2 B Music Problem(DP,抽屉原理,二进制拆分)
链接:https://ac.nowcoder.com/acm/contest/5203/B 来源:牛客网 题目描述 Listening to the music is relax, but for o ...
- POJ 2356 Find a multiple (抽屉原理)
感觉这个题很不错,至少开始真的没想道可以用抽屉原理推出一个结论,然后把这题秒掉.... 已知有n个元素,sum[i]表示从1到i所有数的和...sum[i]%n可以得到一个剩余系,如果出现0,那么结果 ...
- 鸽巢原理(抽屉原理)的详解
抽屉原理 百科名片 桌上有十个苹果,要把这十个苹果放到九个抽屉里,无论怎样放,我们会发现至少会有一个抽屉里面放两个苹果.这一现象就是我们所说的"抽屉原理". 抽屉原理的一般含义为: ...
- POJ 2356 (抽屉原理)
题目中说:随便输出一组.抽屉原理可以求出取出的数连续的情况. #include <iostream> #include<cstdio> using namespace std; ...
- Algorithm:C++语言实现之SimHash和倒排索引算法相关(抽屉原理、倒排索、建立查找树、处理Hash冲突、Hash查找)
Algorithm:C++语言实现之SimHash和倒排索引算法相关(抽屉原理.倒排索.建立查找树.处理Hash冲突.Hash查找) 目录 一.SimHash算法 1.SimHash算法五个步骤 2. ...
- 14. 不修改数组找出重复的数字【难度: 一般 / 知识点: 抽屉原理 二分】
第一种方法: 开了map计数,多用了空间,map: logn,时间复杂度O(nlogn) class Solution {public:int duplicateInArray(vector<i ...
- hdu 3303(线段树+抽屉原理)
解题思路:这题利用了抽屉原理,即1-M之间的所有数与M+1的模都不相同.那么可以利用它将要查找所有区间分成[1,Y-1],[Y,2*Y-1],[2*Y,3*Y-1].........一直下去,直到所有 ...
- N的倍数(抽屉原理)
一个长度为N的数组A,从A中选出若干个数,使得这些数的和是N的倍数. 例如:N = 8,数组A包括:2 5 6 3 18 7 11 19,可以选2 6,因为2 + 6 = 8,是8的倍数. Input ...
- 抽屉远离在计算机的应用,抽屉原理的应用及其推广优秀毕业论文
抽屉原理的应用及其推广优秀毕业论文 抽屉原理的应用及其推广 数学与计算机科学学院 数学与应用数学 指导老师: 王美能 摘要:抽屉原理也叫鸽巢原理,是研究如何将元素分类的一个原理,也是组合数学里最简单. ...
最新文章
- 服务器创建和附加虚拟磁盘,Windows 7 虚拟硬盘中的新增功能
- matplotlib pcolormech 用法
- QT_QSlider的总结
- 【转】MFC 各类型相互转换
- 如何使用SMTPDiag 工具
- boost::type_erasure模块convert相关的测试程序
- CF1000G Two-Paths
- Android studio使用git切换分支开发的方法(图文教程)
- hadoop-2.5.1 源码编译
- 腾讯股价创新高:总裁刘炽平减持40万股 套现2.5亿港元
- Spring Boot + JPA +MySQL 数据操作及示例环境搭建(手动建表建类)
- 归并排序执行次数_一文了解C/C++经典排序算法
- wind python接口手册_wind量化平台-用户手册(python).pdf
- 抓取青果教务系统信息
- OpenCV中文官方文档-分享
- 锁定计算机和睡眠有什么区别,电脑win7休眠和睡眠有什么区别?
- 210714 cypress
- 拳皇FANS们不得不看的动画
- 【vbs/bat】强制关闭程序
- 扫地机器人的技术升级之路 自主规划清扫成主流