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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

P3870-[TJOI2009]开关【分块】

發布時間:2023/12/3 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 P3870-[TJOI2009]开关【分块】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

正題

解題思路:https://www.luogu.org/recordnew/lists?uid=52918&pid=P3870


題目大意

n個燈,操作[0,l,r][0,l,r][0,l,r]表示l~rl\sim rlr的燈取反,操作[1,l,r][1,l,r][1,l,r]表示詢問l~rl\sim rlr之間有多少燈亮著。


解題思路

分塊,對于每個塊維護兩個值sum,fsum,fsum,f。sum表示這個塊有多少個開著的燈,f表示這個塊是否取反。
由于有了f所以我們對于塊就可以不用取反了。


code

#include<cstdio> #include<cmath> #define pos(x) (x-1)/sq+1 #define N 100010 #define T 500 using namespace std; int n,m,l,r,x,sq,t; bool a[N],f[T]; int L[T],R[T],sum[T]; void ycl() {sq=t=sqrt(n);for(int i=1;i<=t;i++){L[i]=(i-1)*t+1;R[i]=i*t;}if(R[t]<n) t++,L[t]=R[t-1]+1,R[t]=n; } void change(int l,int r) {int q=pos(l),p=pos(r);if(q==p){for(int i=l;i<=r;i++)sum[p]+=1-a[i]*2,a[i]=!a[i];}else{for(int i=q+1;i<=p-1;i++)f[i]=!f[i];for(int i=l;i<=R[q];i++)sum[q]+=1-a[i]*2,a[i]=!a[i];for(int i=L[p];i<=r;i++)sum[p]+=1-a[i]*2,a[i]=!a[i];} } int ask(int l,int r) {int ans=0;int q=pos(l),p=pos(r);if(q==p){for(int i=l;i<=r;i++)ans+=a[i];if(f[p]) return r-l+1-ans;return ans;}else{for(int i=q+1;i<=p-1;i++)if(f[i]) ans+=R[i]-L[i]+1-sum[i];else ans+=sum[i];int k=0;for(int i=l;i<=R[q];i++)k+=a[i];if(f[q]) ans+=R[q]-l+1-k;else ans+=k;k=0;for(int i=L[p];i<=r;i++)k+=a[i];if(f[p]) ans+=r-L[p]+1-k;else ans+=k;}return ans; } int main() {scanf("%d%d",&n,&m);ycl();for(int i=1;i<=m;i++){scanf("%d%d%d",&x,&l,&r);if(x) printf("%d\n",ask(l,r));else change(l,r);} }

總結

以上是生活随笔為你收集整理的P3870-[TJOI2009]开关【分块】的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲精品久久久中文字幕痴女 | www.99av| 漂亮人妻洗澡被公强 日日躁 | 成长快手短视频在线观看 | 精品国产18久久久久久 | 久久免费成人 | 色666| 黄色美女av | 男人草女人 | 日韩精品卡通动漫网站 | 久久人人草 | hd极品free性xxx护士 | 深夜福利视频网站 | 麻豆性视频 | 黄色成年人网站 | 日本一区二区欧美 | 国偷自产视频一区二区久 | 色乱码一区二区三区熟女 | 午夜福利一区二区三区 | 国产伦精品一区二区三区视频1 | 农村老女人av | 国产男女视频在线观看 | 精品一区二区三区不卡 | 日韩另类 | 欧美激情在线免费 | 美女被爆操网站 | 欧美三级中文字幕 | 久久欧美精品 | 国产欧美日韩综合精品一区 | 久久久精品一区二区三区 | 91在线视频在线观看 | 天天操夜夜操视频 | 波多野结衣电影在线播放 | www.狠狠| 午夜寂寞院 | 日韩视频中文字幕在线观看 | 在线观看你懂的网址 | 国产精品成人网站 | 日本xx片 | 精品在线视频播放 | 综合欧美亚洲 | 在线免费一区二区 | 岳睡了我中文字幕日本 | 老汉色老汉首页av亚洲 | a级在线免费观看 | 免费小视频 | 人妻精品一区一区三区蜜桃91 | 欧美少妇喷水 | 久久精品成人一区二区三区蜜臀 | 国产精品久久久久久亚洲调教 | 精品国产精品国产偷麻豆 | 欧美 亚洲 视频 | 国产欧美日韩精品在线 | 国产又黄又粗又硬 | 国产精品一级视频 | 国产一区午夜 | 亚洲三级小说 | 免费视频久久久 | www婷婷 | 综合视频在线 | 制服丝袜av在线播放 | 日本大尺度做爰呻吟舌吻 | 天堂网在线最新版www中文网 | 国产精品电影一区二区三区 | 91免费高清 | 高清av网 | 国语对白真实视频播放 | 九九九九九九精品 | 欧美人吸奶水吃奶水 | 日本欧美一级 | 成人影片在线播放 | 黄色一级片一级片 | 欧美特黄一区二区三区 | 神马久久久久 | 亚洲国产99 | 欧美乱妇视频 | 日本精品一区视频 | 中国 免费 av | 日韩精品极品视频免费观看 | 国语毛片 | 欧美图片自拍偷拍 | 天天操人人射 | 国产日韩欧美一区二区东京热 | 国产激情一区二区三区 | 婷婷在线免费观看 | 丰满人妻熟妇乱偷人无码 | 日本黄页网站 | 亚洲乱亚洲乱 | av一起看香蕉 | 打屁股视频网站 | 不卡在线一区二区 | 亚洲蜜臀av乱码久久精品蜜桃 | 日韩性插| 丰满岳跪趴高撅肥臀尤物在线观看 | av第一页| 色婷婷yy | 亚洲香蕉中文网 | 东方欧美色图 | 一道本久在线中文字幕 |