奇怪的思路增加了

P4715 【深基16.例1】淘汰赛

已经找到问题 ![](https://cdn.luogu.com.cn/upload/image_hosting/jbxguy64.png) `for (int i = 3; i >= 2; i--)` 改为 `for (int i = n; i >= 2; i--)` 直接把样例的数据带进去了()
by imfkwk @ 2021-01-28 00:14:11


那请删了吧
by DWT8125 @ 2021-02-18 08:58:31


好家伙,跟我的想法一样
by Valk_R @ 2021-04-13 20:46:36


指思路
by Valk_R @ 2021-04-13 20:47:03


也许可以看看我这个 ```cpp #include<bits/stdc++.h> using namespace std; struct zz { int x,b; };zz a[260]; int main() { int n,k; cin>>n; for(int i=1;i<=pow(2,n);i++) { cin>>a[i].x; a[i].b=i; } k=1; while(n>1) { for(int m=1;m<=pow(2,n-1);m++){ if(a[k].x>a[k+1].x) { a[m].x=a[k].x; a[m].b=a[k].b; } else { a[m].x=a[k+1].x; a[m].b=a[k+1].b; } k+=2; } k=1; n--; } if(a[1].x>a[2].x)cout<<a[2].b; else cout<<a[1].b; return 0; } ```
by Valk_R @ 2021-04-13 20:48:27


@[I_love_your_mother](/user/389540) 这算不算讨论区题解?
by Surge_of_Force @ 2021-07-25 15:13:27


@[wapmhac](/user/230875) 这也算题解
by imfkwk @ 2021-07-25 17:00:00


确实是一个很好的思路(我的思路核心跟你一样qwq!) 不过我的代码更简短一点,主要是因为没用结构体,下标用map存进去,关键字是输入的数据。 下面贴上我的代码: ```cpp #include<iostream> #include<map> using namespace std; map<int,int> Ids; int Nl[200],n,i,l; int main(){ cin>>n;l=(1<<n); for(i=1;i<=l;++i) cin>>Nl[i],Ids[Nl[i]]=i; while(1){ if(l==2){ cout<<Ids[min(Nl[1],Nl[2])]; return 0; } for(i=1;i<=l;++i)if(i%2)Nl[i/2+1]=max(Nl[i],Nl[i+1]);l/=2; } } ```
by 狼霜朔又WA了吗 @ 2022-08-18 18:40:33


|