2018 ACM ICPC Asia Regional - Seoul B.Cosmetic Survey
參考大佬代碼
題目大意
nnn個顧客,mmm種畫妝品,每一個顧客會給mmm種化妝品一個值,這個值代表這個化妝品在他心中的排名,排名越小越喜歡,如果這個值為0說明最不喜歡這一種化妝品(值為0理解為無窮大)
現在定義d(x,y)d(x,y)d(x,y)表示第xxx種化妝品和第yyy種化妝品之間,喜歡第xxx種化妝品的人數
定義一個序列C1,C2,C3,…,CkC_1,C_2,C_3,\dots,C_kC1?,C2?,C3?,…,Ck?,其中保證d(Ci,Ci+1)>d(Ci+1,Ci)d(C_i,C_{i+1})>d(C_{i+1},C_i)d(Ci?,Ci+1?)>d(Ci+1?,Ci?),而這個路徑有一個值(序列值)代表d(Ct,Ct+1),1≤t<kd(C_t,C_{t+1}),1\leq t<kd(Ct?,Ct+1?),1≤t<k的最小值。
定義S(x,y)S(x,y)S(x,y),對于上述所有序列C1=xC_1=xC1?=x,Ck=yC_k=yCk?=y即以xxx為開頭,yyy結尾的序列中,序列值的最大值
如果對于一個化妝品xxx來說的S(x,i)≥S(i,x),(1≤i≤m,i≠x)S(x,i)\ge S(i,x),(1\leq i\leq m,i\ne x)S(x,i)≥S(i,x),(1≤i≤m,i?=x)對于上述條件的iii都成立,那么它就是“好”的化妝品。
現在求出所有“好”化妝品的編號?
首先暴力求出d(i,j)d(i,j)d(i,j),然后floyd暴力求出S(i,j)=max(S(i,j),min(d(i,k),d(k,j)))S(i,j)=max(S(i,j),min(d(i,k),d(k,j)))S(i,j)=max(S(i,j),min(d(i,k),d(k,j)))
最后暴力比較求出答案。
總結:首先需要暴力理解題意
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的2018 ACM ICPC Asia Regional - Seoul B.Cosmetic Survey的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 带着爸爸去留学的演员
- 下一篇: codeforces1455 D. Se