考前模擬 正確答案

2022-04-10 17:57:44 字數 2853 閱讀 3922

1.正確答案

【題目描述】

小h與小y剛剛參加完uoip外卡組的初賽,就迫不及待的跑出考場對答案。

「吔,我的答案和你都不一樣!」,小y說道,」我們去找神犇們問答案吧」。

外卡組試卷中共有m道判斷題,小h與小y一共從其他n個神犇那問了答案。之後又從小g那裡得知,這n個神犇中有p個考了滿分,q個考了零分,其他神犇不為滿分或零分。這可讓小y與小h犯了難。你能幫助他們還原出標準答案嗎?如有多解則輸出字典序最小的那個。無解輸出-1。

【輸入格式】

第一行四個整數n, m, p, q,意義如上描述。

接下來n行,每一行m個字元』n』或』y』,表示這題這個神犇的答案。

【輸出格式】

僅一行,乙個長度為m的字串或是-1。

【樣例輸入】

2 2 2 0

yyyy

【樣例輸出】

yy【資料範圍】

30% : n <= 100.

60% : n <= 5000 , m <= 100.

100% : 1 <= n <= 30000 , 1 <= m <= 500.  0 <= p , q 且 p + q <= n.

t1:30%:  o(n ^ 2 * m)暴力判斷。

100%: 很顯然答案的可能性最多只有n種,所以我們將所有人的答案按字典序排序後列舉     將每個人的答案作為正確答案來進行判斷。由於是判斷題,若當前人的答案為正確答      案則零分者的答案也就確定了,那麼只需統計出這兩種答案的人數判斷是否滿足題意      即可。這一步使用字串雜湊即可解決。

#include #include 

#include

#include

#include

using

namespace

std;

const

int n = 3e4 + 2, m = 5e2 + 2, sed = 31, sed = 131, mod = 70177, mod = 92311

;int

n, m, p, q, ans, hash[n], hash[n];

int top, info[mod], nxt[n * 2], fet[n * 2], cnt[n * 2

];struct

node

} a[n];

inline

void insert(const

int &x, const

int &y)

nxt[++top] = info[x]; info[x] =top;

fet[top] = y; cnt[top] = 1

;

return;}

inline

int query(const

int &x, const

int &y)

inline

void

solve1()

hash[i] = tmp, hash[i] =tmp;

insert(tmp, tmp);

}for (int i = 0; i < n; ++i)

if (query(hash[i], hash[i]) ==p)

if (query(tmp, tmp) ==q)

}if (ans != -1) printf("

%s\n

", a[ans].s);

else puts("-1"

);

return;}

char

cur[m];

inline

void

solve2()

hash[i] = tmp, hash[i] =tmp;

insert(tmp, tmp);

}for (int i = n - 1; i >= 0; --i)

if (query(hash[i], hash[i]) ==q)

if (query(tmp, tmp) ==p)

}if (ans != -1

)

else puts("-1"

);

return;}

void

solve3()

insert(tmp, tmp);

tmp = tmp = 0

;

for (int j = 0; j < m; ++j)

insert(tmp, tmp);

}bool flag = true

;

for (int i = 0; i < m; ++i) cur[i] = 'n'

;

do

if (query(tmp, tmp) == 0

) flag = false

;

for (int j = m - 1; j >= 0; --j)

if (cur[j] == '

y') cur[j] = 'n'

;

else

} while

(flag);

if (flag) printf("

%s\n

", cur);

else puts("-1"

);

return;}

intmain()

JZOJ 3888 正確答案 模擬

傳送門 給出n nn個答案,已知其中有p pp個是全對的,q qq個是全錯的,其他的既不是全對也不是全錯 問標準答案是什麼,輸出字典序較小的那乙個 我們用列舉標準答案是多少來求解,用map mapma p或雜湊來判斷全對和全錯時的正確答案是不是這乙個,若是,則當前答案就是我們的結果 有一種特殊情況就...

NOI online 考前模擬

結論 我被吊打 好我總結完了 我的做題順序 先都看了一遍,然後選擇了t3 接著是t1 t2 好了,我為什麼首選t3 因為這題乍一看,線段樹,在打眼一看,尤拉函式,嗯我雖然只會最笨的求法,但是可寫 至少我是這麼認為的 然後就線段樹存了區間乘,每次查詢更改。這兩天一定把線段樹提上日程,構建的還是不熟練,...

Jzoj 3888 正確答案

小h與小y剛剛參加完uoip外卡組的初賽,就迫不及待的跑出考場對答案。吔,我的答案和你都不一樣!小y說道,我們去找神犇們問答案吧 外卡組試卷中共有m道判斷題,小h與小y一共從其他n個神犇那問了答案。之後又從小g那裡得知,這n個神犇中有p個考了滿分,q個考了零分,其他神犇不為滿分或零分。這可讓小y與小...