zoukankan      html  css  js  c++  java
  • 2017 Multi-University Training Contest

    2017 Multi-University Training Contest - Team 6

    1003  /  hdu6098    暴力,思维

    tags:有点贼的题。。

    题解说的优雅的暴力:将A数组按值从大到小排序,对于每个下标 i 暴力找到最大的不被 i 整除的数。

    这样的复杂度其实是在排序的O(n*log(n)), 两个 for循环最多是 ( n/2+n/3+......+n/n),即O(log(n))。

    #include<bits/stdc++.h>
    using namespace std;
    #pragma comment(linker, "/STACK:102400000,102400000")
    #define rep(i,a,b) for (int i=a; i<=b; ++i)
    #define per(i,b,a) for (int i=b; i>=a; --i)
    #define mes(a,b)  memset(a,b,sizeof(a))
    #define INF 0x3f3f3f3f
    #define MP make_pair
    #define PB push_back
    #define fi  first
    #define se  second
    typedef long long ll;
    const int N = 200005;
    
    pair<int , int > a[N];
    int n;
    int main()
    {
        int T;  scanf("%d", &T);
        while(T--)
        {
            scanf("%d", &n);
            rep(i,1,n)  scanf("%d", &a[i].fi),  a[i].se=i;
            sort(a+1, a+1+n);
            rep(i,2,n)
            {
                per(j,n,1)
                {
                    if(a[j].se%i!=0) {
                        if(i!=n) printf("%d ", a[j].fi);
                        else printf("%d
    ", a[j].fi);
                        break;
                    }
                }
            }
        }
    
        return 0;
    }

    1008  / hdu6103    尺取法,思维

    tags: 枚举两个子串的对称点,每次从对称点往两边延伸,类似尺取法。复杂度O(n^2)

    #include<bits/stdc++.h>
    using namespace std;
    #pragma comment(linker, "/STACK:102400000,102400000")
    #define rep(i,a,b) for (int i=a; i<=b; ++i)
    #define per(i,b,a) for (int i=b; i>=a; --i)
    #define mes(a,b)  memset(a,b,sizeof(a))
    #define INF 0x3f3f3f3f
    #define MP make_pair
    #define PB push_back
    #define fi  first
    #define se  second
    typedef long long ll;
    const int N = 5010;
    
    int m, ans, len;
    char s[N];
    void solve(int x, int y)
    {
        int l1=x, r1=x, l2=y, r2=y, cnt=0;
        while(l1>0 && r2<=len)
        {
            while(l1>0 && r2<=len && cnt<=m) {
                cnt += abs(s[l1]-s[r2]);
                if(cnt<=m)  ans = max(ans, r1-l1+1);
                --l1, ++r2;
            }
            while(l1<=r1 && l2<=r2 && cnt>m) {
                cnt -= abs(s[r1]-s[l2]);
                --r1, ++l2;
            }
        }
    }
    int main()
    {
        int T;  scanf("%d", &T);
        while(T--)
        {
            scanf("%d%s", &m, s+1);
            ans=0, len=strlen(s+1);
            for(int i=1; i<=len; ++i)
            {
                solve(i-1, i+1);
                solve(i, i+1);
            }
            printf("%d
    ", ans);
        }
    
        return 0;
    }

    1011  /  hdu6107   签到

    #include<bits/stdc++.h>
    using namespace std;
    #pragma comment(linker, "/STACK:102400000,102400000")
    #define rep(i,a,b) for (int i=a; i<=b; ++i)
    #define per(i,b,a) for (int i=b; i>=a; --i)
    #define mes(a,b)  memset(a,b,sizeof(a))
    #define INF 0x3f3f3f3f
    #define MP make_pair
    #define PB push_back
    #define fi  first
    #define se  second
    typedef long long ll;
    const int N = 200005;
    
    int n, a[10], b[10];
    int main()
    {
        int T;   scanf("%d", &T);
        while(T--)
        {
            int ans1=0;
            scanf("%d", &n);
            rep(i,1,n)
            {
                int ans = 0;
                rep(j,1,7) scanf("%d", &a[j]);
                b[7]=a[7], b[6]=a[6]-b[7], b[5]=a[5]-b[7], b[4]=a[4]-b[7];
                b[3]=a[3]-b[7]-b[5]-b[6];
                b[2]=a[2]-b[7]-b[4]-b[5];
                b[1]=a[1]-b[7]-b[4]-b[6];
                bool flag=0;
                rep(j,1,7)
                {
                    if(b[j]<0) flag=1;
                    else ans += b[j];
                }
                if(flag) continue;
                else ans1=max(ans1, ans);
            }
            printf("%d
    ", ans1);
        }
    
        return 0;
    }
    View Code
  • 相关阅读:
    彻底解决SQL SERVER 2008无法远程连接的问题
    将ReportingService 2008配置为匿名访问
    将低版本的数据库迁移到sqlserver 2008
    Oracle 11G R2
    Reporting Services 安装的备份和还原操作
    DefaultValue
    用户 'IIS APPPOOL\DefaultAppPool' 登录失败。
    在IIS中为SQL Server 2008配置报表服务
    数据库日志维护方式
    如何卸载的 SQL Server 2008 实例
  • 原文地址:https://www.cnblogs.com/sbfhy/p/7340942.html
Copyright © 2011-2022 走看看