• 寒假集训总结


    DAY 1

    模拟

    emmmm

    哇塞,模拟暴力太快乐了

    ???

    这是啥???乒乓球怎么打???嗯???还有分制???

    orz

    DAY 2

    搜索,二分,背包

    导弹拦截

    (啊只得了4分的暴力终于变成了200分的正解

    DAY 3

    背包,lower_bound

    (导弹拦截里也有所应用

    (stl大法好

    多重背包

    (qwq原来那个背包的课件还是只看了01和完全

    DAY 4

    栈,队列,并查集,线段树,最小生成树,链表

    (没错学了一堆图论还有数据结构

    中位数线段树做法

    (虽然这道题大家都用堆但是我是因为学线段树才加这道题的,任务计划中呆了将近3个月终于a掉了

    DAY 5

    LCA,Dijkstra,匈牙利算法

    (继续图论,蛮快乐的

    二分图匹配

    (上课讲找对象还是很欢乐的

    DAY 6

    欧拉回路,st表,单调栈,单调队列

    (单调栈的单调队列都令人头大

    DAY 7

    数论

    乘法逆元

    (数论真的很难,组合数那道题,难倒了qq姐及dtx大佬

    (哦而且组合数那道题大概懂了,但是不想再写一遍题解,so,flag还是倒了23333

    DAY 8

    en

    终于来到了

    良(凉)心模拟233333

    难度

    while(1)noip --?

    我炸了dbq我太水了我不配坐在大佬旁边

    t1

    string

    明明都想出来了求lcm

    可是为什么没有暴力比对字符串???

    明明不会t

    你找个毛规律啊zz

    #include<cstdio>
    #include<cmath>
    #include<iostream>
    using namespace std;
    #define maxn 3010
    #define ll long long
    
    char s1[maxn],s2[maxn];
    
    ll gcd(ll x,ll y) {
        if(y == 0)
            return x;
        return gcd(y,x % y);
    }
    
    ll lcm(ll x,ll y) {
        return x * y / gcd(x,y);
    }
    
    int main() {
    //    freopen("string.in","r",stdin);
    //    freopen("string.out","w",stdout);
        ll l,n,m,ans = 0;
        scanf("%lld%lld%lld",&l,&n,&m);
        for(int i = 1; i <= n; i++)
            cin >> s1[i];
        for(int i = 1; i <= m; i++)
            cin >> s2[i];
        //scanf("%s",s1);
        //scanf("%s",s2);
        /*    for(int i = 1; i <= n; i++)
                for(int j = 1; j <= m; j++)
                    if(s1[i] == s2[j])
                        ans = ans + (l / lcm(m,n)) * lcm(m,n)/(abs(i - j) + 1);
                        */
        ll k = lcm(m,n);
        int qwq = 1,qaq = 1;
        for(int i = 1; i <= k; i++) {
            if(s1[qwq++] == s2[qaq++])
                ans++;
            if(qwq > n)
                qwq -= n;
            if(qaq > m)
                qaq -= m;
        }
        ans = ans * l / k;
        printf("%lld",ans);
        return 0;
    }

    t2

    大概就是斐波那契

     然鹅,矩阵快速幂,我就这样不会写了【微笑【微笑【微笑

    t3

    path

    最短路

    单向边嗷嗷嗷我锤死我自己好了

    啊而且记录特殊路的方法也有问题

    #include<cstdio>
    #include<queue>
    using namespace std;
    #define maxm 600010
    #define INF 1000000000
    #define inf 2147483647
    #define maxn 100010
    
    struct EDGE {
        int nxt,to,weight;
    } edge[maxm];
    
    priority_queue<pair<int,int>,vector<pair<int,int> >,greater<pair<int,int> > >q;
    int head[maxn],cnt;
    int dis[maxn];
    int total;
    bool vis[maxn];
    
    void add(int x,int y,int z) {
        edge[++cnt].to = y;
        edge[cnt].nxt = head[x];
        head[x] = cnt;
        edge[cnt].weight = z;
    }
    
    int main() {
        freopen("path.in","r",stdin);
        freopen("path.out","w",stdout);
        int a,b,n,s,t;
        scanf("%d%d%d%d%d",&n,&a,&b,&s,&t);
        for(int i = 1; i <= a; i++) {
            int x,y,z;
            scanf("%d%d%d",&x,&y,&z);
            add(x,y,z);
        }
        for(int i = 1; i <= b; i++) {
            int x,y;
            scanf("%d%d",&x,&y);
            add(x,y,INF);
        }
        for(int i = 1; i <= n; i++)
            dis[i] = inf;
        q.push(make_pair(0,s));
        dis[s] = 0;
    //    printf("%d",q.empty());
        while(!q.empty()) {
            int u = q.top().second;
            q.pop();
            if(vis[u])
                continue;
            vis[u] = 1;
            for(int i = head[u]; i; i = edge[i].nxt) {
                int v = edge[i].to;
                //    printf("qwq %d
    ",v);
                if(dis[v] > dis[u] + edge[i].weight) {
                    dis[v] = dis[u] + edge[i].weight;
                    //    printf("qwq %d %d
    ",edge[i].weight,v);
                    q.push(make_pair(dis[v],v));
               //     if(edge[i].weight == INF)
                 //       total++;
                }
            }
        }
        printf("%d %d",dis[t] / INF,dis[t] % INF);
        return 0;
    }
    /*
    5 3 1 1 5
    2 3 3
    3 5 4
    2 5 9
    1 2
    */

     emmm这个代码也不知道对不对现这么放着吧

    DAY 9

    树形dp,hash,trie字典树

    (开始大部分都是不会的东西了www

    (trie树真的挺简单的

    DAY 10

    未完待续。。。

    无论如何都要矫(xia)情(bai)一下

    这几天,真的很棒,远离学习,远离课业,沉寂在电脑和代码中,真切地有了名为“宅”的感觉,虽然跟宅完全不同

    但是这次寒假集训真的带给了我很多

    比如八卦,比如jqe学长,比如爆炸的分数。。。

    emmmm

    夸一夸企鹅学长吧

    他真的超认真,超负责,不停的备课讲课答疑debug

    他笑起来很有感染力,课堂的氛围也很欢乐,还有经常换的似乎没什么区别但仍旧很帅气的衬衫

    真的超喜欢了

    这样美好的平衡,认真而快乐

    希望,以后还能再见

    最后,我是不会说qe学长不让说教的比xx(只可意会不可言传)好的事的【划死

  • 相关阅读:
    队列ADT
    使用QQ截图右键菜单
    字对齐、半字对齐、字节对齐的理解
    Linux虚拟机下使用USB转串口线——配置minicom、以及screen的使用
    栈的应用实例——中缀表达式转换为后缀表达式
    使用ADS1.2的注意事项及常用技巧
    VMWare虚拟机“锁定文件失败“怎么办?
    把Linux目录挂载到开发板、设置开发板从NFS启动、取消开发板从NFS启动
    关于交叉开发环境
    JavaWeb学习----JSP脚本元素、指令元素、动作元素
  • 原文地址:https://www.cnblogs.com/sevenyuanluo/p/10319300.html
Copyright © 2020-2023  润新知