20171105考試總結

2021-08-10 08:58:48 字數 4270 閱讀 6594

題目描述:小 x 是一位熱愛數學的男孩子,在茫茫的數字中,他對質數更有一種獨特的情感。小 x 認為,質數是一切自然數起源的地方。在小 x 的認知裡,質數是除了本身和 1 以外,沒有其他因數的數字。但由於小 x 對質數的熱愛超乎尋常,所以小 x 同樣喜歡那些雖然不是質數,但卻是由兩個質數相乘得來的數。於是,我們定義,乙個數是小 x 喜歡的數,當且僅當其是乙個質數,或是兩個質數的乘積。而現在,小 x 想要知道,在 l 到 r 之間,有多少數是他喜歡的數呢?l,r<10^7;q<10^5

成績:ac

題解:線性篩素數,在篩素數的同時用類似的方法篩出小x喜歡的數。

分析:只需一眼的大水題,非常正常的第一題。(。•́︿•̀。)

#include

#include

#include

#include

using

namespace

std;

const

int max=10000000;

const

int n=3000000+10;

inline

void getint(int&num)

}int t,tot,cnt,l,r,prime[n],like[n];

bool vis[max],flag[max];

inline

void init()

}}int main()

}

題目描述:小 x 正困在乙個密室裡,他希望盡快逃出密室。密室中有 n 個房間,初始時,小 x 在 1 號房間,而出口在 n 號房間。密室的每乙個房間中可能有著一些鑰匙和一些傳送門,乙個傳送門會單向地創造一條從房間 x 到房間 y 的通道。另外,想要通過某個傳送門,就必須具備一些種類的鑰匙(每種鑰匙都要有才能通過)。幸運的是,鑰匙在開啟傳送門的封印後,並不會消失。然而,通過密室的傳送門需要耗費大量的時間,因此,小 x 希望通過盡可能少的傳送門到達出口,你能告訴小 x 這個數值嗎?另外,小 x 有可能不能逃出這個密室,如果是這樣,請輸出 「no solution」。n<=5000,m<=6000,k<=10

成績:85

題解:把每個房間根據所有鑰匙的可能拆點,連邊然後spfa。

分析:每個節點輸入時用了位運算處理可以得到的鑰匙,然而key變數沒有清0,(這樣居然能水過去85分(。﹏。*)),很快寫出這道題後,大樣例一過,就有點太過自信了 (๑>m<๑) ,寫第二題時一直在但心時間的問題,造了極限資料卡時間,反而忽略了**正確性的檢查。

#include

#include

#include

#include

#include

#include

using

namespace

std;

const

int l=5000+10;

const

int n=6000000+10;

const

int m=20000000+10;

const

int inf=0x3f3f3f3f;

inline

void getint(int&num)

}int n,m,k,u,v,cnt,c,key,ed;

int id[l][1030],dis[n];

int fir[n],tar[m],nxt[m],w[m];

bool in[n];

inline

void link(int a,int b,int c)

inline

int spfa()

}int tmp=inf;

for(int i=0;i<=ed;i++)

tmp=min(tmp,dis[id[n][i]]);

if(tmp==inf) tmp=-1;

return tmp;

}int main()

for(int i=1;i<=m;i++)

int ans=spfa();

if(~ans) printf("%d\n",ans);

else

printf("no solution\n");

}

題目描述:在c國中有n位士兵,除士兵1外,每位士兵i均有且僅有一位士兵j作為他的直屬教官。士兵i被他的直屬教官j以及所有能管轄j的士兵所管轄。每位士兵也看做能管轄自己。每位士兵均有兩個屬性值:戰鬥力bi與領導力 li。現在c國要舉行q次閱兵,每次閱兵會指定一位士兵s做總指揮,士兵s需要訓練自己所管轄的所有士兵,並以最好的精神面貌迎接閱兵式。士兵s每次閱兵訓練時有一次機會(只能使用一次或不使用),可以邀請一位不受他管轄的士兵i來指導一位他所管轄的士兵j,並會使得士兵j的戰鬥力由bj提公升為bj+li,這次提公升僅對當次閱兵有效。士兵s訓練出的士兵隊伍所能展現出的精神力p為:max(bi%bj)士兵bi被bj所管轄現在c國主席想知道,每次閱兵的隊伍所能展現出的精神力p最大能是多少?請你幫助他。

