哈理工校赛F题 递归分治

比赛时不会,在小岛的帮助下还是把这道题做出来了

F.粉刷栅栏

Description

给定一组长度为 n 的栅栏,从左到右高度依次是 h[i]。

你需要对这个栅栏粉刷油漆,每次你可以粉刷一行或者一列。

问最少粉刷几次,可以给所有栅栏上漆。(不能多刷)

Input

第一行包含一个整数,表示栅栏的长度。

接下来的一行,包含 n 个数(n <= 5000),依次表示 h[i](0 <= h[i]<= 10)。

Output

输出一行表示对应的答案。。

Sample Input 1

5

2 2 1 2 1

Sample Output 1

3

Hint

/**
汉语题我就不说题意了。
思路:对于整这个区间,每次都找到最小的数,然后递归分治
*/
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
using namespace std;
int n,a[100005];
int get(int l,int r)
{
    int minn=1e9+3;
    for(int i=l;i<=r;i++)
    {
        minn=min(minn,a[i]);
    }
    int ans=minn;
    for(int i=l;i<=r;i++)
    {
        if(a[i]==minn)
            continue;
        int ii=i+1;
        while(ii<=r&&a[ii]!=minn)
            ++ii;
        ii--;
        for(int j=i;j<=ii;j++)
            a[j]-=minn;
        ans+=get(i,ii);
        i=ii;
    }
    return min(r-l+1,ans);
}
int main()
{
    //freopen("in.txt", "r", stdin);
    while(~scanf("%d",&n))
    {
        for(int i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
        }
        printf("%d\n",get(0,n-1));
    }
    return 0;
}
/**
5000
0 5 5 10 5 3 7 10 4 7 10 1 10 6 7 0 1 6 5 9 1 0 1 4 4 5 6 5 7 2 2 8 5 0 6 10 3 7 8 0 4 10 8 5 1 4 5 2 2 0 6 10 2 8 8 3 9 3 1 10 2 7 1 3 2 8 1 10 4 9 8 8 1 4 8 3 4 5 0 2 6 9 0 4 7 5 2 10 4 9 8 8 3 3 4 8 0 10 0 6 7 8 8 8 2 10 5 0 6 6 5 5 2 2 1 8 4 2 10 1 9 0 7 7 0 9 2 5 10 10 6 3 1 10 2 1 2 0 2 3 6 5 0 2 9 7 1 4 10 7 4 8 4 6 4 0 9 6 10 10 9 7 6 9 8 6 9 9 4 8 7 10 7 5 9 10 5 3 3 4 6 1 1 1 8 2 7 10 3 9 1 6 4 7 1 0 6 1 6 6 4 8 9 9 10 0 2 2 3 1 1 1 6 2 8 2 1 9 10 3 5 8 9 1 7 1 4 3 10 10 1 6 9 10 7 6 3 9 4 8 6 0 6 1 2 1 5 8 7 3 6 2 4 4 9 0 4 1 8 8 4 4 10 6 9 7 2 1 6 7 2 6 8 7 5 7 6 8 9 4 8 9 2 1 7 6 1 0 3 10 1 3 5 0 7 4 8 10 8 10 8 3 3 1 2 4 10 2 6 8 7 10 4 8 5 6 4 6 10 5 1 10 6 10 3 6 6 1 7 1 8 1 2 9 1 7 2 8 5 9 3 2 9 5 9 9 8 3 8 4 10 9 3 1 1 3 8 5 1 0 3 0 7 1 2 0 2 10 6 7 10 2 3 6 10 10 6 6 3 6 2 0 0 5 4 2 0 5 0 1 8 8 1 9 3 10 7 6 4 2 0 4 9 7 0 6 3 0 6 2 7 3 2 3 0 9 3 1 1 8 5 3 8 9 8 10 1 1 7 4 10 7 9 0 9 4 3 9 10 0 8 3 8 3 7 6 1 2 9 5 6 3 5 3 2 10 1 1 9 3 2 9 3 4 7 2 8 8 10 3 3 10 8 5 4 7 4 10 1 3 7 5 8 3 9 8 3 7 3 1 1 10 8 6 4 5 5 0 1 5 8 4 7 8 0 10 5 0 8 1 9 3 3 1 10 5 0 4 8 7 0 10 10 5 9 2 8 8 2 6 8 9 10 3 4 4 1 2 10 6 2 8 3 1 8 5 5 6 3 0 10 2 4 9 9 3 1 7 8 0 6 2 5 1 7 1 5 5 3 4 6 0 10 8 2 7 9 9 1 2 9 6 2 10 9 0 2 7 3 5 10 1 9 4 10 0 10 8 0 9 2 3 4 3 8 4 6 9 1 9 1 2 4 0 8 6 2 10 1 7 1 1 0 5 7 3 9 8 1 2 4 10 3 10 4 3 5 9 8 10 7 1 1 8 6 8 4 0 6 7 9 4 10 10 7 5 3 1 0 1 5 2 6 1 7 10 10 3 4 10 9 5 8 9 7 4 9 0 9 10 3 4 5 6 8 2 7 3 10 7 3 1 10 2 10 6 3 10 3 4 3 5 0 7 0 8 8 8 10 2 5 4 5 10 5 0 7 6 3 9 1 7 5 8 10 7 3 8 9 1 10 4 4 9 7 2 4 8 7 0 8 8 8 2 3 9 4 9 4 4 2 1 7 0 1 0 1 3 0 9 6 6 8 3 6 10 8 10 4 2 1 6 4 9 9 2 0 0 8 8 0 2 9 10 9 4 10 3 9 4 7 5 5 0 1 10 2 3 9 4 9 1 6 2 8 5 4 4 4 3 5 10 4 3 6 5 3 1 6 9 7 7 7 7 4 7 1 6 4 7 10 3 7 5 7 9 8 8 5 1 0 10 1 3 4 6 9 10 1 1 7 6 2 10 0 2 3 7 3 3 2 2 7 3 9 5 9 7 10 9 5 6 1 1 10 6 5 5 9 2 2 9 1 7 2 2 2 8 4 1 8 8 9 0 7 1 9 10 8 2 7 4 0 9 7 9 10 0 6 1 3 8 2 7 2 0 6 0 10 3 0 9 9 7 7 3 7 4 6 8 8 5 8 8 6 6 9 4 1 4 9 4 9 2 8 0 0 1 1 8 5 10 2 1 3 4 8 6 0 9 7 6 5 2 5 3 6 4 10 5 0 9 1 2 3 8 5 8 10 0 5 10 6 9 9 9 5 4 5 10 3 1 4 8 2 6 8 2 2 6 10 9 7 4 4 8 4 5 9 4 2 6 1 10 5 8 9 10 5 2 9 8 0 2 9 1 0 5 6 6 1 1 6 9 9 0 8 3 3 9 0 3 9 1 6 8 7 4 9 7 6 4 1 9 8 4 3 8 1 10 7 10 8 2 0 5 9 3 1 7 2 7 1 2 5 10 0 1 10 9 6 10 5 9 1 8 6 4 6 7 6 8 5 7 5 6 0 8 4 4 5 8 9 6 2 10 5 7 10 10 8 1 3 7 0 7 4 1 0 4 1 4 6 4 9 5 1 8 0 2 7 5 6 2 10 1 3 3 4 5 6 10 1 5 7 4 1 8 1 10 1 0 3 6 9 2 1 4 4 8 9 5 7 8 6 1 7 6 6 1 0 7 2 7 4 6 0 1 5 6 10 1 10 5 8 6 5 5 9 2 6 0 10 8 6 4 1 8 10 2 10 10 4 5 10 6 9 8 6 4 6 5 6 9 6 2 7 10 9 10 2 9 10 1 9 4 6 4 3 1 9 8 7 7 7 4 7 4 7 8 7 0 1 4 5 6 2 10 1 1 0 3 0 3 10 1 4 6 10 1 0 6 2 6 8 3 3 10 2 7 9 7 8 5 3 5 5 10 8 3 10 2 9 7 3 4 9 3 9 9 5 4 7 3 10 4 9 4 4 8 4 2 6 4 7 8 5 6 6 0 9 7 9 0 4 7 1 10 0 9 7 10 0 3 0 0 6 1 3 7 9 1 9 2 6 7 4 1 2 2 5 4 0 9 10 1 3 1 9 1 5 0 0 2 6 3 9 7 1 9 10 2 2 4 3 0 6 7 3 4 2 7 1 1 0 2 0 4 3 8 7 4 6 3 7 8 6 1 8 5 5 4 2 7 8 1 1 5 1 4 5 7 3 8 1 8 6 1 2 7 7 6 3 8 5 5 4 4 4 7 10 1 10 3 7 1 1 2 5 9 3 6 6 8 7 6 10 1 4 2 6 5 6 8 7 4 3 5 9 10 2 6 5 8 10 4 4 9 7 8 7 8 7 2 9 10 0 8 7 6 0 3 3 7 4 5 5 6 1 3 0 0 9 1 1 3 5 4 6 5 10 1 4 3 1 5 9 10 1 1 5 9 8 2 2 3 10 5 1 5 10 0 3 8 0 4 6 0 0 5 9 5 7 7 4 3 1 6 0 6 3 3 6 2 6 8 2 6 4 3 10 7 9 3 3 6 6 2 3 4 6 1 4 9 9 8 6 9 1 2 5 9 5 0 1 10 0 7 3 7 10 4 7 2 3 4 9 8 2 9 4 8 8 2 0 1 7 7 4 9 6 2 10 1 4 6 6 1 1 10 6 9 9 8 6 0 4 5 2 10 0 9 1 0 9 0 9 6 1 7 8 1 10 10 4 3 10 1 5 2 4 6 3 3 9 1 0 8 5 0 0 0 2 3 9 6 0 3 5 9 6 9 10 1 5 7 6 9 0 0 9 5 0 8 10 10 7 3 2 0 7 2 4 8 3 1 9 8 5 1 2 3 5 7 1 2 10 8 0 8 2 5 6 1 10 6 4 0 9 5 1 1 0 9 8 8 5 10 4 4 6 10 1 4 9 1 6 3 0 5 0 8 4 7 5 10 10 5 6 2 4 8 8 0 0 9 9 0 6 9 3 5 10 6 8 10 7 3 6 9 9 9 0 1 3 8 0 7 9 10 4 9 9 8 9 9 9 2 4 0 4 8 10 3 7 1 10 3 9 8 3 1 0 7 3 0 2 6 8 4 2 1 10 2 7 9 5 3 8 0 4 5 4 5 2 8 3 5 2 8 9 7 0 0 7 4 4 9 10 8 6 3 7 3 9 7 0 1 9 7 1 2 10 9 6 2 9 3 2 1 6 6 7 10 1 8 7 2 2 4 4 4 4 5 1 1 1 3 1 1 3 7 7 5 7 3 4 1 8 4 9 8 1 8 0 5 10 9 2 6 0 8 0 3 9 7 10 4 3 7 6 10 7 9 7 3 10 8 3 1 4 7 10 8 7 5 2 5 2 3 1 9 8 5 5 2 7 7 0 0 7 0 9 5 4 6 10 0 7 4 6 9 7 10 7 7 3 1 8 3 0 9 0 2 10 6 2 0 1 9 9 3 1 7 1 2 2 2 0 5 8 9 8 8 5 8 7 4 4 5 8 5 6 0 6 1 5 10 4 2 3 7 1 2 6 6 2 10 3 1 4 8 4 8 0 7 0 2 2 9 10 8 5 0 5 8 2 3 7 5 1 0 5 5 9 3 9 6 0 1 9 5 5 5 5 3 9 2 0 4 4 8 7 7 7 3 9 6 2 3 7 3 9 8 6 3 10 4 10 0 3 2 0 0 10 9 1 3 0 10 2 10 9 5 9 9 10 8 2 10 5 1 6 6 0 7 0 9 4 4 10 10 4 5 1 8 3 2 10 3 4 1 6 9 10 0 3 6 10 4 1 3 9 5 7 1 0 5 6 10 5 4 1 1 3 2 6 6 4 9 3 0 0 6 4 5 1 0 9 2 10 4 9 5 7 7 0 2 10 6 9 6 0 0 1 1 9 10 3 7 6 2 9 3 8 7 1 8 6 9 4 8 3 8 9 9 3 7 0 8 8 4 10 8 2 6 9 10 9 7 6 2 4 10 10 0 5 9 4 7 2 1 0 10 1 8 3 6 8 9 10 4 1 1 2 10 1 4 3 1 5 3 9 0 3 3 7 4 6 4 3 6 3 8 7 5 10 9 9 7 6 8 2 0 9 7 8 2 8 9 5 3 5 4 4 8 2 8 5 3 8 9 2 2 0 7 4 4 6 9 6 2 7 0 0 2 2 10 0 9 6 9 8 3 1 4 5 5 0 4 1 8 2 1 4 0 1 5 4 4 10 2 4 3 2 0 1 4 8 9 2 9 4 8 1 4 6 8 3 0 9 6 0 10 0 7 6 5 2 6 0 9 1 7 2 10 9 4 9 8 4 1 5 1 0 3 7 10 6 4 2 0 3 7 2 8 4 2 8 4 3 2 9 7 10 4 7 0 5 3 0 2 2 7 7 10 9 8 3 0 1 6 6 9 1 10 0 7 9 5 5 3 5 8 9 3 9 7 10 2 10 7 3 6 9 8 1 6 6 0 1 5 2 4 3 5 10 5 1 9 0 7 10 4 1 1 1 0 2 2 10 7 1 6 1 10 8 9 7 10 1 2 2 10 7 6 7 3 7 5 1 2 2 8 8 0 7 0 5 2 5 8 10 8 3 9 5 4 8 10 7 8 4 10 8 0 6 1 5 0 5 7 6 8 5 2 2 8 7 5 4 6 2 2 9 6 7 10 8 10 3 6 2 2 1 9 10 1 6 9 3 5 1 9 1 10 3 7 9 1 3 4 5 4 10 8 5 8 10 5 6 5 4 1 7 6 5 8 0 9 9 8 4 9 1 9 4 3 0 10 7 7 6 3 1 2 9 4 4 1 10 0 8 0 3 1 10 8 4 5 10 9 3 10 3 4 9 6 1 3 1 10 5 9 2 0 1 0 9 3 9 3 9 5 9 7 7 8 7 3 4 9 9 6 5 5 10 9 6 5 1 0 7 9 4 1 10 5 6 1 1 0 0 9 3 6 5 7 7 9 7 10 6 5 4 1 7 10 4 3 5 6 1 7 2 0 6 8 4 0 4 7 0 10 10 5 9 9 8 2 0 3 3 5 7 7 2 8 4 1 8 0 2 8 10 7 7 4 0 4 10 4 2 1 10 3 9 4 4 9 1 0 0 8 5 3 8 9 10 2 5 2 10 8 7 0 9 10 4 2 4 1 6 4 8 9 4 7 9 7 5 4 3 2 0 4 7 6 3 6 4 8 9 3 3 4 5 6 7 10 2 3 0 6 1 3 10 4 10 3 2 5 0 3 3 1 2 7 9 9 7 6 4 4 3 2 1 2 4 8 7 7 10 4 0 0 1 2 2 2 2 5 3 3 8 2 4 8 8 0 2 6 6 1 1 5 7 2 5 2 4 10 3 6 5 4 3 3 0 3 5 9 4 8 4 1 9 3 3 4 4 0 5 7 5 1 6 8 4 7 2 10 10 5 4 10 10 7 0 0 4 7 3 4 4 10 1 10 1 1 6 9 2 1 4 0 2 6 3 6 7 4 10 1 10 9 1 7 3 10 10 6 10 6 5 8 5 0 3 10 7 4 4 10 10 4 10 6 4 9 3 3 9 9 4 8 5 0 4 10 5 7 9 0 3 6 6 6 6 8 4 1 4 3 1 4 3 6 0 6 7 8 5 6 4 7 6 7 8 8 9 8 10 9 6 8 9 5 7 6 0 2 9 1 8 10 1 3 6 2 7 2 6 0 10 5 1 2 8 3 7 7 1 8 9 7 0 3 9 1 5 1 9 9 1 7 9 10 8 2 2 0 4 5 4 6 1 5 10 7 5 5 4 1 8 5 2 2 7 9 10 1 8 10 3 6 0 9 1 1 6 3 8 8 0 8 5 9 7 5 3 7 4 9 6 3 5 8 8 4 5 6 0 4 3 2 6 2 0 7 6 7 3 3 3 9 3 7 0 0 6 9 5 9 7 2 5 5 10 7 8 5 5 2 0 8 7 4 6 10 10 6 3 3 1 2 0 8 5 1 8 3 1 4 3 3 2 10 0 5 4 7 3 2 7 5 3 7 1 7 3 0 9 3 9 2 3 1 0 8 9 7 7 5 7 1 0 9 1 3 4 6 3 0 4 4 8 10 4 5 1 0 4 3 9 3 6 5 1 6 8 9 3 6 7 0 6 6 3 10 9 6 1 0 7 6 5 8 1 2 1 4 1 4 8 7 3 4 2 8 0 4 2 7 5 5 10 0 3 8 2 8 8 6 0 0 9 10 2 10 9 0 2 10 5 0 0 7 3 5 4 5 2 2 5 7 6 1 3 2 6 5 5 2 8 1 2 0 10 10 5 8 1 0 6 2 2 5 9 0 5 3 4 6 7 4 5 1 10 5 0 7 0 7 3 4 6 8 6 1 6 8 10 10 1 5 3 0 3 8 6 7 10 6 0 2 4 0 10 3 0 2 5 6 3 2 1 7 2 4 10 9 8 7 1 0 1 6 1 0 6 6 1 10 2 5 6 6 3 0 2 10 10 2 9 4 8 10 10 10 0 5 0 4 5 10 7 5 2 5 3 7 4 5 6 8 4 6 6 0 0 6 8 10 3 6 0 8 3 9 1 0 4 10 0 6 0 9 4 1 4 9 0 6 1 4 4 7 6 5 8 2 8 1 6 1 2 7 8 5 10 5 9 6 10 5 8 10 10 7 9 0 3 4 6 2 0 9 8 2 2 10 0 8 0 10 8 7 0 6 4 10 1 2 8 10 4 7 7 5 3 9 4 2 8 6 8 1 9 7 10 5 6 2 6 4 10 7 3 9 8 0 9 5 0 2 0 6 5 1 8 1 9 4 6 3 3 10 3 8 5 2 5 4 2 7 8 7 6 1 4 7 1 0 2 5 6 3 6 1 7 9 3 8 1 1 7 6 6 10 2 1 1 8 0 5 0 6 4 2 4 7 1 0 6 5 0 0 9 8 4 3 7 10 3 5 7 6 0 10 7 2 4 7 2 10 8 7 0 6 5 4 5 9 6 1 9 10 2 5 2 9 9 4 10 7 0 8 1 1 1 10 5 8 6 0 8 9 9 1 5 4 2 6 3 1 4 7 5 3 4 3 6 5 9 1 10 9 5 3 6 10 7 4 4 1 6 9 3 7 0 1 4 0 9 5 5 3 4 6 8 3 3 5 6 7 4 5 10 8 4 7 6 1 0 4 0 9 6 5 4 2 8 0 2 3 6 4 6 10 3 8 3 10 8 5 9 7 3 9 6 7 1 6 10 10 2 5 7 5 9 1 3 7 3 3 0 9 3 8 1 6 3 5 7 7 10 4 5 6 4 0 1 5 7 2 8 3 8 3 3 7 3 5 9 4 10 8 9 5 1 3 1 6 0 3 8 10 7 10 0 4 7 3 7 8 10 9 8 9 1 1 7 3 10 3 3 7 1 6 5 7 3 1 6 8 0 5 0 2 3 7 3 5 7 6 1 10 4 6 0 0 3 10 7 9 0 1 10 6 0 5 9 9 5 10 8 10 2 8 7 4 5 8 4 3 0 7 9 2 9 4 6 1 1 4 10 1 9 3 4 10 7 2 9 5 10 8 9 0 3 5 6 10 8 1 9 1 1 8 5 0 7 9 10 1 10 0 5 8 7 7 6 7 2 1 0 1 7 0 6 7 6 5 8 3 4 2 4 7 9 3 8 7 5 8 4 3 1 7 0 0 4 3 8 0 0 8 3 4 8 2 8 3 4 6 7 5 3 3 10 5 9 2 8 0 8 8 1 3 6 10 6 2 3 7 10 4 6 2 5 2 9 0 10 2 0 5 10 7 1 0 7 8 8 6 8 1 9 8 4 4 9 7 8 6 10 4 10 7 7 6 1 10 10 4 10 0 4 0 7 8 4 3 9 10 9 2 2 2 10 0 9 3 9 8 5 5 8 8 1 2 8 5 9 9 2 7 9 3 0 5 3 6 5 10 2 5 10 0 7 0 0 3 1 2 8 1 3 9 8 6 5 5 4 4 0 8 5 2 0 6 3 5 4 0 1 6 9 0 1 1 9 5 8 8 0 5 4 10 4 2 2 5 2 8 10 6 6 5 9 0 10 4 7 2 4 10 0 5 9 3 10 8 9 1 6 6 9 9 9 8 2 2 6 7 1 3 6 1 7 6 8 0 10 5 2 5 5 0 7 7 2 10 1 10 0 5 8 8 7 7 6 1 10 5 9 2 0 0 0 5 9 9 9 10 8 9 3 9 7 1 8 3 0 5 4 3 8 1 6 4 6 0 10 7 0 0 1 6 7 8 2 3 8 3 3 8 0 8 0 7 3 3 6 2 10 8 3 5 6 0 10 7 6 5 9 9 2 8 0 3 2 4 6 6 2 4 2 5 1 6 3 5 8 8 4 1 9 7 0 4 2 6 2 3 6 7 7 0 8 3 9 1 1 2 5 6 2 0 8 5 10 2 8 0 9 4 0 6 8 3 1 9 1 2 7 2 10 10 3 5 4 2 4 8 8 10 9 1 2 6 4 0 6 10 6 4 5 2 0 4 5 1 0 5 7 0 7 2 0 8 5 8 0 0 0 9 4 2 0 3 4 9 10 7 5 0 7 6 10 0 1 9 2 8 8 2 0 7 3 1 9 3 7 9 1 3 10 7 4 4 9 0 8 8 10 0 8 0 8 3 1 7 3 1 2 9 7 0 6 6 0 0 10 3 8 8 0 5 0 10 7 5 7 7 10 8 8 7 6 6 9 9 9 10 7 1 8 2 7 5 10 0 6 5 5 4 3 1 9 8 1 0 6 4 4 8 1 2 10 7 9 7 6 0 2 7 2 8 4 0 8 6 10 1 1 7 1 7 10 7 5 6 5 1 4 1 5 6 6 4 10 8 6 0 2 4 0 4 5 0 5 0 6 9 2 0 9 9 0 6 9 9 1 10 7 4 4 1 9 6 5 5 2 10 10 5 4 1 6 1 8 3 7 8 10 9 4 1 2 9 7 1 4 3 9 6 3 1 10 10 3 9 3 6 6 0 7 10 5 3 7 4 2 6 9 7 9 9 3 1 0 10 5 2 0 7 10 7 8 5 4 4 0 4 1 8 9 7 1 8 8 6 3 3 5 4 7 1 9 2 6 4 4 3 2 7 10 5 9 6 6 0 4 10 10 6 8 8 0 6 4 2 10 2 1 4 5 9 8 1 3 1 1 10 1 1 4 3 5 3 0 0 0 1 3 0 7 2 2 1 6 6 5 10 6 3 10 1 1 1 9 4 2 0 6 3 0 6 7 8 1 10 3 4 4 1 4 0 2 1 9 2 2 6 0 9 5 4 5 7 2 0 10 10 5 6 10 5 3 6 3 8 0 1 5 1 9 8 7 0 10 2 9 9 1 0 4 7 2 9 5 6 4 10 3 10 6 2 6 7 7 9 7 3 0 6 2 5 0 6 9 9 1 0 9 3 10 3 10 8 1 4 9 8 9 6 6 0 1 8 8 10 2 7 1 9 10 3 5 10 0 8 1 3 8 5 4 1 0 0 3 0 0 10 10 7 7 0 4 5 10 2 6 5 2 6 9 2 5 10 9 5 6 6 3 10 8 5 4 3 3 8 7 9 2 5 6 10 10 0 9 7 6 0 8 8 4 5 8 6 2 6 0 5 10 0 5 9 10 6 8 3 3 1 6 1 0 3 3 10 0 7 1 8 5 3 2 3 6 2 4 9 2 2 7 8 4 3 5 0 0 7 7 4 3 5 2 0 5 9 4 1 5 6 2 4 5 8 7 7 6 4 1 10 6 10 0 10 4 9 1 0 0 4 8 9 0 6 7 9 1 3 9 1 2 2 7 10 6 5 6 6 4 5 10 2 4 5 0 5 8 8 0 3 4 4 4 0 5 10 0 3 0 1 8 10 7 5 10 0 3 8 4 8 7 6 5 5 3 2 5 3 6 2 9 5 4 7 2 7 1 6 4 1 3 1 1 4 9 0 2 8 4 1 1 2 8 5 3 7 9 5 10 10 1 0 6 4 10 6 4 8 5 10 0 8 9 7 3 8 5 10 1 0 2 6 0 1 1 10 0 4 3 6 10 7 7 10 6 9 8 6 9 8 9 7 8 3 1 6 5 0 2 5 8 2 3 6 6 8 7 0 8 3 4 10 4 10 10 1 6 1 5 1 8 1 10 2 9 5 8 8 8 0 4 1 1 3 0 8 2 2 8 9 1 3 3 10 10 7 6 9 5 10 5 10 4 5 0 3 10 8 9 4 10 1 3 9 5 1 4 2 5 6 0 9 4 10 7 4 0 4 0 5 2 8 0 5 6 1 9 9 1 10 2 5 6 4 7 9 3 8 10 7 10 3 1 9 

答案:4071
*/
时间: 2024-12-21 03:01:59

