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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Codeforces Round #378 (Div. 2) D - Kostya the Sculptor

發(fā)布時間:2023/12/18 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Codeforces Round #378 (Div. 2) D - Kostya the Sculptor 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Kostya the Sculptor

這次cf打的又是心累啊,果然我太菜,真的該認(rèn)真學(xué)習(xí),不要隨便的浪費時間啦

【題目鏈接】Kostya the Sculptor

&題意:

給你n個長方體,你要使長方體的內(nèi)切球有體積最大,有兩種選擇方案
①只選1個長方體。
②選2個長方體,黏到一起,但這2個長方體黏的那一面必須完全相等。也就是長寬相等。

&題解:

1個長方體遍歷一遍取最小就好了。
2個的時候要第2短的和第3短的相等,才能合到一起,最小的有可能是2個最小的相加,或者是第2短的那個。
這題比賽的時候,總是在想如果相等的在最后怎么辦,還要特殊處理,好像并沒有處理好,所以總是wa。
現(xiàn)在想來根本不用,只要在最后加一個絕對不可能相等的數(shù)據(jù)就好了,這就減少了特殊處理最后一組的麻煩。應(yīng)記住。
這也是用過好多次的方法了,不知道為什么當(dāng)時就想不起來了 = =
還有輸出的格式問題,為什么我注釋的那塊就不對呢?我還真的不知道,如果有大神看見,希望能評論回答一下!

【時間復(fù)雜度】O(\(n\))

&代碼:

#include <bits/stdc++.h> using namespace std; typedef long long ll; const int INF = 0x3f3f3f3f; #define cle(a,val) memset(a,(val),sizeof(a)) #define SI(N) scanf("%d",&(N)) #define SII(N,M) scanf("%d %d",&(N),&(M)) #define SIII(N,M,K) scanf("%d %d %d",&(N),&(M),&(K)) #define rep(i,b) for(int i=0;i<(b);i++) #define rez(i,a,b) for(int i=(a);i<=(b);i++) #define red(i,a,b) for(int i=(a);i>=(b);i--) const ll LINF = 0x3f3f3f3f3f3f3f3f; #define PU(x) puts(#x); #define PI(A) cout<<(A)<<endl; #define DG(x) cout<<#x<<"="<<(x)<<endl; #define DGG(x,y) cout<<#x<<"="<<(x)<<" "<<#y<<"="<<(y)<<endl; #define DGGG(x,y,z) cout<<#x<<"="<<(x)<<" "<<#y<<"="<<(y)<<" "<<#z<<"="<<(z)<<endl; #define PIar(a,n) rep(i,n)cout<<a[i]<<" ";cout<<endl; #define PIarr(a,n,m) rep(aa,n){rep(bb, m)cout<<a[aa][bb]<<" ";cout<<endl;} const double EPS = 1e-9 ; /* C o d i n g S p a c e */ const int MAXN = 100000 + 9 ; struct Node {ll x,y,z;int id; }no[MAXN]; bool cmp(const Node& A,const Node& B){if (A.y==B.y) return A.z==B.z?A.x<B.x:A.z<B.z;else return A.y<B.y; } int n; void Solve() {while(~SI(n)){rep(i,n){int t[5];rep(j,3) SI(t[j]);sort(t,t+3);no[i].x=t[0],no[i].y=t[1],no[i].z=t[2],no[i].id=i+1;}ll re1=0,re2=1;rep(i,n){if (re1<no[i].x){re1=no[i].x,re2=no[i].id;}}sort(no,no+n,cmp);ll re3=0,re4=1,re5=1;Node t;t.x=-1,t.y=-1,t.id=-9;no[n++]=t;rep(i,n-1){if (no[i].z==no[i+1].z&&no[i].y==no[i+1].y){while(no[i].z==no[i+1].z&&no[i].y==no[i+1].y) i++;if (re3<min(no[i].x+no[i-1].x,no[i].y)){re3=min(no[i].x+no[i-1].x,no[i].y);re4=no[i].id,re5=no[i-1].id;}}}if (re3>re1){printf("2\n%d",re4);printf(" %d\n",re5);//上面的是對的,但下面的就是錯的,一樣的東西啊,不知道為什么// printf("2\n%d %d\n",re4,re5);}else{printf("1\n%d\n",re2);}} } int main() { #ifndef ONLINE_JUDGEfreopen("1.in", "r", stdin);freopen("1.out","w",stdout); #endif //iostream::sync_with_stdio(false); //cin.tie(0), cout.tie(0);// int T;cin>>T;while(T--)Solve();return 0; }

轉(zhuǎn)載于:https://www.cnblogs.com/s1124yy/p/6021611.html

總結(jié)

以上是生活随笔為你收集整理的Codeforces Round #378 (Div. 2) D - Kostya the Sculptor的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。