zoukankan      html  css  js  c++  java
  • NOIP2015解题报告 By ljt12138

    Day1t1 幻方
    练过的一道题,简单模拟,用二维数组存储,ij两个游标记录横纵坐标,利用题目条件改变坐标直到填入n个数即可。复杂度O(n^2) AC

    Day2t2 图的最小环
    首先抽象出图论模型。每个人对应点,传输对应边。因为自己的生日只可能出自于自己,所以结束对应最小环长度。
    最小环可以用tarjan算法O(nlogn)求得。但实际上这道题目是有O(n)算法的。我们考虑使用dfs搜索找环并加入一个剪枝。剪枝的关键在于: 每个联通分量内至多有一个环。这个可以用反证法证明。这样,我们对于每一个计算过的点记录,下次搜到不必重复计算。因为不可能出现没有找过的环。
    存储结构使用数组即可,因为每个点的出度都为1。注意不能从没有入度的点开始搜,因为有的联通分量可能整体是一个环。
    (我剪枝没在dfs里做被卡一个点)

    Day1t3
    条件过于繁杂,暴力过30

    Day2t1 据说是二分
    去除石头本质上是合并了两个长度,从而让最短的边最长。没有想到好办法,只用heap+贪心混了20分。

    Day2t2 搜索
    爆零不说了

    Day2t3
    这种题首先考虑过部分分。首先m=1可以贪心,稳拿20分。剩下部分仍然考虑贪心。因为有很多链状结构,最优值很可能就是最大值。故去除最大边。最后共得30分。

    总结
    自我感觉木有砸,基本是最好水平的表现了。同时总结一些经验
    1 不要拗在一个题上
    2 不要因为暴力分少就懒得打(我想会做Day2t3 20分而懒得写的选手大有人在)。事实证明,除了少数神犇,大多数人的差距都在暴力得分上。
    3 重视玄学!!例如string玄学,dev迷之自动加载头文件等等。
    4 小心无脑错误 比如没有删调试语句,输出xxx.ans等等。
    5 努力骗部分分 事实证明 出题人是懒的,数据是水的。

  • 相关阅读:
    前端 JS+CSS
    Git 命令行操作
    信息安全 学习笔记(2)——防火墙(Netfilter/ IPtables)
    信息安全 学习笔记(3)—— 后门(Backdoor+rootkit)
    Linux课程学习总结报告
    信息安全 学习笔记(4)—— 【问答题 复习纲要】
    结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程
    centos安装和卸载软件
    zookeeper错误KeeperErrorCode = ConnectionLoss解决
    查看linux信息
  • 原文地址:https://www.cnblogs.com/ljt12138/p/6684398.html
Copyright © 2011-2022 走看看