zoukankan      html  css  js  c++  java
  • 复赛前的复习

    noip知识导图.png

    数论&DP

    (再三考虑,把数论和DP放在前面,因为他们是在是太重要啦,而且我又不是很懂)
    (还是因为我太菜了,这个就单独写博客吧——>为了写具体的分析,总结思路,绝不是因为想水博文)
    精心整理后的数论知识博文:https://www.cnblogs.com/tyner/p/11360204.html
    数论习题:
    https://www.cnblogs.com/tyner/p/11853212.html
    https://www.cnblogs.com/tyner/p/11853406.html

    图论习题:https://www.cnblogs.com/tyner/p/11853338.html

    dp习题:https://www.cnblogs.com/tyner/p/11853365.html

    杂乱模板:https://www.cnblogs.com/tyner/p/11861454.html

    模拟

    luoguP3952 时间复杂度

    信了樊某某的鬼,挑战这一神题简单题目

    其实还挺好玩的....我觉得打for总错的同学做这题会简单一点...

    我实在不想写解析了(估计也没人看)(代码也丑....

    就写写自己的收获吧:(我基础差,勿喷

    1. string 类型的变量a,b ,在size相等的情况下可以直接用< =>等判大小,size不等时,根据size, 返回大小关系
    2. char 类变量虽然能够赋初值为'15'这个样的两位,但是在输入的时候还是只能读单个字符

    积木大赛

    刚刚做这题的时候真的想到了线段树。。。
    正解: 模拟
    如果你运气好的话,在计算样例时就能想到正确的思路,而我就比较差了。。

    我们从左向右一次搭积木,不降序则不用更新答案,反之则需要加上他们的差值。。就这样

    搜索

    旅行

    先考虑为一棵树的情况:

    题目中说是要求字典序最小,而是树的话,那他们就一定是可以到达的,并且,我们必须是沿着根一直往下走到底的(自己想想就行了

    这样,我们先以一为根,每次选取最小的儿子,边走边输出即可,简单的一个vcetor排序就能做到,于是60分到手(代码就不给了

    接下来考虑基环树

    如何删边呢?暴力删边!
    其实基环树找环应该是用dfs找,用一个vis,一边跑一边赋1,回溯的时候变成0,如果在dfs时找到了一个vis等于1的点,就全部return,那么vis==1的点就在那个环上(大概吧...

    而这题就可以暴力删边:用前向星枚举边,记录这条边的起点与终点,在dfs时若是碰到了一条边的两端点为这两个点,则continue不管,就这样

    **直线交点数 **

    分治与递归

    贪心

    数据结构

    PA2015 Siano
    自以为这是一个很不错的题目,有助于人理解线段树到底长啥样,是个什么原理。
    首先,这题目和顺序没关系,我们可以从小到大排序a[], (自己还是没想到,这是老师说的emm...
    然后看到了区间查询和修改,想到线段树(有点牵强

    之后思考,维护啥,怎么pushdown。
    显然,需要维护sum,set,于是有个难题:怎么模拟出草长高的操作? 思考后问同学, 可以维护一个add表示生长的天数(这题add是不能维护长的高度的,因为这样就不能pushdown了
    在pushdown时,又遇到一个难题,怎么把add(天数)下传呢? 思考后,可以把a维护成一个前缀和,这样就能愉快的修改sum啦。(这里就是有助于我们理解线段树长啥样的。。

    还有一个问题,就是怎么找要修改的边界呢? 因为a是有序的,所以右边界是n, 左边界呢? 还是因为a是有序的,所以线段树叶子节点也是有序的,二分查找即可,所以还要维护一个max

    UVA1428 Ping pong

    蓝书树状数组例题, 分析就不写了
    我又犯了同样的错误233.....

    树状数组在实现的时候一定要分清n,和你树状数组t的下标表示的含义,通常我们是用a的值来作为下标的,所以你add的时候判while(x <= MAX), MAX应为你的树状数组下标边界
    在写线段树的时候也是这样,要注意你线段树的下标是啥,不要一上来就build(1, 1, n), n 可能只表示数量,不是下标...

    luoguP4097 [HEOI2013]Segment
    听说这个叫李(Li)超(Chao)树(Tree), 也就是LCT(开玩笑的哈LCT不是这个
    貌似挺重要的这个
    就另写一篇博文吧(偷偷水一篇)

  • 相关阅读:
    实验报告五
    实验报告四
    树莓派系统安装和调试
    Linux内核分析——扒开系统调用的三层皮(下)
    Linux内核分析——第二章 从内核出发
    Linux内核分析——第一章 Linux内核简介
    Linux内核分析——扒开系统调用的三层皮(上)
    Linux内核分析——构造一个简单的Linux系统MenuOS
    Linux内核分析——操作系统是如何工作的
    Linux内核分析——计算机是如何工作的
  • 原文地址:https://www.cnblogs.com/tyner/p/11704418.html
Copyright © 2011-2022 走看看