![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法——优化算法
Adherer
sunshine
展开
-
常见的优化算法
优化一:预处理优化预处理优化之——前缀和优化:非常常见的优化方式。此处的前缀和指某数组的前i项和。如给定数组a[n],求sum[n]。其中sum[i]=a[0]+a[1]+...+a[i]这里的sum[]数组即为数组a的前缀和数组。那么前缀和有什么用处呢?假设我要求a[x]+a[x+1]+a[x+2]+...+a[y]那么这个答案就等于 sum[y]-sum[x-1](原创 2016-01-29 12:29:17 · 1045 阅读 · 0 评论 -
Codeforces 368B
说实话,做优化这个专题实在是磕磕绊绊的,交了很多TLE和WA,每道题一上手第一感觉是会做,然后按照往常的思路暴力求解。信心满满的交上去之后得到的只是超时的回复,于是我就开始找自己程序的问题,刚开始的时候,越改越乱,改到后面再提交就得到了WA的回复,然后就觉得特纳闷。于是第一道题就看了题解,当时看了之后是恍然大悟的感觉,然后自己也写了一份类似的代码匆匆忙忙提交后AC也就没管了,今天再看同样的这道题,原创 2016-01-29 12:34:34 · 837 阅读 · 0 评论 -
预处理优化例题
题目描述:#includetypedef long long ll;ll f(ll a[],ll b[],ll len){ ll ans=0,sum,i,j; for(i=0;i<len;i++) { sum=0; for(j=b[i];j<=i;j++) { sum+=a[j];原创 2016-01-29 15:24:46 · 515 阅读 · 0 评论 -
离线处理例题
完整题目描述:#includeint a[100005][2];int max(int a,int b){return a>b?a:b;}int main(){ int n,q,i,x; while(scanf("%d",&n)!=EOF)//n<=100000 { for(i=0;i<n;i++) scanf("%d%d",&a[i][0],&原创 2016-01-29 15:28:13 · 610 阅读 · 0 评论