給出231−
12^-1
231−
1範圍的1−n
1-n1−
n的數列,然後有不超過k≤1
e5
k\leq1e5
k≤1e
5次交換,求問最終的逆序對的個數是多少。
被交換的值不超過2k2k
2k個,然後再考慮中間一段連續的數對逆序對的貢獻,把他們看作是同乙個點。樹狀陣列維護即可。
#includeusing namespace std;
typedef long long ll;
const int inf=0x3f3f3f3f;
const ll inf=long_long_max;
const int n=2e5+7;
int x[n],y[n],tot=0;
int a[n],b[n];
ll t[n];
void add(int x,ll k)
ll query(int x)
int main()
sort(a+1,a+1+tot);
tot=unique(a+1,a+1+tot)-(a+1);
for(int i=1;i<=tot;i++) b[i]=i;
for(int i=1;i<=n;i++)
ll ans=0;
add(b[tot],1);
for(int i=tot-1;i>0;i--)
printf("%lld\n",ans);
return 0;
}
無盡的生命 洛谷p2448
逝者如斯夫,不捨晝夜!葉良辰認為,他的壽命是無限長的,而且每天都會進步。葉良辰的生命的第一天,他有1點能力值。第二天,有2點。第n天,就有n點。也就是s i i 但是調皮的小a使用時光機,告訴他第x天和第y天,就可以任意交換某兩天的能力值。即s x s y 小a玩啊玩,終於玩膩了。葉良辰 小a你給我...
洛谷2448 無盡的生命
題目 分析 首先離散化,然後樹狀陣列求所有操作過的數產生的逆序對,再求每個操作過的數與沒操作過的數產生的逆序對,因為原始序列有序,所以很方便。include include include include using namespace std const int tmax 200005 struc...
洛谷 2448 無盡的生命
逝者如斯夫,不捨晝夜!葉良辰認為,他的壽命是無限長的,而且每天都會進步。葉良辰的生命的第一天,他有1點能力值。第二天,有2點。第n天,就有n點。也就是s i i 但是調皮的小a使用時光機,告訴他第x天和第y天,就可以任意交換某兩天的能力值。即s x s y 小a玩啊玩,終於玩膩了。葉良辰 小a你給我...