日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2018 ACM ICPC Asia Regional - Seoul B.Cosmetic Survey

發布時間:2023/12/3 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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?),1t<k的最小值。

定義S(x,y)S(x,y)S(x,y),對于上述所有序列C1=xC_1=xC1?=xCk=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),(1im,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)))
最后暴力比較求出答案。

#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #pragma GCC optimize(2) #include<set> #include<map> #include<cmath> #include<stack> #include<queue> #include<random> #include<bitset> #include<string> #include<vector> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<unordered_map> #include<unordered_set> using namespace std; typedef long long ll; typedef pair<int,int> pii; const int N=510; int n,m; int a[N][N],d[N][N]; int main() {IO;int T=1;//cin>>T;while(T--){cin>>m>>n;for(int i=1;i<=n;i++) for(int j=1;j<=m;j++){cin>>a[i][j];if(a[i][j]==0) a[i][j]=1e8;}for(int i=1;i<=m;i++) for(int j=i+1;j<=m;j++){for(int k=1;k<=n;k++){if(a[k][i]<a[k][j]) d[i][j]++;if(a[k][i]>a[k][j]) d[j][i]++;}int x=d[i][j],y=d[j][i];if(x>=y) d[j][i]=0;if(y>=x) d[i][j]=0;}for(int k=1;k<=m;k++) for(int i=1;i<=m;i++)for(int j=1;j<=m;j++){if(!d[i][k]||!d[k][j]) continue;d[i][j]=max(d[i][j],min(d[i][k],d[k][j]));}vector<int> ans;for(int i=1;i<=m;i++){bool ok=1;for(int j=1;j<=m;j++){if(i==j) continue;if(d[i][j]<d[j][i]) ok=0;}if(ok) ans.push_back(i);}for(auto t:ans) cout<<t<<' ';cout<<'\n';}return 0; }

總結:首先需要暴力理解題意

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的2018 ACM ICPC Asia Regional - Seoul B.Cosmetic Survey的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。