哈理工校赛F题 递归分治的相关文章

(中等) Hiho 1232 Couple Trees(15年北京网络赛F题),主席树+树链剖分。

"Couple Trees" are two trees, a husband tree and a wife tree. They are named because they look like a couple leaning on each other. They share a same root, and their branches are intertwined. In China, many lovers go to the couple trees. Under t

哈尔滨理工大学2016新生赛F题

给出两个正整数m,n,在笛卡尔坐标系中选出四个不同的点,满足: (1)   点的横坐标是一个在区间[0,m]的整数. (2)   点的纵坐标是一个在区间[0,n]的整数. (3)   这四个点做顶点构成一个菱形. 有多少种满足以上条件的选择方法呢? Input 多组测试数据,每组输入两个正整数m,n(m <= 1000, n <= 1000). 处理到文件结束. Output 每行输出一个整数,表示有多少满足条件的选择方法. Sample Input 2 2 Sample Output 6 #

ZZUOJ-1194-ARM立即数寻址 (郑州大学第七届ACM大学生程序设计竞赛正式赛F题)

Problem F: ARM立即数寻址 Time Limit: 4 Sec  Memory Limit: 128 MB Submit: 53  Solved: 12 [Submit][Status][Web Board] Description 在ARM处理器立即数寻址方式中,立即数是由一个8位的无符号常数(大于等于0,小于等于0xff),先扩展为32位,然后循环右移偶数位得到.所以类似0x101,0x102,0xFF1,0xFF04,0x8000007F等都是无效的立即数,而像0xFF,0x3

