假定n个数为a1,a2,...,an,前n项和分别是S1、S2、...、Sn,
那么如果有一个Si模n是0,就是答案,
否则,n个数模n的余数只能在 1到n - 1之间,
把余数作为抽屉,显然n个数放到n - 1个抽屉里面,
肯定有两个数余数相等,这样取它们的差就得到了结果,
算法复杂度是O(n)的。

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
#define maxn 10005
int n;
int s[maxn];
int sum[maxn];
int pos[maxn];
void input()
{
    scanf("%d",&n);
    ;i<=n;i++)
        scanf("%d",&s[i]);
    sum[]=s[]=;
    ;i<=n;i++)
        sum[i]=(sum[i-]+s[i])%n;
}
void work()
{
    memset(pos,-,sizeof(pos));
    pos[]=;
    ;i<=n;i++)
        )
            pos[sum[i]]=i;
        else
        {
            printf("%d\n",i-pos[sum[i]]);
            ;j<=i;j++)
                printf("%d\n",s[j]);
            return;
        }
}
int main()
{
    freopen("in.txt", "r", stdin);
    input();
    work();
    ;
}

【抽屉定理】 组合数学poj2356的更多相关文章

  1. HDU-6125-Friend-Graph-2017CCPC网络赛(图论,拉姆齐定理-组合数学)

    Friend-Graph Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) To ...

  2. poj 3734 Blocks 快速幂+费马小定理+组合数学

    题目链接 题意:有一排砖,可以染红蓝绿黄四种不同的颜色,要求红和绿两种颜色砖的个数都是偶数,问一共有多少种方案,结果对10007取余. 题解:刚看这道题第一感觉是组合数学,正向推了一会还没等推出来队友 ...

  3. Bzoj 4403: 序列统计 Lucas定理,组合数学,数论

    4403: 序列统计 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 328  Solved: 162[Submit][Status][Discuss] ...

  4. hdu 5776 抽屉定理

    sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submiss ...

  5. BZOJ4403: 序列统计【lucas定理+组合数学】

    Description 给定三个正整数N.L和R,统计长度在1到N之间,元素大小都在L到R之间的单调不降序列的数量.输出答案对10^6+3取模的结果. Input 输入第一行包含一个整数T,表示数据组 ...

  6. N.O.W,O.R,N.E.V.E.R--12days to LNOI2015

    双向链表 单调队列,双端队列 单调栈 堆 带权并查集 hash 表 双hash 树状数组 线段树合并 平衡树 Treap 随机平衡二叉树 Scapegoat Tree 替罪羊树 朝鲜树 块状数组,块状 ...

  7. CF451E Devu and Flowers 数论

    正解:容斥+Lucas定理+组合数学 解题报告: 传送门! 先mk个我不会的母函数的做法,,, 首先这个题的母函数是不难想到的,,,就$\left (  1+x_{1}^{1}+x_{1}^{2}+. ...

  8. ACM成长之路(干货) 我爱ACM,与君共勉

    前几天在网上看到,转过来时刻督促一下自己. ACM队不是为了一场比赛而存在的,为的是队员的整体提高. 大学期间,ACM队队员必须要学好的课程有: l C/C++两种语言 l 高等数学 l 线性代数 l ...

  9. 《Mathematical Olympiad——组合数学》——抽屉原理

    抽屉原理可以说是组合数学中最简单易懂的一个原理了,其最简单最原始的一个表达形式:对于n本书放到n-1个抽屉中,保证每个抽屉都要有书,则必存在一个抽屉中有2本书.但是这个简单的原理在很多问题中都能够巧妙 ...

随机推荐

  1. bootstrap ch2清除浮动+12

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...

  2. 文本注释系统 + MarkDown

    标记系统: 笔记的要点 题材 缘起 目标 等级: 细节性 事实性 规律 法则 适用范围: 时间.地点.人物.起因.经过.结果,who what where when why how whom 6W1H ...

  3. oracle 存储过程(1)

    --建一张user_info表create table user_info (id varchar2(10),name varchar2(20),password varchar2(20),addre ...

  4. 第五节 面向连接传输:TCP

    第五节 面向连接传输:TCP   TCP概述RFCs:793,1122,1323,2018,2581   点对点:   一个发送方,一个接收方   可靠,按序的字节流:   无“报文边界”,无结构但有 ...

  5. Lambda表达式介绍

    Lambda表达式实际上是一个匿名函数.它包含表达式和语句,常用于创建委托或表达式目录树类型.所有Lambda表达式都是用Lambda运算符----------  =>,该运算符读为" ...

  6. Entity Framework技巧系列之五 - Tip 16 – 19

    提示16. 当前如何模拟.NET 4.0的ObjectSet<T> 背景: 当前要成为一名EF的高级用户,你确实需要熟悉EntitySet.例如,你需要理解EntitySet以便使用 At ...

  7. DefaultHttpClient is deprecated 【Api 弃用]】

    最近在使用Apache的httpclient的时候,maven引用了最新版本4.3,发现Idea提示DefaultHttpClient等常用的类已经不推荐使用了,之前在使用4.2.3版本的时候,还没有 ...

  8. 运维命令rsync

    如果你是一位运维工程师,你很可能会面对几十台.几百台甚至上千台服务器,除了批量操作外,环境同步.数据同步也是必不可少的技能. 说到“同步”,不得不提的利器就是rsync,今天就来说说我从这个工具中看到 ...

  9. JSP内置对象--pageContent,request,response,session,application,config,out,page,exception

  10. fdisk添加磁盘

    1.            通过Fdisk查看系统分区详细信息: Fdisk –l   详解: [root@jetsenLin ~]# fdisk -l Disk /dev/sda: 10.7 GB, ...