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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【STSRM13】绵津见

發布時間:2025/4/5 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【STSRM13】绵津见 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【算法】掃描線:差分+樹狀數組

【題意】轉化模型后:求每個矩形覆蓋多少點和每個點被多少矩形覆蓋。n<=10^5。

【題解】經典的掃描線問題(二維偏序,二維數點)。

數點問題

將所有詢問離線并離散化,然后按從上到下排序。

對于點被覆蓋問題:

掃描線從上到下進行,遇到矩陣上邊界維護區間加,遇到矩陣下邊界維護區間減,也就是差分,遇到點單點查詢。

每行的排序順序是{矩陣加,點,矩陣減}。

可以線段樹區間維護,也可以樹狀數組每行各自差分。

對于矩陣覆蓋問題:

掃描線從上到下進行,遇到點單點加,遇到矩陣上邊界查詢區間點數,遇到矩陣下邊界查詢區間點數并減去上邊界區間點數得到一個答案。

每行的排序順序是{矩陣加,點,矩陣減}。

線段樹和樹狀數組皆可。

#include<cstdio> #include<algorithm> #include<cstring> #include<cctype> using namespace std; const int maxn=300010; struct cyc1{int t,x;}a[maxn]; struct cyc2{int t,l,r,y;}b[maxn]; struct cyc{int x,y,y2,id,kind;}q[maxn]; int t[maxn],n,m,mx,my,tot,c[maxn],d[maxn],ans[maxn]; int read() {char c;int s=0,t=1;while(!isdigit(c=getchar()))if(c=='-')t=-1;do{s=s*10+c-'0';}while(isdigit(c=getchar()));return s*t; } bool cmp(cyc a,cyc b) {return a.x==b.x?a.kind>b.kind:a.x<b.x;} bool cmp2(cyc a,cyc b) {return a.x==b.x?a.kind>b.kind:a.x<b.x;} int lowbit(int x){return x&(-x);} void modify(int x,int k){for(int i=x;i<=my;i+=lowbit(i))t[i]+=k;} int find(int x){int ans=0;for(int i=x;i>=1;i-=lowbit(i))ans+=t[i];return ans;} int main(){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){int u=read(),v=read();a[i]=(cyc1){u,v};c[++mx]=u;d[++my]=v;}for(int i=1;i<=m;i++){int u=read(),v=read(),w=read(),z=read();b[i]=(cyc2){u,v,w,z};c[++mx]=u-z;c[++mx]=u+z;d[++my]=v;d[++my]=w;}sort(c+1,c+mx+1);sort(d+1,d+my+1);mx=unique(c+1,c+mx+1)-c-1;my=unique(d+1,d+my+1)-d-1;for(int i=1;i<=n;i++){q[++tot]=(cyc){lower_bound(c+1,c+mx+1,a[i].t)-c,lower_bound(d+1,d+my+1,a[i].x)-d,0,i,0};}for(int i=1;i<=m;i++){q[++tot]=(cyc){lower_bound(c+1,c+mx+1,b[i].t-b[i].y)-c,lower_bound(d+1,d+my+1,b[i].l)-d,lower_bound(d+1,d+my+1,b[i].r)-d,i,1};tot++;q[tot]=q[tot-1];q[tot].x=lower_bound(c+1,c+mx+1,b[i].t+b[i].y)-c;q[tot].kind=-1;}sort(q+1,q+tot+1,cmp);for(int i=1;i<=tot;i++){if(q[i].kind){modify(q[i].y,q[i].kind);modify(q[i].y2+1,-q[i].kind);}else ans[q[i].id]=find(q[i].y);}for(int i=1;i<=n;i++)printf("%d ",ans[i]);printf("\n");sort(q+1,q+tot+1,cmp2);memset(t,0,sizeof(t));for(int i=1;i<=tot;i++){if(q[i].kind){if(q[i].kind==1)ans[q[i].id]=find(q[i].y2)-find(q[i].y-1);else ans[q[i].id]=find(q[i].y2)-find(q[i].y-1)-ans[q[i].id];}else modify(q[i].y,1);}for(int i=1;i<=m;i++)printf("%d ",ans[i]);return 0; } View Code

?

轉載于:https://www.cnblogs.com/onioncyc/p/7348096.html

總結

以上是生活随笔為你收集整理的【STSRM13】绵津见的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 欧美自拍一区 | 男女福利视频 | 一区二区三区色 | 日韩三级小视频 | 狠狠插狠狠操 | 不卡免费视频 | 奇米影视第四色777 波多野结衣一区二区三区免费视频 | 黄片毛片在线观看 | 国产伦精品一区二区三区在线 | 精品国产18久久久久久二百 | 男人午夜av| 最新黄色在线 | 91精品啪在线观看国产线免费 | 日韩精品一区二区三区在线观看 | 国产做爰xxxⅹ高潮视频12p | 免费观看黄色一级视频 | 亚洲av永久中文无码精品综合 | 91亚洲精品久久久久久久久久久久 | 国产aaa级片 | 小泽玛利亚在线 | 蜜桃久久精品 | 国产一区二区不卡在线 | 8090理论片午夜理伦片 | 又黄又爽又色的视频 | 亚洲综合影视 | 欧美高清v | 欧美熟妇另类久久久久久多毛 | 亚洲精品.www | 婷婷爱五月 | 波多野结衣中文字幕一区二区三区 | 毛片在线免费视频 | 国产精品久久久久桃色tv | 91麻豆国产在线 | 国产又粗又猛又爽又黄的视频小说 | 色哟哟免费 | 日本在线免费观看 | 中文字幕精品一区二 | 久久88| www.一起操 | 日本a∨视频 | 日本美女a级片 | 成人免费观看网站 | 日韩色黄大片 | 免费av看片 | 色婷婷精品 | 91九色蝌蚪91por成人 | 黄片毛片在线免费观看 | 黄色肉肉视频 | 精品国产99一区二区乱码综合 | 国产精品美女网站 | 99热这里只有精品66 | 人人妻人人玩人人澡人人爽 | 无码人妻精品一区二区三区99日韩 | 亚洲熟妇无码一区二区三区导航 | 日本午夜视频 | 91精品日韩 | 午夜色婷婷 | 久久精品日韩无码 | 亚洲精品国产成人无码 | 亚洲免费福利 | 就爱操av| 女生扒开尿口让男生桶 | 黄色污污视频 | 国产毛片一区二区 | 九色蝌蚪9l视频蝌蚪9l视频 | 粉嫩av一区| 美国毛片基地 | 被两个男人吃奶三p爽文 | 中文字幕第11页 | 国产sm主人调教女m视频 | 黄色成年人视频 | av一区二区三区免费观看 | 国产免费小视频 | 中国免费看的片 | 日日麻批| 中文字幕av解说 | 乱精品一区字幕二区 | 中文在线最新版天堂 | 黄色aaa视频 | 久久成人a毛片免费观看网站 | 黄瓜视频在线播放 | 久久精品综合视频 | 91看视频| 国产精品1区2区 | 妺妺窝人体色www在线小说 | www 在线观看视频 | 日本打屁股网站 | 污片网站在线观看 | 人妖天堂狠狠ts人妖天堂狠狠 | 91丨九色丨丰满人妖 | 国产女女调教女同 | 亚洲aⅴ| 一区二区视屏 | 成人另类小说 | 91精品国产91久久久久久黑人 | 国产综合亚洲精品一区二 | 麻豆精品视频免费观看 | 久久艳片www.17c.com | 欧美福利视频在线 |