BZOJ2038 2009國家集訓隊 小Z的襪子

2022-05-12 14:34:25 字數 690 閱讀 2192

**莫隊:

題目傳送門:

首先答案肯定是\(\frac\),\(cnt_i\)表示第\(i\)種顏色的襪子的個數。

所以我們每次移動左右端點的時候,把當前新增或者刪去的襪子的顏色的襪子對應的\(cnt_i*(cnt_i-1)\)從答案裡面挖掉,然後讓\(cnt_i\)加上或者減一,然後再把\(cnt_i*(cnt_i-1)\)加進答案裡面去就行了。

時間複雜度:\(o(n\sqrt)\)

空間複雜度:\(o(n)\)

**如下:

#include #include #include using namespace std;

typedef long long ll;

const int maxn=5e4+5;

ll ans;

int n,m,block;

int a[maxn],cnt[maxn],bel[maxn];

int read()

struct query

}q[maxn];

void change(int col,int v)

bool cmp(query a,query b)

sort(q+1,q+m+1,cmp);

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

}return 0;

}

BZOJ 2048 2009國家集訓隊 書堆

第一行正整數 n m ou tput 一行 有換行符 l 表示水平延伸最遠的整數距離 不大於答案的最大整數 sa mple inpu t 樣例 1 i nput 1100 o utpu t 49 2 in put 2 100 ou tput 74 s ampl eout put n 10 18 資料...

字符集 國家字符集及NLS LANG執行庫

unicode編碼方案 三個實施標準 utf 8,usc 2,utf 16 oracle資料庫字符集 字符集character set 國家字符集national character set 字符集主要作用 用於儲存varchar2,char,clob,long型別資料 標示表名,列名,以及pl s...

BZOJ2144 國家集訓隊 跳跳棋

跳跳棋是在一條數軸上進行的。棋子只能擺在整點上。每個點不能擺超過乙個棋子。我們用跳跳棋來做乙個簡單的遊戲 棋盤上有3顆棋子,分別在a,b,c這三個位置。我們要通過最少的跳動把他們的位置移動成x,y,z。棋子是沒有區別的 跳動的規則很簡單,任意選一顆棋子,對一顆中軸棋子跳動。跳動後兩顆棋子距離不變。一...