11237 - Halloween treats

题目链接

题意:有c个小伙伴,n个房子(c <= n)。每一个房子会给ai个糖果,要求选一些房子,使得得到的糖果能平均分给小伙伴,输出方案

思路:c <= n 这个条件非常关键,假设有这个条件,那么就能够开一个sum[i]记录0 - i的前缀和%c的值,这样一来在长度n的数组中,必定会出现反复的两个值。用sum[i] - sum[j] == 0这个区间就必定是所求的答案

代码:

#include <cstdio>
#include <cstring>const int N = 100005;
int c, n, a[N], sum[N], vis[N];void solve() {memset(vis, -1, sizeof(vis));vis[0] = 0;for (int i = 1; i <= n; i++) {sum[i] = (sum[i - 1] + a[i]) % c;if (vis[sum[i]] != -1) {for (int j = vis[sum[i]] + 1; j < i; j++)printf("%d ", j);printf("%d\n", i);return;}vis[sum[i]] = i;}
}int main() {while (~scanf("%d%d", &c, &n) && c + n) {for (int i = 1; i <= n; i++)scanf("%d", &a[i]);solve();}return 0;
}

转载于:https://www.cnblogs.com/zfyouxi/p/5091826.html

UVA 11237 - Halloween treats(鸽笼原理)相关推荐

  1. HDU 1808 Halloween treats (鸽巢原理)(数学)

    HDU 1808 Halloween treats (鸽巢原理)(数学) 原题:http://acm.hdu.edu.cn/showproblem.php?pid=1808 题意:给定c,给n个数,且 ...

  2. poj3370Halloween treats(鸽笼原理)

    题目链接: 传送门 思路: 这个是鸽笼原理的题目...看了一下这个原理,对此的理解是分为三点.. c代表人的数目,n代表家庭的数目.. [1]首先要求前缀和,然后对此取余,首先如果出现余数为0的情况, ...

  3. POJ 3370 Halloween treats——鸽巢原理+思维

    [题目描述] POJ 3370 Halloween treats Description Every year there is the same problem at Halloween: Each ...

  4. HDU 5762 Teacher Bo (鸽笼原理) 2016杭电多校联合第三场

    题目:传送门. 题意:平面上有n个点,问是否存在四个点 (A,B,C,D)(A<B,C<D,A≠CorB≠D)使得AB的横纵坐标差的绝对值的和等于CD的横纵坐标差的绝对值的和,n<1 ...

  5. Codeforce-Ozon Tech Challenge 2020-C. Kuroni and Impossible Calculation(鸽笼原理)

    To become the king of Codeforces, Kuroni has to solve the following problem. He is given n numbers a ...

  6. CF1379F1 Chess Strikes Back (easy version)(鸽笼原理、线段树)

    解析 很神奇的一道题 关键在于把22的正方形看成一个单位的转化 由于每个22最多有一个国王 因此每个2*2都一定有一个国王 这是本题的关键 个人感觉这个思想很像鸽笼原理 至于后面的线段树就水到渠成了 ...

  7. Loj#3077-「2019 集训队互测 Day 4」绝目编诗【结论,虚树,鸽笼原理】

    正题 题目链接:https://loj.ac/p/3077 题目大意 给出nnn个点mmm条边的一张简单无向图,求是否存在两个长度相等的简单环. 1≤n≤104,1≤m≤1061\leq n\leq ...

  8. YbtOJ-变量观测【鸽笼原理】

    正题 题目大意 有nnn个数字开始都是000,要求有qqq次操作. 新建一个观测员,观测其中的kkk个数,当这kkk个数从此刻开始变化量不小于ttt时观测结束. 将第iii个数加vvv,并输出此时观测 ...

  9. 从鸽笼原理到拉姆塞数

    1958年6-7月号美国的<数学月刊>上刊载着这样一个有趣的问题:"任何6个人的聚会,其中总会有3个人相互认识,或3个人相互不认识"(这是确定事件,不是以一定概率发生) ...

最新文章

  1. python手机版iphone-Python编程狮下载
  2. android 动态添加删除控件,求教Android,动态添加到控件能动态删除吗?
  3. 《研磨设计模式》chap21 解释器模式Interpreter(1)模式介绍
  4. 【Nginx那些事】nginx配置实例(一)反向代理
  5. 产品经理之深度学习促进产品
  6. Windows 系统软件有哪些「必备」软件?
  7. 4份简约实用自我介绍PPT模板,总有一份适合你
  8. Cocos Creater 获取和设置世界坐标
  9. Web 网站架构的演变历程
  10. 英文版红帽linux设置屏保,Linux下屏保设置
  11. win10改win7 bios设置方法
  12. 【数据分析与挖掘】数据分析学习及实践记录 | part 03-matplotlib常用统计图
  13. 从最新艾瑞报告,探寻通信云厂商融云的「护城河」
  14. Java:支付宝当面付demo(公钥证书方式)-沙箱环境测试版
  15. 青梅煮酒,聊聊 zlib 压缩
  16. 植物大战僵尸花园花盆种类
  17. 领带打法大全—如何打领带,怎么打领带才能体现优雅气质?
  18. 用手机也能轻松玩转MATLAB编程
  19. SQLServer查询筛选后的结果集
  20. 2021“华数杯”C题完整解答附全代码

热门文章

  1. SVM与feature
  2. 面试题 01.04. 回文排列
  3. CentOS 7上搭建Spark 3.0.1 + Hadoop 3.2.1分布式集群
  4. 问题 L: 求100以内的素数
  5. DNS的正、反以及双向解析
  6. vmare fusion:No Ethernet Connection VMware Fusion 12 macOS Big Sur
  7. 区块链应用构建解决方案Reach拟于今年三季度在Algorand启动Balancer
  8. 北岛创投发起7200万美元加密VC基金,保罗·都铎·琼斯参与投资
  9. Umbrella Network与Linear Finance合作,将专业金融数据带入DeFi
  10. 轻量级区块链协议Mina推出对抗性测试网“Testworld”