牛客練習賽29 F 算式子

2022-05-25 01:00:14 字數 772 閱讀 5057

輸入

2 2

1 2

輸出
0
輸入
10 10

1 3 5 5 2 5 9 3 1 10

輸出
60
分析公式,公式分為三種情況,當 \(x=a_i\) 時,結果為 \(2\),其它兩種情況結果加法等式中必有乙個為 \(0\)。

當 \(x≤a_i\) 時,列舉每乙個 \(a_i/x\) 結果,將整個區間進行數相加,並乘以 \(a_i/x\) 結果。

當 \(x≥a_i\) 時,列舉每乙個 \(a_i\),並分析它的倍數,在整個區間進行差分,最後求字首和。

注意

#include #include using namespace std;

typedef long long ll;

const int maxn = 2e6+55;

ll a[maxn];

ll x[maxn],ans=0;

inline int min(int a,int b)

int main()

for(int i=1;i<=m;++i)

}for(int i=1;i<=m;++i)a[i]+=a[i-1],x[i]+=x[i-1];

for(int i=1;i<=m;++i)

ans^=x[i];

}printf("%lld\n",ans);

return 0;

}

牛客練習賽58 F

求帶單點修改的樹上兩點間任意子路徑長異或和。路徑長等於路徑上所有異或和。簡單模擬一下,可以發現。奇數情況下,答案是偶數點異或和。偶數情況下,就是正常的異或和。偶數點異或和也很容易處理。分深度奇偶樹狀陣列即可。但是這是對於鏈的,不能直接dfs dfsdf s序,需要剖分一下。但是我不會,所以去學了一下...

牛客練習賽13 F 皇后

在乙個n n的西洋棋棋盤上有m個皇后。乙個皇后可以攻擊其他八個方向的皇后 上 下 左 右 左上 右上 左下 右下 對於某個皇后,如果某乙個方向上有其他皇后,那麼這個方向對她就是不安全的。對於每個皇后,我們都能知道她在幾個方向上是不安全的。現在我們想要求出t0,t1,t8,其中ti表示恰有i個方向是 ...

牛客練習賽9

時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 珂朵莉想每天都給威廉送禮物,於是她準備了n個自己的本子 她想送最多的天數,使得每天至少送乙個本子,但是相鄰兩天送的本子個數不能相同 珂朵莉最多送幾天禮物呢 第一行乙個整...