HDU 5358 思路優化

2021-07-04 09:40:44 字數 1065 閱讀 9057

題目意思給了乙個長度為n的陣列,要求:∑i

=1n∑

j=in

(⌊log2s(

i,j)

⌋+1)

×(i+

j)對於第乙個括號中的數,正好是每個區間和表示成二進位制數的位數,0的位數為1.

那麼,區間和位數最大不超過34,維護34個指標,列舉i(1->n) 一層一層掃瞄即可。

//#pragma comment(linker, "/stack:102400000,102400000")

#include #include #include #include #include #include #include using namespace std;

typedef long long ll;

typedef long long ll;

#define rep1(i,x,y) for(int i=x;i<=y;i++)

#define rep(i,n) for(int i=0;i<(int)n;i++)

typedef pairpii;

const int n = 101010;

int n,m,a[n];

inline int count(ll x)

ll sum[n],lim[50];

int p[50];

inline ll sum(int i,int j)

inline void read(int& a)

}int main()

else p[j] = max(p[j],p[j-1]);

while(p[j]<=n && sum[p[j]]-sum[i-1]<=lim[j]) p[j]++;

int pre = (j>1 ? p[j-1]:i);

res+=(ll)j*((ll)(p[j]-1-pre+1)*i+(ll)(p[j]-1+pre)*(p[j]-1-pre+1)/2);

if(p[j] > n) break;}}

printf("%i64d\n",res);

}return 0;

}

mysql思路 MySQL優化思路

通過指令碼,重新整理觀察mysql的status,觀察是否有週期性故障活波動,一般由訪問高峰或者快取失效引起,家快取並更改快取失效策略,是失效時間分散或頁面定時失,show processlist顯示哪些執行緒正在執行。您也可以使用mysqladmin processlist語句得到此資訊。如果您有...

OXWALL優化思路

閱讀oxwall的初始化 日誌實現部分,重點關注主頁的資料讀取流程,在資料讀取流程中增加寫日誌,可以看到初始化頁面涉及資料庫讀取的操作異常多。這將是效率的瓶頸,應該考慮將資料快取到redis中,並結合訊息佇列更新快取和資料庫。研究 安全隱患sql注入 csrf 偽造的跨站點請求 跨站點指令碼 xss...

mysql優化思路

調優思路 1.資料庫設計與規劃 以後再修該很麻煩,估計資料量,使用什麼儲存引擎 2.資料的應用 怎樣取資料,sql語句的優化 3.mysql服務優化 記憶體的使用,磁碟的使用 4.作業系統的優化 核心 tcp連線數量 5.公升級硬體裝置 磁碟io規劃 raid技術 raid0 xfs swap分割槽...