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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

BZOJ-2038-小Z的袜子hose-莫队

發布時間:2025/3/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BZOJ-2038-小Z的袜子hose-莫队 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

描述

  • 每個詢問在一行中輸出分數A/B表示從該詢問的區間[L,R]中隨機抽出兩只襪子顏色相同的概率。

分析
  • 區間無修改的題目, 只需要求出各種顏色的數量即可, 所以可以用莫隊.
  • 如果一種顏色 i 在區間 [L, R] 內的數目是 c[i], 那么隨機抽出兩只襪子顏色相同的概率等于 ΣC(c[i], 2) / C(R-L+1, 2).
  • 發現組合數的 m 位置都是2, 所以直接展開來算, 得到?Σc[i]*(c[i]-1) / [(R-L+1)*(R-L)].
  • 這樣分母我們已知, 分子可以通過狀態轉移得到, 每次如果新加入一個結點, 顏色為 a, 則先減掉原來 a 對分子的貢獻即 c[i]*(c[i]-1), 然后++c[i], 再讓分子加上現在 a顏色對分子的貢獻, 即 c[i]*(c[i]-1). 刪掉一個結點類似. 所以就用 O(1) 的時間從 [L, R] 轉移到了 [L-1, R] 或者 [L+1, R] 或者 [L, R-1] 或者 [L, R+1].
  • 再計算分子分母的gcd即可
  • 不要忘記開 long long.

#include #include #include using namespace std; typedef long long int lli;const int maxn = 50000 + 10;int size; int A[maxn]; int c[maxn]; lli X[maxn], Y[maxn];struct Query {int L, R, id;bool operator < (const Query& rhs) const {if(L/size != rhs.L/size) return L < rhs.L;return R < rhs.R;} } Q[maxn];#define q Q[i]lli gcd(lli a, lli b) {return b == 0 ? a : gcd(b, a % b); }int main() {int n, m;scanf("%d %d", &n, &m);for(int i = 1; i <= n; i++)scanf("%d", &A[i]);for(int i = 1; i <= m; i++)scanf("%d %d", &q.L, &q.R), q.id = i;size = sqrt(n);sort(Q+1, Q+m+1);int L = 1, R = 0;lli x = 0;for(int i = 1; i <= m; i++) {while(L < q.L) {x -= (lli) c[A[L]] * (c[A[L]]-1);c[A[L]]--;x += (lli) c[A[L]] * (c[A[L]]-1);L++;}while(R > q.R) {x -= (lli) c[A[R]] * (c[A[R]]-1);c[A[R]]--;x += (lli) c[A[R]] * (c[A[R]]-1);R--;}while(L > q.L) {L--;x -= (lli) c[A[L]] * (c[A[L]]-1);c[A[L]]++;x += (lli) c[A[L]] * (c[A[L]]-1);}while(R < q.R) {R++;x -= (lli) c[A[R]] * (c[A[R]]-1);c[A[R]]++;x += (lli) c[A[R]] * (c[A[R]]-1);}if(x == 0) {X[q.id] = 0;Y[q.id] = 1;continue;}X[q.id] = x;Y[q.id] = (lli)(q.R-q.L+1) * (q.R-q.L);lli g = gcd(X[q.id], Y[q.id]);X[q.id] /= g;Y[q.id] /= g;}for(int i = 1; i <= m; i++) printf("%lld/%lld\n", X[i], Y[i]);return 0; }


總結

以上是生活随笔為你收集整理的BZOJ-2038-小Z的袜子hose-莫队的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 欧美区一区二区三 | 久热亚洲 | 亚洲免费视频网 | 99热中文| 久久免费视频一区二区 | 春色av| 九色精品视频 | 岛国成人在线 | 亚洲你懂得 | 少妇太紧太爽又黄又硬又爽 | 日本熟妇人妻中出 | 天天av天天翘 | 久久久成 | wwwsss在线观看 | 国内av自拍| 国产高清在线免费观看 | 日韩大尺度在线观看 | 青青草综合网 | 精品人妻人人做人人爽夜夜爽 | 爱射综合| 越南黄色一级片 | 日韩久久一区二区三区 | 成人1区2区3区 | 91免费版黄 | 成人黄色免费在线观看 | 国产免费91 | 欧美日韩第一页 | 色婷五月| 日韩中文字幕在线播放 | 最近中文字幕mv免费高清在线 | 中日韩中文字幕一区二区 | 少妇特殊按摩高潮惨叫无码 | 亚洲天堂男| 中文字幕日韩电影 | 手机av在线看 | 黄色免费小视频 | 日本在线精品 | 欧美影院在线 | xxxxhd欧美| 成人福利网址 | julia中文字幕在线 | 欧美一区二区三区公司 | 狠狠操一区二区 | 在线观看a级片 | 女人裸体无遮挡 | 特一级黄色片 | 久久七 | 婷婷网五月天 | 中文字幕丝袜诱惑 | 欧美亚洲精品一区 | 国产原创麻豆 | 姑娘第5集在线观看免费好剧 | 免费伊人| 欧美大片免费 | 精品久久人妻av中文字幕 | 国产精品美女www爽爽爽视频 | 在线视频国产一区 | 都市激情亚洲综合 | 黄色美女av | 99久久婷婷国产综合精品 | 免费的黄色的视频 | 加勒比一区二区 | 悟空影视大全免费高清观看在线 | 极品少妇xxxx | 中文字幕第12页 | 国产精品毛片av | 人妻与黑人一区二区三区 | 九九视频这里只有精品 | 欧美性受xxx黑人xyx性爽 | 91毛片在线观看 | 日韩中文字幕在线播放 | 国产精品无码专区 | 国产高清在线视频 | 欧美性受黑人性爽 | 久草福利资源在线观看 | 久久逼逼 | 高清视频免费在线观看 | 色翁荡息又大又硬又粗又爽 | 精品黄色 | 欧美91看片特黄aaaa | 欧美处女 | 久久无码精品丰满人妻 | 日日不卡av| 毛片av在线播放 | 香蕉视频在线观看免费 | 亚洲理论视频 | 涩涩网站入口 | 一级片aaa | 免费人成年激情视频在线观看 | 成人综合婷婷国产精品久久 | av电影在线观看网址 | 国产精品久久久久久久久久直播 | 夜夜小视频 | www.在线| 神马午夜伦理 | 国产午夜电影在线观看 | 91国产丝袜播放在线 | 欧美日本色图 | 国产大学生视频 |