description
馬達加斯加貞魚是一種神奇的雙腳貞魚,它們把自己的智慧型寫在腳上——每只貞魚的左腳和右腳上個有乙個數。有一天,k只貞魚興致來潮(1≤k≤10^5),排成一列,從左到右第i只貞魚會在右腳寫ai(1≤ai≤10^9),左腳上寫上i(1≤i≤k),第二年,這k只貞魚按右腳的數從小到大排成一列,然後,它們決定重編號,從左到右第i只貞魚會在右腳上寫上左腳的數,在左腳上寫i,第三年,它們按第二年的方法重排列、重編號……n年後(1≤n≤10^5),對於從左到右第i和第j貞魚,若i
#include
#include
#include
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fd(i,a,b) for(int i=a;i>=b;i--)
using
namespace
std;
int n,m;
const
int n=1e6+5;
typedef
long
long ll;
struct node
a[n];
int b[n],tmp[n];
ll ans;
inline
void merge_sort(int l,int r)
tmp[cnt++]=b[h1];
h1++;
}fo(i,h1,mid)tmp[cnt++]=b[i];
fo(i,h2,r)tmp[cnt++]=b[i];
fo(i,l,r)b[i]=tmp[i];
}bool cmp(node x,node y)
sort(a+1,a+1+n,cmp);
fo(i,1,n)b[a[i].id]=i;
scanf("%d",&m);
if(m&1)
sort(a+1,a+n+1,cmp);
fo(i,1,n)b[i]=a[i].id;
} merge_sort(1,n);
printf("%lld\n",ans);
}
BZOJ 4769 超級貞魚 歸併排序
time limit 2 sec memory limit 64 mb submit 123 solved 32 submit status discuss 馬達加斯加貞魚是一種神奇的雙腳貞魚,它們把自己的智慧型寫在腳上 每只貞魚的左腳和右腳上個有乙個數。有一天,k只貞魚興致來潮,排成一列,從左到右...
bzoj 4769 超級貞魚 歸併排序
time limit 1 sec memory limit 128 mb 馬達加斯加貞魚是一種神奇的雙腳貞魚,它們把自己的智慧型寫在腳上 每只貞魚的左腳和右腳上個有乙個數。有一天,k只貞魚興致來潮 1 k 10 5 排成一列,從左到右第i只貞魚會在右腳寫ai 1 ai 10 9 左腳上寫上i 1 i...
超級鋼琴 BZOJ 2006
超級鋼琴 問題描述 小z是乙個小有名氣的鋼琴家,最近c博士送給了小z一架超級鋼琴,小z希望能夠用這架鋼琴創作出世界上最美妙的 這架超級鋼琴可以彈奏出n個音符,編號為1至n。第i個音符的美妙度為ai,其中ai可正可負。乙個 超級 和弦 由若干個編號連續的音符組成,包含的音符個數不少於l且不多於r。我們...