題目意思給了乙個長度為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分割槽...