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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

[***]HZOJ 柱状图

發布時間:2025/4/16 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [***]HZOJ 柱状图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

神仙題。

作者的正解:

算法二:對于60%的數據:考慮直接枚舉屋頂的位置,總花費與屋頂的高度的關系是一個單峰函數,,我們可以用三分法三分屋頂的高度.?時間復雜度O(n2*logn)。

?

算法三:對于100%的數據: ?我們枚舉屋頂位置再三分高度的做法,復雜度的瓶頸在于花費的計算。假設屋頂在i處,高度為hi,如果j<i,hj-j=hi-i ; 如果j>i,hj+j=hi+i。

根據權值排序,建立樹狀數組來解決權值與i的權值的關系,用兩個樹狀數組維護。時間復雜度O(n(logn)(logv),V為屋頂的高度

?

對于60%的數據大概有兩種做法:

1.如作者題解,說的挺清楚的。

2.考慮對于一個確定的位置作為屋頂,那么屋頂的高度是確定的,證明以后再說。將每個點的高度加上到屋頂的距離,高度為之后序列的中位數,所以就可以模擬退火了。

對于100%的數據:

1.模擬退火(沒臉)。

2.枚舉屋頂,三分高度,然后主要的優化就是在計算花費上。可以用兩個樹狀數組維護。

由于時間比較緊剩下的先咕掉了……

?

1 #include<algorithm> 2 #include<iostream> 3 #include<cstdio> 4 #include<cmath> 5 #define int LL 6 #define LL long long 7 #define MAXN 100010 8 #define reg register 9 #define con const 10 using namespace std; 11 struct node 12 { 13 int val,id; 14 friend bool operator < (node a,node b) 15 {return !(a.val^b.val)?a.id<b.id:a.val<b.val;} 16 }al[MAXN],ar[MAXN]; 17 int n,a[MAXN],maxh,rkl[MAXN],rkr[MAXN]; 18 #define lowbit(x) ((x)&(-(x))) 19 struct bit 20 { 21 int C[MAXN],num[MAXN]; 22 void add(reg int x,reg con int y,reg con int z) 23 {while(x<=n){C[x]+=y;num[x]+=z;x+=lowbit(x);}} 24 pair<int,int> ask(reg int x) 25 { 26 int sum=0,nnum=0; 27 while(x) 28 { 29 sum+=C[x]; 30 nnum+=num[x]; 31 x-=lowbit(x); 32 } 33 return make_pair(sum,nnum); 34 } 35 }le,re; 36 __attribute((always_inline))int get(reg con int x,reg con int maxh) 37 { 38 int ans=0; 39 ans+=abs(maxh-a[x]); 40 int pos=upper_bound(al+1,al+n+1,(node){maxh-x,x})-al-1; 41 pair<int,int> tem=le.ask(pos); 42 ans+=tem.second*(maxh-x)-tem.first; 43 pair<int,int> tem2=le.ask(n); 44 ans+=tem2.first-tem.first-(tem2.second-tem.second)*(maxh-x); 45 pos=upper_bound(ar+1,ar+n+1,(node){maxh+x,x})-ar-1; 46 tem=re.ask(pos); 47 ans+=tem.second*(maxh+x)-tem.first; 48 tem2=re.ask(n); 49 ans+=tem2.first-tem.first-(tem2.second-tem.second)*(maxh+x); 50 return ans; 51 } 52 __attribute((always_inline))void read(int &s) 53 { 54 s=0; 55 reg int f=1;reg char a=getchar(); 56 while(a<'0'||a>'9'){if(a=='-')f=-1;a=getchar();} 57 while(a>='0'&&a<='9'){s=s*10+a-'0';a=getchar();} 58 s*=f; 59 } 60 signed main() 61 { 62 read(n); 63 int ans=0x7ffffffffffff; 64 for(reg int i=1;i<=n;++i) 65 { 66 read(a[i]); 67 al[i].val=a[i]-i,al[i].id=i; 68 ar[i].val=a[i]+i,ar[i].id=i; 69 } 70 sort(al+1,al+n+1); 71 sort(ar+1,ar+n+1); 72 for(reg int i=1;i<=n;++i)rkl[al[i].id]=i,rkr[ar[i].id]=i; 73 for(reg int i=1;i<=n;++i)re.add(rkr[i],a[i]+i,1); 74 for(reg int i=1;i<=n;++i) 75 { 76 re.add(rkr[i],-a[i]-i,-1); 77 int l=max(i,n-i+1),r=1e9,ml,mr; 78 ans=min(ans,get(i,l)); 79 while(r>l+1) 80 { 81 int mid=(l+r)>>1; 82 ml=mid-1,mr=mid; 83 int ans1=get(i,ml), 84 ans2=get(i,mr); 85 if(ans1<ans2)r=mid; 86 else l=mid; 87 ans=min(ans,ans1); 88 ans=min(ans,ans2); 89 if(!(ml^l)&&!(mr^r))break; 90 } 91 le.add(rkl[i],a[i]-i,1); 92 } 93 printf("%lld\n",ans); 94 } View Code

?

?

?

?

?

?

轉載于:https://www.cnblogs.com/Al-Ca/p/11318851.html

總結

以上是生活随笔為你收集整理的[***]HZOJ 柱状图的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日韩69 | 亚洲精品视频在线播放 | 最新中文字幕第一页 | 国产久一| av在线一区二区 | 91亚洲精品乱码久久久久久蜜桃 | 波多野结衣一区二区三区中文字幕 | av男女 | 一级黄色播放 | 色一色成人网 | www.欧美一区二区三区 | 国产精品5| 亚洲成人麻豆 | 少妇被躁爽到高潮无码文 | 熟女少妇a性色生活片毛片 亚洲伊人成人网 | 处破痛哭a√18成年片免费 | 欧美偷拍第一页 | 色姑娘天天操 | 日韩免费高清 | 99视频在线精品 | 久久免费网 | 亚洲在线综合 | 91se在线| 九九在线观看高清免费 | 久久日韩 | 欧美精品免费一区二区 | 午夜粉色视频 | 97超碰碰| 欧美色图30p | 日本黄色成人 | 黄色网址大全免费 | 亚洲精品成人a | 精品人妻一区二区三区香蕉 | 亚洲熟伦熟女新五十路熟妇 | 黄在线免费看 | 国产视频高清 | 成年人免费在线观看视频网站 | 成人福利在线播放 | 久久aⅴ国产欧美74aaa | 免费男女乱淫真视频免费播放 | 日韩欧美中文字幕一区二区三区 | 国产精品成 | 免费观看视频一区二区 | 日韩成人一区 | 久久综合桃花网 | 日本在线看 | 久久久久麻豆v国产精华液好用吗 | 久久久久久久久久久网 | 日日干狠狠干 | 秋霞av一区二区三区 | 夜夜操av | 性开放的欧美大片 | 亚洲精品成人无码毛片 | 久久99久久99精品中文字幕 | 北条麻妃在线一区 | 欧美伊人久久 | 色多多网站 | 久久婷婷久久 | 男人操女人的免费视频 | 一级片一级 | 中文字幕一区二区久久人妻网站 | 五月天色小说 | 亚洲精品久久久久久久蜜桃臀 | 最新中文字幕av | 成人在线观看黄色 | 色综合激情网 | 成人福利视频网站 | 久久久久亚洲av片无码v | 激情戏网站 | 久久久久久久综合色一本 | 亚洲精品偷拍视频 | 国产亚洲精品久久 | 黄色国产一级 | 亚洲妇女体内精汇编 | 欧洲国产精品 | 大香伊人中文字幕精品 | av影视网 | 国产精品免费久久久 | 男生操女生逼逼 | 激情视频久久 | 天天躁夜夜操 | 能看的av | 亚洲手机av| 久久久最新 | 自拍视频第一页 | 日韩影音| 日韩精品免费一区二区 | 亚洲欧美中日韩 | 久久在草| 日韩欧美国产成人精品免费 | 欧美人与性动交a欧美精品 日韩免费高清视频 | 女女高潮h冰块play失禁百合 | 日韩电影一二三区 | av最新地址| 久久成人精品 | 钰慧的mv视频在线观看 | 久久久久久夜 | 亚洲蜜桃av| a√国产 |