成績:30

題解:很明顯可以看出來,在不請求不能管轄士兵幫助時,答案為子樹中第二大的值。但現在處理可以加l的情況,判斷如何使第二大的值盡量大,分幾種情形:(。。。)打if串太痛苦了,求出子樹中前三大的b,以及非子樹中前三大的l(不能重複),3^2列舉即可。關於如何維護前三大,利用dfs序,子樹的編號自然是連續的然用線段樹維護。

分析:思路其實很好想,然而維護時,我忘了dfs序這種神奇的東西,然後一直在調莫名其妙的樹dp(其實也有人用樹dp寫出來了,然而我一蒟蒻。。°(°ˊдˋ°) °)最後慶幸我10分鐘的暴力沒出什麼問題。

#include

#include

#include

#include

#include

#include

#define b first

#define l second

#define mp make_pair

#define pb push_back

#define lson x<<1

#define rson x<<1|1

using

namespace

std;

typedef

long

long ll;

typedef pair pii;

const

int n=300000+10;

inline

void getint(int&num)

}int n,t,now,s,fa[n],r[n],dfn[n];

int cnt,fir[n],tar[n],nxt[n],id[n];

ll b1[n<<2],b2[n<<2],b3[n<<2],b[5];

ll l1[n<<2],l2[n<<2],l3[n<<2],l[5];

pii sol[n];

inline

void link(int a,int b)

void dfs(int x)

inline

void update(int x)

inline

void build(int x,int l,int r)

int mid=(l+r)>>1;

build(lson,l,mid);

build(rson,mid+1,r);

update(x);

}void getmax_b(int x,int l,int r,int ql,int qr)

else

}void getmax_l(int x,int l,int r,int ql,int qr)

else

}int main()

cout

0;}

總結:這場考試失誤還是比較多的,雖然都不是很大的失誤但積累起來分數就比較低了,第三題還確實有沒想到的地方,思路比正解麻煩了一點,但第二題就非常遺憾了,連續了三場考試都有較大的失誤,,,感覺好尬。。(๑ő ő๑),有一種不夠緊張和專注,簡單題出毒,難題有想不出來的尷尬,做第三題時擔心前面是否有錯,檢查一二題時有擔心第三題來不及,,,感覺時間永遠不夠,,尷尬尷尬尷尬尷尬o( m _ pi )o下一場注意注意力還需要更集中,,不要莫名中二發作。。o( =•ω•= )m,不要浪費時間,保持緊張的狀態。。。↖(^ω^)↗

考試總結 CQOI2017 考試總結

再奮鬥一年,爭取ak noip2016 cqoi2017 這是去年我立的flag。看考場,電腦挺快,而且配置和評測機一樣,可以放心的在自己的電腦上卡常測試啦,好評。碼了一道fft的題,沒網只好拷著回家交,鍵盤蜜汁小,enter佔據了兩行,旁邊還有關機按鈕。座位安排奧妙重重,和巴蜀dyf大神坐在一起。...

MBA考試總結

終於考完了 mba入學統考,兩年來參加了兩次,感覺還是挺辛苦和有壓力的。第一年沒有通過是因為之前了解太遲,大概準備了 20天左右,最後還是功成垂敗。09年其實也一直沒有心情複習的,逼到最後的 20天,狠了一把勁,還是狠狠的複習了幾天,貌似今年應該可以通過了。總結經驗如下 1 如果你決定去做一件事,請...

2016 7 14考試總結。

今天的考試,總的來說不難,但是考得很差,簡直 從中暴露出對知識的掌握不牢固,練習不夠等問題。1.求 方程x1 2x2 nxn m的所有非負整數解 x1,x2,xn 的個數。這個題目在加上取餘運算後就是乙個貨幣系統的問題。也就是揹包。難以接受自己連這是個揹包問題都沒看出來。3 2.其實邪狼王的貪婪也很...