• 2015暑假集训


    8.2

    早上第一个到学校...

    学校把我们的宿舍安排到了西校区..十分钟路程...感人肺腑

    下午在SGU看了几道题然后就回宿舍收拾行李了... 

    晚上颓废然后滚回宿舍了

    8.3 

    早上做了一场比赛, T1写了个贪心结果就70分...T2写完发现理解错题意了...然后就弃疗了, T3没什么思路...

    中午被学校告知要搬宿舍...呵呵

    下午玩了道提答题..然而我不会玩..玩了好久才玩出几分..然而SA玩出了60+, kpm玩到了满分..跪

    晚上STSR #5, CF赛制, 挺好玩的. 2.5h 7道题

    T1水题...然而坑点很多. 3min就有人过了pretest..然后我过了pretest锁定后就造了一组数据hunt了10个人..哈哈, 虽说最后还是被人hunt掉了...

    T2题意 : 给一个长度n<=20的数字,其中肯定会包括数字1.2.3.4.求调换数字顺序使得原数对7取模为0。(不允许前导0)

    这道题我一开始没思路然后就写其他题了, 后来也没时间看..我们先把1.2.3.4提取出来, 把剩下的随意排序(不要前导0), 此时对7取模只有7种情况, 我们只需将1.2.3.4组合接在最后面就行了

    T3题意:K组数,每组数有10个数a_{1}..a_{10},求一个最小的N(0leqslant a_{10}< N),使得每组数都满足sum_{i=1}^{9}a_{i}equiv a_{10}(mod; N) 1leqslant Kleqslant 5.0leqslant a_{i} <2^{28}
     把a_10移到左边就可以发现N是∑a_i - a_10(1<=i<=9)的约数, 这样只要求个gcd就行了.坑点在long long和impossible的输出

    T4题意:一个长度N的序列, 最少要删掉多少数满足相邻两个数的绝对值差不为1. 1<=N<=1e5, 0<=a_i<=1e6

    O(N²)很好想, 然而是CF赛制, 没有部分分...dp(x, 0~2)表示当前长度为x的序列, 最后一个数的三种情况. 我们发现一个数最多否定相邻数只有2种, 所以我们存三种就没问题了. 

    8.4

    早上STSR#6

    T1裸可并堆, 但是我不会QAQ..想写个平衡树+启发式合并..后来就用set水了一下, 然而挂掉了... 

    T2 离线 + 线段树, T3莫队..都只写了暴力...

    下午和SA开始准备晚上的STSR#7(SA回家赛), 一个下午准备6题, 然而都是水题, 这是信心赛. 我出了A, B, E

    A题线性筛欧拉函数...

    B题水水的01背包, 有点不同稍微处理一下就可以了

    C题递推或者dfs+记忆化就可以拿50了...然后加个矩阵快速幂就可以拿满分了

    D题线段树...

    E题状压dp

    F题二分+MST, 二分给LLL御用大道加上的权值, 这样就可以恰好取need条边了

    话说我比赛发了邀请邮件, 然后ZSYZ的NOI金牌LJT想让我改比赛时间...让他的学弟都做做...然而只是水题而已

     8.5

    在准备STSR#8(SA回归赛)...

    晚上给他们讲了STSR#7的题目... SA回家了, 就只剩我一个人讲全部题了...

    8.6

    早上NOIP(PJ组)模拟赛

    T1题意:一棵树, 要去掉一些边, 使得k个被标记的点不联通, 且去掉的边权最小.

    这道可以直接贪心, 对边进行排序, 从大到小加边, 当前边不会使被标记的点联通就可以加.用并查集维护联通信息.然而我用并查集时写残了..最后发现时已经没有时间改了...然后就只有20了..改了一下就A掉了T T

    T2:字符串, 加密什么的...一开始写了暴力, 然后再写了kmp, 然而我不会造数据...结果就没对拍..不过还是A掉了. 后来我发现暴力程序就可以过的...这个数据太弱了吧!正解是字符串hash.

    T3题意:把2*n的栅格分成k个连通区域,每个区域至少有一个栅格.1<=n<=1000 ,1<=k<=2*n 

    感觉是dp, 然而状态表示不出来...最后乱搞一下骗了30分..正解dp(x, h, t)表示考虑了前x列, 分成h个连通块, 第x列的状态为t, t = 0表示第x列上下两块处于不同的连通块, t = 1表示第x列上下两块处于不同连通块.然后就各种讨论来转移..其实还是挺好写的..复杂度O(nk).转移懒得写, 扔代码

    ----------------------------------------------------------------------

    #include<bits/stdc++.h>
     
    using namespace std;
     
    const int maxk = 2009;
    const int MOD = 100000007;
     
    int dp[2][maxk][2], c = 0, p = 1, n, k;
     
    void init() {
    scanf("%d%d", &n, &k);
    memset(dp[c], 0, sizeof dp[c]);
    dp[c][1][1] = 1;
    dp[c][2][0] = 1;
    }
     
    void work() {
    while(--n) {
    swap(c, p);
    memset(dp[c], 0, sizeof dp[c]);
    for(int i = 1; i <= k; i++) {
    int &a = dp[c][i][0], &b = dp[c][i][1];
    a = ((dp[p][i - 1][0] + dp[p][i - 1][1]) * 2 + dp[p][i][0]) % MOD;
    b = (dp[p][i][0] * 2 + dp[p][i][1] + dp[p][i - 1][1] + dp[p][i - 1][0]) % MOD;
    if(i > 1)
       a = (a + dp[p][i - 2][0] + dp[p][i - 2][1]) % MOD;
    }
    }
    printf("%d ", (dp[c][k][0] + dp[c][k][1]) % MOD);
    }
     
    int main() {
    freopen("test.in", "r", stdin);
    freopen("test.out", "w", stdout);
    init();
    work();
    return 0;
    }

    ----------------------------------------------------------------------

    8.7

    早上NOIP模拟赛..

    8.8

    之前后缀数组弄出模版后没怎么做题, 今天写了两道..

    晚上是STSR#8, 我和SA出的比赛... 

    8.9

    回家...

  • 相关阅读:
    比较对象的相对性
    深拷贝与浅拷贝(TBD)
    创建UI的线程才能访问UI,那么怎样才算访问UI呢
    多层级的数据绑定效果
    众所周知,static修饰的成员只实例化一次,而string类型每次赋值都会重新创建一个实例,那么用static修饰string呢?
    常量、只读字段
    使用dos打开相关软件
    查看电脑硬件信息dos命令
    Windows常用快捷键
    使用外部编辑器出现乱码
  • 原文地址:https://www.cnblogs.com/JSZX11556/p/4696870.html
Copyright © 2020-2023  润新知