51nod1103 抽屜原理 N的倍數

2021-08-07 14:19:55 字數 561 閱讀 2575

我感覺這種題就是思維。

給定n個數,要求取多少個,他們的和為n的倍數。

維護字首和。(取模有可加性)

如果mod等於0,那就從頭到尾輸出。

否則的話,n個數的mod 範圍在1-n-1之間,

肯定有兩個數的mod一樣,那他們的差值就是結果。。

n個數,可以再多,但是如果和為x的倍數,這個大於n,那麼就不行了。

#include 

using

namespace

std;

const

int maxn=1e5+1000;

int a[maxn];

int sum[maxn];

int vis[maxn];

int m;

int l,r;

int main()

}if(!flag)}}

}printf("%d\n",r-l);

for(int i=l+1;i<=r;i++)

}else

}return

0;}

51nod1103 抽屜原理

題意 中文題誒 思路 抽屜原理 對於兩個數a,b,若a b modx 那麼 a b x 0 所以求滿足題意的數列,我們可以在連續子串行裡面找到 證明 我們用num i 儲存a i 的字首和mod n的值,我們有n個字首和,其mod n的值有1 n 1 n 1種可能 如果為 的話說明第 個元素到第i個...

51nod 1103 鴿巢原理

思路 這道題嘛有些彎還是要轉的,比如你說讓你搞n的倍數,你別老老實實照她的意思去啊,倍數可以除法,取膜 因為n個數我們可以求字首和然後取膜,對n取膜的話有0 n 1種情況,所以方案一定是有的,說的好聽一點就是因為鴿巢原理,如果取膜 0那直接輸出,如果有兩種相等的,減一下輸出就好了,一定會存在,而且不...

51nod 1103 鴿巢原理

思路 這道題嘛有些彎還是要轉的,比如你說讓你搞n的倍數,你別老老實實照她的意思去啊,倍數可以除法,取膜 因為n個數我們可以求字首和然後取膜,對n取膜的話有0 n 1種情況,所以方案一定是有的,說的好聽一點就是因為鴿巢原理,如果取膜 0那直接輸出,如果有兩種相等的,減一下輸出就好了,一定會存在,而且不...