第八届山东ACM省赛F题-quadratic equation

这个题困扰了我长达1年多,终于在今天下午用两个小时理清楚啦 要注意的有以下几点: 1.a=b=c=0时 因为x有无穷种答案,所以不对 2.注意精度问题 3.b^2-4ac<0时也算对 Problem Description With given integers a,b,c, you are asked to judge whether the following statement is true: "For any x, if a?+b?x+c=0, then x is an inte

UVALive 7148 LRIP 14年上海区域赛K题 树分治

题意 n个点组成一棵树, 带有点权. 求最长不降的路径的长度, 且路径上最大值最小值之差不超过D. 显然是树分治, 但是分治之后如何维护答案呢. 假设当前重心为g, 分别记录g出发不降路径的长度,以及最大值, 和不升路径的长度以及最小值. 这里用到一个map和二分, 线段树也可以, 但是如果用线段树还要考虑负值, 再加上线段树的clear以及稍微暴力的查询.  常数大小不好说. 1 #include <bits/stdc++.h> 2 using namespace std; 3 typede

CF GYM100548 (相邻格子颜色不同的方案数 2014西安区域赛F题 容斥原理)

n个格子排成一行,有m种颜色,问用恰好k种颜色进行染色,使得相邻格子颜色不同的方案数. integers n, m, k (1 ≤n, m ≤ 10^9, 1 ≤ k ≤ 10^6, k ≤ n, m). m种颜色取k种 C(m, k) 这个可以放最后乘 那么问题就变成只用k种颜色第一个格子有k种涂法 第二个有k-1种 第三个也是k-1种 一共就是k*(k-1)^(n-1) 这种算法仅保证了相邻颜色不同,总颜色数不超过k种,并没有保证恰好出现k种颜色 也就是多算了恰好出现2种 恰好出现3种...

