qbxt Day2 on 19-7-25

——TGZCBY

上午

1. 矩阵乘法在图论上的应用

有的时候图论的转移方程可以用dp的方式转移

特别是两个数的乘积求和的时候

比如邻接矩阵中f[i][j]表示走了i条边之后到达j点的方案数

直接用最后的矩阵*邻接矩阵^p就基本OK

通常情况下能够用矩阵乘法解决的优化问题

都有这种情况出现

然而要注意:数据范围

因为矩阵乘法的复杂度几乎无法保证\(\leq O(n^2)\)

我们这时候还是需要尽量去合并范围更小的乘法项

去优化这个更加难受的优化

牢记矩阵乘法有结合律,没有交换律

2. 搜索的剪枝技巧

zhx:说实话,我无法教给你们万用的技巧

因为每一个题都有一个特定的剪枝技巧

真的!!每一个题都不一样

但是一些通用的剪枝技巧还是有迹可循


比如我们先想:什么时候用bfs

bfs通常使用在计数的时候

这个时候我们不会让dfs去跑一遍作死

然后还有前后数据没有太大关联的时候

这个时候状态转移好转移啊


如果bfs炸了,我们还是回到一个dfs上

dfs的好处就是状态转移直观啊

但是dfs无法满足大量的转移

怎么办呢?

这里提供几个解决办法:

  1. 改变枚举顺序

    通常出题人是不会让你过正常思维整出来的题目的

    所以我们要换一种顺序去得到正确答案并且快速枚举

  2. 可行性剪枝

    说白了就是往最好的方面去走,然后排除绝对不可能的选项

    先走最有可能的选项

    这样我们就有了一个更好的搜索树让可行性这个剪枝更加优秀

  3. 判重

    有一些搜索的搜索树是相同的

    可能 or 不可能都剪掉

    然后有一部分填空的题目上下、左右有对称性

    如果重复也可以直接剪掉

  4. 卡时

    有的时候你已经算出正确的答案了

    特别是你的枚举顺序特别好的时候

    这个时候如果快要超时了(当然你不知道答案是否正确)

    你就赶紧掐断这个搜索树

    直接输出目前为止最好的答案

    这也不失为一种暴力的好办法

    毕竟有的时候确实是好用(Orz)

搜索就说这么多

下午

基础数据结构

  1. 单调栈

单调栈当然是比较高级的栈

其中的元素满足一定的单调性

当我们弹出其中元素的时候

我们还要进行状态的转移

  1. BST

二叉搜索树之所以还讲

是因为要为后面线段树做好铺垫

而且搜索树的性质、思想十分重要

所以讲了BST

  1. 树状数组

树状数组之所以还有用处

是因为代码短,常数小

而且用它的地方还有求逆序对

所以好处多多

但是局限性很大

只要元素不满足“可以相减来转移”的性质

树状数组就废了

  1. 线段树

线段树是一个好东西

在维护区间操作的时候十分的给力

注意tag的用法

有的时候还是要进行一波玄学操作的

  1. 左偏树

老师竟然不会普通堆!于是一波福利就来了。

这个左偏树我做了详细的介绍,可以 点这里 来查看。

今天的例题我先不放了......等我先都做完了再说qwq

qbxt Day2 on 19-7-25的更多相关文章

  1. QBXT Day2主要是数据结构(没写完先占坑)

    简单数据结构 本节课可能用到的一些复杂度: O(log n). 1/1+1/1/.....1/N+O(n log n) 在我们初学OI的时候,总会遇到这么一道题. 给出N次操作,每次加入一个数,或者询 ...

  2. 19.3.25 sql查询语句

    1.单表查询:select * from 表名 where id = 111 2.查询表内数据并以id排序:select * from 表名 order by id (降序:desc/升序:asc) ...

  3. QBXT Day2

    遭遇[问题描述]你是能看到第一题的 friends呢.—— hjaN座楼房,立于城中 .第i座楼,高度 hi.你需要一开始选择座楼,开始跳楼. 在第 i座楼准备跳需要 ci的花费. 每次可以跳到任何一 ...

  4. Java每日一面(Part1:计算机网络)[19/11/25]

    作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 1. HTTP相关[2] 1.1Get请求和Post请求的区别 从三个层面来回答: 1.1.1 从HTTP报文层面: ​ Get请求将请求信息放在UR ...

  5. 蓝桥杯刷题,第四界省赛B组

    题头,本内容的题目和部分内容均来自博客:https://blog.csdn.net/ryo_218/article/details/79704030 ,在此感谢. 1. 题目标题:高斯日记大数学家高斯 ...

  6. 【转载】JAVA基础:注解

    原文:https://www.cnblogs.com/xdp-gacl/p/3622275.html#undefined 一.认识注解 注解(Annotation)很重要,未来的开发模式都是基于注解的 ...

  7. java基础—注解annotation

    一.认识注解 注解(Annotation)很重要,未来的开发模式都是基于注解的,JPA是基于注解的,Spring2.5以上都是基于注解的,Hibernate3.x以后也是基于注解的,现在的Struts ...

  8. 【Java】时间戳与Date相互转换

    时间戳转Date public static void main(String[] args) { // 10位的秒级别的时间戳 long time1 = 1527767665; String res ...

  9. @interface 注解详解

    转:http://www.cnblogs.com/xdp-gacl/p/3622275.html 只为成功找方法,不为失败找借口! Java基础加强总结(一)——注解(Annotation) 一.认识 ...

随机推荐

  1. 全文搜索 ElasticSearch

    今天突然想了解一下ES,看看有什么优势,能不能用在项目中. 说到ES就不得不了解它的底层技术-全文检索 Ref: 全文检索的基本原理 https://blog.csdn.net/wangmaohong ...

  2. Mac009--Axure RP安装

    Mac--Axure RP安装 一.下载Axure RP8.0 下载网址:https://www.axure.com/download  (下载mac版本) Axure RP说明: Axure RP是 ...

  3. Entity Framework 中遇到的一些小问题

    一.在多表关联中,一个表中有另一个表的model累,在Include方法里提示lambda表达式不是委托类型,这时候需要using System.Data.Entity; 二.插入数据时,主键并非自增 ...

  4. struts框架的一些注意点

    1.Struts.xml文件中<include file="">标签的运用 用法:此标签引用配置文件,Struts2提供了一个默认的struts.xml文件,当此配置文 ...

  5. zookeeper+dubbo+demo

    zookeeper下载地址 https://archive.apache.org/dist/zookeeper/ zookeeper安装和使用 windows环境 https://blog.csdn. ...

  6. python开发之路-day03

    一 文件操作一 介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所 ...

  7. python eval( ) 使用详解

      1.解析表达式 (表达式是str类型)----最常用     a = 12     b = "联播"     result1 = eval(a+3)        # resu ...

  8. 【刷题】java 常见的几种运行时异常RuntimeException

    常见的几种罗列如下: -NullPointerException - 空指针引用异常 ClassCastException - 类型强制转换异常. IllegalArgumentException - ...

  9. Swift--Unmanaged使用

    Unmanaged使用 作者 Nate Cook 翻译者 Croath Liu 2015年4月13日        API 对于开发者来说不只是把功能点接口暴露出来而已,同时也传达给我们一些其他的信息 ...

  10. procixx地址

    \\192.168.35.7\Download\Builds\procixx_psoc