zoukankan      html  css  js  c++  java
  • 2021GDOI总结

    Day 1

    T1

    一眼看过去是一个枚举加贪心,首先肯定是先翻头和尾,不然答案不会更优。
    如果翻头的卡片能影响最大值,那么之后就不能翻队尾的卡片,这样显然会优。翻尾的卡片情况一样。

    但是之后我发现了一些问题,如果没能影响,那么翻的卡牌会在队中,如果再次遇到就不能再翻了,显然这样可以保证正确,但可以前后的顺序可以不同。
    这就不好实现了,所以我只打了第一种情况。(预估分数 0 ~ ?)
    赛后,发现可以二分答案,枚举最大值,确定最小值的范围,从而知道要翻的卡片个数,判定合法与否。

    T2

    这是一到偏数学的题,最小的数据我直接枚举暴搜。
    看看数据,发现可以做矩阵是0,1的情况,0的矩阵必定是全0,而1只有一个1。所以可以先把0的填了。之后发现有一些地方只能填1,如果不能确定的地方就填0,这样可以保证正确。
    最后验证一下这个矩阵可不可行。(预估45)

    T3

    没有任何思路,N^3 * M暴力模拟。(预估16)

    Day 2

    T1

    想到了倍增的打法,可以过m <= 300,维护从lca向下和点到lca的答案,每个都要匹配,但发现有很多的弊端。所以只打了N^2模拟暴力(预估25)
    赛后,发现可以转化成一个最长不下降子子序列问题

    T2

    毫无思路,直接暴搜,加了个可行性剪枝。(预估60)

    T3

    树的打法比较简单,用lca可以解决,但没打完,普通的暴力也打砸了,直接没交。

    总结

    考试经验
    心态要好,先读题,都想一下,有思路先做。没有思路的先打暴力,暴力要打满。
    要细心,注意输出的格式。

    这一次比赛,让我发现,自己的做题经验不够多,许多的算法没有练多。
    之后,要多做题,每一题都要打,多要练习自己不熟练的算法。
    以前做的题,没有及时的总结。以后要多多的总结,锻炼思维。

    每周都要回顾复习以前学过的算法,做一些题(1 - 2 道)去提高,要做到能熟练的运用。
    学习一些新知识点,多打总结。
    多去锻炼思维,做一些构造题。
    做一些比赛,综合性强的题。

    2 - 3 周,数据结构。
    3 - 4 周,字符串,不熟练,要多练。
    2 - 3 周,图论
    2 - 3 周,思维训练。
    2 - 3 周,数论
    2 - 3 周,做综合性强的题

  • 相关阅读:
    窗口吸附
    c++中冒号和双冒号的用法
    C++Builder中注册表的操作
    C++ Builder VCL库函数简介
    C++ Builder 2007中应用数据库SQLite(转载)
    如何使用C++获取 进程的 绝对路径
    正则表达式入门
    为什么要用 C# 来作为您的首选编程语言
    CSharp交换函数swap的三种实现方法
    告别码农,成为真正的程序员
  • 原文地址:https://www.cnblogs.com/nibabadeboke/p/14647632.html
Copyright © 2011-2022 走看看