2016 acm香港网络赛 F题. Crazy Driver(水题)

原题网址:https://open.kattis.com/problems/driver Crazy Driver In the Linear City, there are N gates arranged in a straight line. The gates are labelled from 1 to N. Between adjacent gates, there is a bidirectional road. Each road takes one hour to travel

2015 whu校赛f题big data(dp + 小技巧)

题意是给定五个数n(n <= 100),a,b,l,r 另外有函数序列f(x),其中f(x + 1) = f(x) + a或f(x)+ b,f(0) = 0,问有多少个这样的函数序列f(1)到f(n)使得函数序列的和在l和r之间 解题思路如下: 图片有一处错误,要减去的是a*(n + 1) * n而不是 (b - a)* (n + 1) * n,此外,要注意x/c时向上取整和向下取整的问题. 这道题做做停停一个月了今天终于找时间ac了,有点感人呐 代码如下: #include<cstdio&g

ZZUOJ - 1245 - 寻找幸福的小L ( 郑州大学第八届ACM大学生程序设计竞赛正式赛F题)

1245: 寻找幸福的小L Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 60  Solved: 14 [Submit][Status][Web Board] Description 小L最近看上了一个女同学叫小A,但是小A是个高冷的姑娘,所以她给小L出了个难题,她给小L留下了一张纸条,上面只有一个坐标,和一个时间,所以小L需要在规定时间找到这个坐标的地点,并在那个时间到哪个地点等待小A,但是很无奈,小L不是一个地理通,所以他找到了小A的室友,想