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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

P6619-[省选联考2020A/B卷]冰火战士【树状数组二分】

發布時間:2023/12/3 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 P6619-[省选联考2020A/B卷]冰火战士【树状数组二分】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

正題

題目鏈接:https://www.luogu.com.cn/problem/P6619


題目大意

有火系戰士和冰系戰士有一個溫度和一個戰斗力,每次加入或刪除一個戰士,要求一個最大的kkk使得溫度不低于kkk的火系戰士戰斗力和溫度不高于kkk的冰系戰士戰斗力和的最小值最大。


解題思路

不考慮kkk的話,對于這個答案很好求,我們只要求一個位置使得前面減去后面的和最小即可。這個可用樹狀數組上二分即可求出其中位置。考慮如何求最大的kkk,我們就是要求該位置開始后面的第一個火系戰士即可,定義它的前面一個位置的前面有www個火系戰士,也就是求第w+1w+1w+1個,也可以用樹狀數組上二分解決。

時間復雜度O(nlog?n)O(n\log n)O(nlogn)


codecodecode

#include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #define lowbit(x) (x&-x) using namespace std; const int N=2e6+10; int n,cnt,op[N],t[N],x[N],y[N]; int T,M,b[N],ti[N],tf[N],tn[N],sf; void Change(int x,int ice,int fire,int p){while(x<=M){ti[x]+=ice;tf[x]+=fire;tn[x]+=p;x+=lowbit(x);}sf+=fire;return; } int Query(int x,int ice,int fire,int p){int ans=0;while(x){ans+=ice*ti[x]+fire*tf[x]+tn[x]*p;x-=lowbit(x);}return ans; } int Ask1(){int zf=0,zi=0,l=1,r=M;while(l<r){int mid=(l+r)>>1;if(zi+ti[mid]>sf-zf-tf[mid])r=mid;else l=mid+1,zi+=ti[mid],zf+=tf[mid];}return l; } int Ask2(int x){int l=1,r=M,sum=0;while(l<r){int mid=(l+r)>>1;if(tn[mid]+sum>=x)r=mid;else l=mid+1,sum+=tn[mid];}return l; } int Calc(int x) {return min(Query(x,1,0,0),sf-Query(x-1,0,1,0));} int main() {scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d%d",&op[i],&t[i]);if(op[i]==1){scanf("%d%d",&x[i],&y[i]);b[++cnt]=x[i];}}T=(int)log(n)/log(2)+1;M=(1<<T);sort(b+1,b+1+cnt);cnt=unique(b+1,b+1+cnt)-b-1;for(int i=1;i<=n;i++){if(op[i]==1){ x[i]=lower_bound(b+1,b+1+cnt,x[i])-b;Change(x[i],(!t[i])*y[i],t[i]*y[i],t[i]);}else{int k=t[i];Change(x[k],-(!t[k])*y[k],-t[k]*y[k],-t[k]);}int a1=Ask1();a1=Query(a1-1,0,0,1);int b1=Calc(a1=Ask2(a1+1));if(!b1)printf("Peace\n");else printf("%d %d\n",b[a1],2*b1);} }

總結

以上是生活随笔為你收集整理的P6619-[省选联考2020A/B卷]冰火战士【树状数组二分】的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 久久久久久久久久久影院 | 色呦呦在线视频 | 国产精品久久久久久久久久 | 久久久久久视 | 99爱在线观看 | 日美韩av | 一区二区看片 | 国产毛片在线 | 国产一线二线在线观看 | 天天躁日日躁狠狠躁免费麻豆 | 亚洲人掀裙打屁股网站 | www,久久久 | 四虎视频国产精品免费入口 | 成年午夜视频 | 777片理伦片在线观看 | 91视频中文字幕 | 国产乱码精品一区二区三区亚洲人 | 天海翼一区二区 | 亚洲不卡中文字幕无码 | 粗了大了 整进去好爽视频 日本女优中文字幕 | www.亚洲高清| 久久九九国产精品 | 国产日韩在线一区 | 亚洲婷婷一区 | 欧美aaaaaa | 女同动漫免费观看高清完整版在线观看 | 亚洲国产清纯 | 手机av在线免费 | 日韩午夜免费 | 超碰日本 | 三点尽露的大尺度国产 | 成年人的天堂 | 精品看片| 超碰狠狠 | 蜜桃视频成人在线观看 | 欧美激情小视频 | 国产精品精品久久久久久 | 国内毛片毛片毛片毛片 | 国产91亚洲精品 | 麻豆av网| 综合激情亚洲 | 国产精品日韩电影 | 日本免费一区二区视频 | 野外(巨肉高h) | 欧美成人手机在线视频 | 四虎成人在线 | 一级福利片 | 黄色片子免费看 | 久久yy| 日本大尺度电影免费观看全集中文版 | 欧美日韩国产黄色 | bbbbbbbbb毛片大片按摩 | 亚洲色婷婷一区二区三区 | 综合av | 插女生下面 | 国产欧美日韩另类 | 欧美三极片| 国产做爰高潮呻吟视频 | 精品久久久久亚洲 | 91亚洲精品在线 | 色偷偷噜噜噜亚洲男人的天堂 | 免费在线| 欧美在线视频免费观看 | 大地av| 高清国产午夜精品久久久久久 | 色呦呦免费 | 欧美专区在线视频 | 亚洲精品在线视频观看 | 99热在线观看免费精品 | 免费成人美女女 | 天天综合天天综合 | 国产乱淫av | 久久国产精品免费看 | 日本人视频69式jzzij | 77777av | 杏导航aⅴ福利网站 | 麻豆一区二区三区 | 国产中文字幕久久 | 茄子爱啪啪 | 国产免费99| 久草免费在线观看 | 国产在线观看免费视频今夜 | a黄视频| free性中国hd国语露脸 | 一区二区亚洲 | 一区免费| 精品欧美久久 | 国模精品一区 | 欧州一区 | 欧美精品久久久久久久免费 | 50一60岁老妇女毛片 | 麻豆精品免费 | 午夜免费影院 | 精品国产制服丝袜高跟 | 99热精品久久 | 又大又粗弄得我出好多水 | 91久久久久一区二区 | 欧亚毛片 | 在线va视频 |