zoukankan      html  css  js  c++  java
  • Summer training round2 #8(Training26)

    A:贪心DFS

    先从最远的搜起 如果一个点的value>=2 就ans++

    D:并查集

    E:大模拟

    F:快速幂

    #include <bits/stdc++.h>
    using namespace std;
    typedef long long LL;
    typedef pair<LL, LL > pLL;
    const LL MOD1 = 1e9 + 7, MOD2 = 1e9 + 9;
    int n, a[1000], vis[1000], i, j, k;
    set<pLL> st;
    LL QuickPow(LL a, LL b, LL MOD) {
        LL res = 1;
        while(b) {
            if(b & 1) res = (res + a) % MOD;
            a = (a * a) % MOD;
            b >>= 1;
        }
        return res;
    }
    int main() {
        freopen("numbereater.in", "r", stdin);
        freopen("numbereater.out", "w", stdout);
        scanf("%d", &n);
        for(i = 1; i <= n; i++) {
            scanf("%d", &a[i]);
        }
        LL sum1, sum2;
        for(i = 1; i <= n; i++) {
            memset(vis, 0, sizeof(vis));
            sum1 = 0; sum2 = 0;
            for(j = i; j <= n; j++) {
                if(!vis[a[j]]) {
                    sum1 = (sum1 + QuickPow(a[j], a[j], MOD1)) % MOD1;
                    sum2 = (sum2 + QuickPow(a[j], a[j], MOD2)) % MOD2;
                    vis[a[j]] = 1;
                    st.insert(make_pair(sum1, sum2));
                }
            }
        }
        printf("%d
    ", st.size());
        return 0;
    }
    View Code

    K:暴力

    #include<stdio.h>
    #include<math.h>
    #include<string.h>
    #include<iostream>
    #include<algorithm>
    #define INF 2139062143
    #define inf -2139062144
    #define ll long long
    using namespace std;
    int a[300];
    int n;
    bool over() {
        for(int i=0; i<n; i++) {
            if(a[i] != 1)    return false;
        }
        return true;
    }
    int main() {
        int i,j,k;
    
        freopen("table.in", "r", stdin);
        freopen("table.out", "w", stdout);
    //    for(n=299; n<=299; n+=2) {
        scanf("%d",&n);
        if(n % 2 == 0) {
            printf("IMPOSSIBLE
    ");
            return 0;
        }
        memset(a,0,sizeof a);
        a[0] = n;
        int cnt = 0;
        while(!over()) {
    
            int ma = inf;
            int b[300];
            for(i=0; i<n; i++) {
                ma = max(a[i],ma);
                b[i] = a[i];
            }
            for(i=0; i<n; i++) {
                if(a[i] == ma) {
                    b[i] -= 2;
                    b[(i-1+n)%n] ++;
                    b[(i+1+n)%n] ++;
                    if(cnt == 0) {
                        cnt = 1;
                    } else {
                        printf(" ");
                    }
                    printf("%d",i + 1);
                }
            }
            for(i=0; i<n; i++)    a[i] = b[i];
        }
        printf("
    ");
    //    }
    
        return 0;
    }
    View Code
  • 相关阅读:
    表单提交与后台PHP如何接口?
    json数组转普通数组 普通数组转json数组
    使用Memcache缓存mysql数据库操作的原理和缓存过程浅析
    int(3)和int(10)的区别
    CI 3.0.6 控制器打印base_url 地址不为 localhost的解决方法
    CI3.0控制器下面建文件夹 访问一直404 的解决方法
    http响应需要记住的状态码
    laravel 表单验证 正则匹配
    laravel 加中间件的方法 防止直接打开后台
    Laravel 设置时区
  • 原文地址:https://www.cnblogs.com/Aragaki/p/7368316.html
Copyright © 2011-2022 走看看