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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

PKU A Simple Problem with Integers 3468

發布時間:2024/4/14 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PKU A Simple Problem with Integers 3468 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

代碼來自網上(非原創)

?

?

  • /*題目地址 ?
  • 對于Q操作,求出區間的總和,對于C操作,將區間里的所有數都加上同一個數 ?
  • 考慮結點存放兩個信息,一個是該結點區間內的和s,一個是該區間所有數的增量d,對于一個C操作,如果區間剛好等于某結點的區間,則直接將增量加上去,否則,遞歸到左右子結點,并更新父結點的s值。這樣,對于插入與查詢都能達到O(logn)的復雜度. ?
  • Memory:?6760K ?
  • Time:?1579MS ?*/
  • ?
  • #include?<iostream> ?
  • using?namespace?std; ?
  • #define?ll?long?long ?
  • const?int?MAXN?=?100001; ?
  • struct?{ ?
  • ????int?l,?r; ?
  • ????ll?s,?d; ?
  • }?nod[MAXN*3]; ?
  • int?a[MAXN]; ?
  • void?creat(int?t,?int?l,?int?r)?{ ?
  • ????if(l?==?r)?{ ?
  • ????????nod[t].l?=?nod[t].r?=?l,?nod[t].s?=?a[l],?nod[t].d?=?0; ?
  • ????????return; ?
  • ????} ?
  • ????int?m?=?(l+r)?/?2; ?
  • ????nod[t].l?=?l,?nod[t].r?=?r,?nod[t].d?=?0; ?
  • ????creat(t*2,?l,?m),?creat(t*2+1,?m+1,?r); ?
  • ????nod[t].s?=?nod[t*2].s?+?nod[t*2+1].s; ?
  • } ?
  • void?inc(int?t,?int?l,?int?r,?int?c)?{ ?
  • ????if(l?==?nod[t].l?&&?r?==?nod[t].r)?{nod[t].d?+=?c;?return;} ?
  • ????if(r?<=?nod[t*2].r)?inc(t*2,?l,?r,?c); ?
  • ????else?if(l?>=?nod[t*2+1].l)?inc(t*2+1,?l,?r,?c); ?
  • ????else?inc(t*2,?l,?nod[t*2].r,?c),?inc(t*2+1,?nod[t*2+1].l,?r,?c); ?
  • ????nod[t].s?=?nod[t*2].s?+?nod[t*2].d?*?(nod[t*2].r-nod[t*2].l+1)?+?nod[t*2+1].s?+?nod[t*2+1].d?*?(nod[t*2+1].r-nod[t*2+1].l+1); ?
  • } ?
  • ll?query(int?t,?int?l,?int?r)?{ ?
  • ????if(nod[t].l?==?l?&&?nod[t].r?==?r)?return?nod[t].s?+?nod[t].d?*?(r-l+1); ?
  • ????ll?sum; ?
  • ????if(r?<=?nod[t*2].r)?sum?=?query(t*2,?l,?r); ?
  • ????else?if(l?>=?nod[t*2+1].l)?sum?=?query(t*2+1,?l,?r); ?
  • ????else?sum?=?query(t*2,?l,?nod[t*2].r)?+?query(t*2+1,?nod[t*2+1].l,?r); ?
  • ????return?sum?+?nod[t].d?*?(r-l+1); ?
  • } ?
  • int?main()?{ ?
  • ????int?i,?n,?q,?x1,?x2,?c; ?
  • ????char?s[2]; ?
  • ????while(scanf("%d%d",?&n,?&q)?!=?EOF)?{ ?
  • ????????for(i?=?1;?i?<=?n;?i++)?scanf("%d",?&a[i]); ?
  • ????????creat(1,?1,?n); ?
  • ????????while(q--)?{ ?
  • ????????????scanf("%s%d%d",?s,?&x1,?&x2); ?
  • ????????????if(s[0]?==?'C')?{scanf("%d",?&c);?inc(1,?x1,?x2,?c);} ?
  • ????????????else?printf("%lld\n",?query(1,?x1,?x2)); ?
  • ????????} ?
  • ????} ?
  • ????return?0; ?
  • }?
  • ?

    轉載于:https://blog.51cto.com/wwwacm/846246

    總結

    以上是生活随笔為你收集整理的PKU A Simple Problem with Integers 3468的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 婷婷色亚洲 | 操模特 | 性开放淫合集 | 国产又黄又粗又猛又爽 | 精品视频在线一区二区 | 国产拍拍视频 | 欧美激情性生活 | 亚洲AV无码久久精品国产一区 | 日韩αv | 欧美99 | 国产精品久久久久久久久岛 | 蜜臀视频在线播放 | 亚洲欧美综合另类自拍 | 夜夜天天| 九九热国产 | 亚洲av成人精品日韩在线播放 | 好看的国产精品 | 亚洲春色在线 | 特黄aaaaaaa片免费视频 | 特级毛片爽www免费版 | 欧美性猛交xx乱大交 | 91亚瑟视频 | 第四色在线视频 | 91二区 | 污污网址在线观看 | 日本第一页 | 大肉大捧一进一出好爽视频 | 九九国产精品视频 | 国产九色91 | 韩国女主播裸体摇奶 | 一区二区有码 | 亚洲毛片一区二区三区 | 我不卡av| 中文字幕亚洲色图 | 精品亚洲永久免费 | 亚洲在线观看免费 | 色网站在线 | 亚洲成a人片 | 麻豆av电影在线 | 亚洲性一区| 美女擦边视频 | 国产www性 | 亚洲影视精品 | 日韩精品一区二区三区四区五区 | 人人操日日干 | 91免费视频黄 | 日本第一页 | 亚州三级| 欧美熟妇精品一区二区 | 强行挺进白丝老师里呻吟 | 日韩一区二区在线观看 | 久久一区二区三区精品 | 国内三级在线 | 99热热99| av小说在线 | 日本不卡网站 | 六月色 | 欧美一卡二卡三卡四卡 | 欧美视频久久 | 亚洲爽妇网 | 久久艹国产精品 | 欧洲色视频 | 亚洲色图校园春色 | 欧美做爰啪啪xxxⅹ性 | 日韩动漫av| 久久久免费看片 | 亚洲第一免费网站 | 中日韩在线视频 | 亚洲污网站| 久久综合中文 | 911av| 日本一级网站 | 午夜婷婷在线观看 | 欧美精品在线看 | 福利社午夜影院 | 女人扒开屁股让男人桶 | 亚洲国产一区二区在线观看 | 成人免费毛片xxx | 麻豆一区二区99久久久久 | 欧美日韩三级在线观看 | 亚洲婷婷久久综合 | 免费草逼网站 | 国产精品无码一区 | 亚洲精品视频网 | 麻豆短视频在线观看 | 婷婷国产 | 国产黄网在线观看 | 奇米影视四色在线 | 成人av手机在线 | 黄色av网站免费观看 | 韩日一区 | 人妻一区二区三 | 亚洲涩视频 | 一级女性全黄久久生活片免费 | 精品国产露脸精彩对白 | 北岛玲在线 | 91视频在线观看网站 | 天堂va蜜桃一区二区三区 | 日韩人成 |