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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

CodeForces 671C - Ultimate Weirdness of an Array

發布時間:2025/7/14 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CodeForces 671C - Ultimate Weirdness of an Array 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題意:

給以一個定義, F(l, r) 的值表示序列 A[1:n]的子序列 A[1....(l-1),(r+1)...n] 之中 任意兩個數的最大公約數的最大值。

Sum=i=1Nj=1N(F(i,j)),(ij)

思路:

英文題解
大致解釋一下:

H[i] 表示 F(l, r) <= i 區間 (l,r) 的個數。V[A[i]] = { b1, b2, .... bk }, 其中 A[i] % bx == 0還有一個next 數組設 next[j] = k, 表示 F(l, k) <= i, k 盡可能的小。當然會有 k 不存在的時候, 則 next[j] = n+1;(為什么, 看下面)這時候可以知道 :

H[i]=j=1N(n?next[j]+1)

右端為 next[j] , 左端則有 n-next[j]+1種選擇。

Code:

#include <bits/stdc++.h> #define lson l , m, rt<<1 #define rson m+1, r, rt<<1|1 using namespace std; typedef long long LL; const LL maxn = 200000 + 131; const LL MaxN = 200000; struct node {LL Max, Min;LL Sum, Flag; };node Node[maxn<<2]; LL H[maxn], A[maxn], Idx[maxn]; LL L1[maxn], L2[maxn], R1[maxn], R2[maxn];///SegmentTree void PushUp(LL rt) {Node[rt].Max = max(Node[rt<<1].Max, Node[rt<<1|1].Max);Node[rt].Min = min(Node[rt<<1].Min, Node[rt<<1|1].Min);Node[rt].Sum = Node[rt<<1].Sum + Node[rt<<1|1].Sum; } void PushDown(LL l, LL r, LL rt) {LL m = (l + r) >> 1;if(Node[rt].Flag){Node[rt<<1].Flag = Node[rt<<1].Max = Node[rt<<1].Min = Node[rt].Flag;Node[rt<<1|1].Flag = Node[rt<<1|1].Max = Node[rt<<1|1].Min = Node[rt].Flag;Node[rt<<1].Sum = Node[rt].Flag * (m - l + 1);Node[rt<<1|1].Sum = Node[rt].Flag * (r - m);Node[rt].Flag = 0;} } void Build(LL l, LL r, LL rt) {Node[rt].Flag = 0;if(l == r) {Node[rt].Max = Node[rt].Min = Node[rt].Sum = l;return ;}LL m = (l + r) >> 1;Build(lson), Build(rson);PushUp(rt); } void Update_section(LL L, LL R, LL val, LL l, LL r, LL rt) {if(L > R) return ;if(Node[rt].Min >= val) return ;if(L <= l and r <= R and Node[rt].Max <= val) {Node[rt].Flag = val;Node[rt].Min = Node[rt].Max = val;Node[rt].Sum = LL(r - l + 1) * LL(val);return ;}PushDown(l, r, rt);LL m = (l + r) >> 1;if(L <= m) Update_section(L, R, val, lson);if(R > m) Update_section(L, R, val, rson);PushUp(rt); } /// Solve int main() {std::ios::sync_with_stdio(false);LL n;cin >> n;for(LL i = 1; i <= n; ++i) {cin >> A[i];Idx[A[i]] = i;}/// Get l(1, b1) -> bk-1, (b1,b2) -> bk, (b2, n) -> n+1for(LL i = 1; i <= MaxN; ++i){for(LL j = i; j <= MaxN; j +=i)if(Idx[j]){if(L1[i] == 0 or L1[i] > Idx[j]) L2[i] = L1[i], L1[i] = Idx[j];else if(L2[i] == 0 or L2[i] > Idx[j]) L2[i] = Idx[j];if(R1[i] < Idx[j]) R2[i] = R1[i], R1[i] = Idx[j];else if(R2[i] < Idx[j]) R2[i] = Idx[j];}}/// Build TreeBuild(1,n,1);for(LL i = MaxN; i > 0; --i){if(L1[i] != R1[i]){Update_section(1,L1[i],R2[i], 1, n, 1);Update_section(L1[i]+1, L2[i], R1[i], 1, n, 1);Update_section(L2[i]+1, n, n+1, 1, n, 1);}H[i] = LL(n*(n+1)) - Node[1].Sum;//cout << H[i] << endl;}LL Ans = 0;for(LL i = 1; i < MaxN; ++i)Ans += i * (H[i+1]-H[i]);cout << Ans <<endl;return 0; }

