noip2007複賽提高組第一題答案

2025-03-04 05:05:21 字數 2361 閱讀 2643

1樓:網友

#include

#include

#define len 200000

int a[len],temp,mid;

int sort(int *a,int low,int high) /一趟快排。

mid=a[low];

while (low=mid) high--;

temp=a[low];a[low]=a[high];a[high]=temp;

while (lowtemp=a[low];a[low]=a[high];a[high]=temp;

return low;

void quicksort(int *a,int low,int high) /快排遞迴。

int mid;

if (low < high)

mid=sort(a,low,high);

quicksort(a,low,mid-1);

quicksort(a,mid+1,high);

int main()

file *fp;

int i,j,n,sum;

fp=fopen("","r");

fscanf(fp,"%d",&n);

for (i=0;ifscanf(fp,"%d",&a[i]);

fclose(fp);

quicksort(a,0,n-1); 呼叫快排。

fp=fopen("","w");

for (i=sum=0;iif (a[i+1]!=a[i]) sum++;

for (n=1,i=0,j=0;iwhile (a[j+1]==a[j])

fprintf(fp,"%d %d",a[j],n);

printf("%d %d",a[j],n);

n=1;fclose(fp);

return 1;

system("pause");

100%正確,後面有註釋!

noip2012提高複賽求指導啊啊啊啊啊

2樓:網友

現在有點晚了。。乙個星期提高不了多少的。。

12、13屆noip中的題目……急求解【要過程】

3樓:網友

n個有區別的球放到m個相同的盒子中,要求無一空盒,其不同的方案數用s(n,m)表示,稱為第二類stirling數。

設有n個不同的球,分別用b1,b2,……bn表示。從中取出乙個球bn,bn的放法有以下兩種:

1)bn獨自佔乙個盒子;那麼剩下的球只能放在m-1個盒子中,方案數為 s(n-1,m-1)

2)bn與別的球共佔乙個盒子;那麼可以事先將b1,b2,……bn-1這n-1個球放入m個盒子中,然後再將球bn可以放入其中乙個盒子中,方案數為 m*s(n-1,m)

s(n,m)=m*s(n-1,m)+s(n-1,m-1) (n>1,m>1)

邊界條件:s2(n,1)=1;s2(n,n)=1;s2(n,k)=0(k>n)

人把n寫成2的k次方加x的形式。

則j[n]=2x+1

400=2的8次方加144

所以是第2*144+1=289個人。

3.取其中乙個滿足要求的子集a來分析:

a={a1,a2,a3...an (n>=3)}

a1,a2,a3中至少有2個人互不認識 ,假設a1和a2不認識!

則:a中必只有乙個人am認識a1和a2!

而a中除了am所有的人都不認識a1和a2!

再看看,認識am的人都有誰,顯然a1和a2認識!

若還存在乙個am1認識am,則:am1不認識a1,不認識a2

所以:a中必定有且只有乙個am2認識am1和a1!

而上面我們說到a中除了am所有的人都不認識a1和a2!

所以我們假設的am1不成立!

換言之,認識am的人就只有a1和a2!

假設集合中的另乙個元素am3,顯然他不認識am,那麼顯然根據(3),集合中必有乙個人認識am,和am3

而我們說了認識am的人就只有a1和a2!

所以我們假設的am3不成立!

所以a中只能有3個元素!{a1,a2,am}

但是這樣的話am就認識了集合中的所有人,不符合(1)

所以這樣的子集是不存在的!

4樓:

第一題是第二類斯特林數。

第三題每個子集最少5人,所以子集至多有401個。

求試題,17屆noip(c語言)普及組初賽試題

5樓:偉大的宋宋

樓主直接去noip貼吧 置頂帖有你想要的東西 給分吧 你不給我也被度娘吃掉了 大家都是oi 你說對吧。

關於NOIP複賽,關於noip的複賽問題

11.20 就知道了 1 參賽選手和工作人員所有與會人員一律憑證件進入競賽機房,非參賽選手和非競賽工作人員不得進入競賽機房。2 選手一律憑參賽證 胸卡,報到時發給選手 和有效證件 身份證或學生證 進入競賽機房,並按參賽證指定機房和機位號入座。4 選手試機目的是熟悉競賽環境及提供的程式語言環境,有問題...

noip提高組初賽,noip提高組初賽 如何複習

刷點題吧 上poj或usaco都可 我覺得應該側重複賽 因為那才是省一 的比賽呀 期待交流 我是高二資訊省一 求noip提高組考試需掌握的演算法 大綱 noip提高組初賽 如何複習 唉 同病相憐 我過過初賽 可是不拿獎有什麼用 你要過的話,選擇 填空 寫結果是大頭 完善的話 不要浪費時間 目標是過去...

急求NOIP複賽複習,急求NOIP複賽複習資料

二 複賽內容與要求 在初賽的內容上增加以下內容 a 資料結構 1 指標型別 2 多維陣列 3 單連結串列及迴圈連結串列 4 二叉樹 5 檔案操作 從文字檔案中讀入資料,並輸出到文字檔案中 b 程式設計 1 演算法的實現能力 2 程式除錯基本能力 3 設計測試資料的基本能力 4 程式的時間複雜度和空間...