校ACM第二次預選賽 總結

2021-09-02 01:39:28 字數 2917 閱讀 6741

這是第二場選拔賽, 主要是本科的幾個班級, 共250人左右參賽, 1594次提交, 434次ac, 題目難度相比昨天較為簡單一些, 廢話不說 上題解

//直接輸出並換行即可, 記得換行!!

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

#define ms(x, n) memset(x,n,sizeof(x));

typedef

long

long ll;

const ll maxn =

1e6+10;

intmain()

//涉及基本的多行輸入和選擇判斷, 因為是輸入正整數所以不考慮等腰直角三角形

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

#define ms(x, n) memset(x,n,sizeof(x));

typedef

long

long ll;

const ll maxn =

1e6+10;

intmain()

return0;

}

//涉及基本的氣泡排序, 然後在氣泡排序交換時對每次排序記錄次數即可記錄次數

其實這道題不算很難, 只是課本中的知識, 但不知道為什麼只有幾位同學做了出來

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

#define ms(x, n) memset(x,n,sizeof(x));

typedef

long

long ll;

const ll maxn =

500010

;int num[maxn]

, n;

intsolve()

intmain()

return0;

}

這道題目是唯一的一道英文題, lcm是最小公倍數的意思, 翻譯過來就是最大最小公倍數, 題意就是在1到n範圍內找出三個數能組成最大的最小公倍數

這個地方牽扯到數論中的一點兒基礎知識, 很簡單的知識

1. 互質數: 兩個數的最大公約數是1的時候稱為互質數

2. 相鄰的兩個自然數是互質數。如 15與 16。

3. 相鄰的兩個奇數是互質數。如 49與 51。

這時候分類討論一下小於三和奇數, 偶數的情況就好了.

奇數直接取n, n-1, n-2, 偶數就再多判斷一下能不能被3餘的情況

#include

intmain()

printf

("%lld\n"

,answer);}

}

//這道題是本輪選拔賽的一道難題, 需要用到數論中的容斥定理, 但比賽中臨時決定降低難度, 所以直接按照題意迴圈模擬求公約數即可做出, 下面介紹以下容斥定理

容斥原理、先對n分解質因數,分別記錄每個質因數,那麼所求區間內與某個質因數不互質的個數就是n/r(i),假設r(i)是r的某個質因子 假設只有三個質因子,總的不互質的個數應該為p1+p2+p3-p1p2-p1p3-p2p3+p1p2p3, 及容斥原理,pi代表n/r(i),即與某個質因子不互質的數的個數,當有更多個質因子的時候,可以用狀態壓縮解決,二進位制位上是1表示這個質因子被取進去了。如果有奇數個1就相加,反之則相減。

就是要排除重複的情況,比如求與2,3都不互質的個數時,有可能23的倍數算了兩遍,所以要減掉一種情況,那就是以n/23表示與23不互質的數

#include

#include

#include

using

namespace std;

typedef

long

long ll;

ll n;

vector pme;

ll count_prime

(ll x,ll n)

if(n>

1)pme.

push_back

(n);

ll sum=

0,value,cnt;

for(i=

1;i<

size()

);i++)}

if(cnt&1)

sum+

=x/value;

else sum-

=x/value;

}return x-sum;

}int

main()

return0;

}

第二次總結

距離上一次寫總結,過去了兩周,由於第四次任務不多,寫一篇部落格字數會很少,所以兩次任務一起寫一篇部落格。第四次任務 第四次的任務是做測試,並寫出測試文件。通過測試,把每個頁面都仔細的看了一遍,清楚了每個頁面要幹什麼,對這個專案想要實現什麼有了進一步的了解。對於我沒有及時把測試檔案發到群裡還反省了一番...

第二次總結

一 學習方面 二 生活方面 本週完成了歷史校外實踐活動,通過發放調查問卷調查了不同年齡段的人群對於歷史的興趣。三 感悟 在進行歷史校外實踐的時候,我們要發放調查問卷,很多人都配合我們的調查,並認真填寫,但也有人置之不理,做了一件事之後才知道這件事有多難做,所以以後在路上碰到需要幫忙調查問卷的人亦或是...

第二次總結

語句 c語言中由乙個分號隔開的就是一條語句。分支語句 選擇結構 1.if 語句 語法結構 if 表示式1 語句1 else if 表示式2 語句2 else 語句3 注 如果表示式的結果為真,則語句執行。0表示假,非0表示真 else永遠和最近的if語句相結合 2.switch 語法結構 switc...