轉載于:https://www.cnblogs.com/aoxuets/p/5506829.html

總結

以上是生活随笔為你收集整理的CodeForces 671C - Ultimate Weirdness of an Array的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲av无码潮喷在线观看 | 38在线视频 | 538任你躁在线精品免费 | 欧美激情成人在线 | 爱情岛论坛亚洲品质自拍 | 公车乳尖揉捏酥软呻吟 | 国产精品久久综合 | 日本一级黄色大片 | 台湾swag在线观看 | 5个黑人躁我一个视频 | 欧美久久久久久久久久 | 丰满护士巨好爽好大乳 | 日韩综合网站 | 中文字幕一区二区三区手机版 | 成人羞羞免费 | 黄色亚洲网站 | 成人高潮片 | 九一国产精品 | 日韩精品中文字幕在线 | 欧美视频在线观看 | 少妇人妻一区二区 | 国产中文字幕在线 | 少妇高潮一区二区三区 | 国产第一精品 | 91大神福利视频 | 四虎色网 | 中国极品少妇videossexhd 就要干就要操 | 国产一区二区三区四区视频 | 国产福利久久久 | 亚洲卡一| 久久久久久久久久久影院 | 精品一区二区在线看 | 中文字幕有码在线观看 | 亚洲激情视频网站 | 1024手机在线观看 | 精品久久视频 | 91小仙女jk白丝袜呻吟 | 午夜天堂视频 | 九九热视频在线观看 | 视频在线观看一区二区三区 | 免费的av | 夜色成人 | jul023被夫上司连续侵犯 | 中文在线字幕观看 | 日韩免费三级 | 女性裸体无遮挡胸 | 五月婷婷丁香花 | 免费看片成人 | 亚洲jlzzjizz少妇| 四虎在线视频免费观看 | 北条麻纪在线观看aⅴ | 99久久久无码国产精品不卡 | 少妇h视频| 成人av网站免费 | 婷婷六月激情 | 天天舔天天干天天操 | 污视频在线观看网址 | 91黄漫| 人妻视频一区 | 97免费在线观看视频 | 97国产精品人人爽人人做 | 国产精品18久久久久久久久 | 色综合天天操 | 熟妇人妻中文字幕无码老熟妇 | 超碰pron| 国产精品黑丝 | 超碰在线最新 | 刘亦菲国产毛片bd | 成人精品999| 国产原创视频在线 | 国产又色又爽又黄 | 人妻人人澡人人添人人爽 | 亚洲v欧美v另类v综合v日韩v | 亚洲精品免费观看 | 中文字幕成人在线 | 欧美日韩精品国产 | 91综合色 | 少妇做爰免费视看片 | 视色视频在线观看 | 国产午夜视频在线观看 | 欧美成在线| 亚洲综合色站 | 亚洲最色网站 | 久久亚洲精品中文字幕 | 福利视频亚洲 | 欧美熟妇精品一区二区蜜桃视频 | 欧美zozo| 能看av的网站 | 精品欧美乱码久久久久久1区2区 | 国产精品电影一区二区三区 | 久久一级视频 | 一区二区三区免费在线观看 | 嫩草嫩草嫩草嫩草嫩草 | 国产美女被遭强高潮免费网站 | 黑人高潮一区二区三区在线看 | 国产午夜视频在线观看 | 免费观看在线高清 | 亚洲乱码中文字幕久久孕妇黑人 | 免费毛片a|