写在前面:(扯淡话)

这次考试是AB组分开考,但是觉得题目并不是很水,所以就来写一下题解,其实这次由于翘掉了午休,所以考试的前半部分还是比较困的(越做越清醒!)今天调完还是很有感触的!

正文:

T1 最长不下降子序列

这次首先一看以为是裸的数据结构优化dp,但是由于数据范围过大,而且数据产生过于诡异,我就愉快的发现循环节,然后搞他,40分钟切掉(只有74分),头铁没有对拍,但是在还剩一个小时的时候发现过不了对拍,就死命的调,由于本人过于脑小,没能发现开大循环节的奥妙,就失去26分,结束后加了3个字符就AC了!其实思维量不大(正解的思维量很大!)

T2 完全背包问题

考试的时候gp不会,就滚粗了!其实这是同于系最短路的裸题,但是由于自己不会,导致我死了!

于是来填坑:

关于同于系最短路的一点理解,其实就是用同余优化最短路,但是我们是用同于系最短路优化背包问题,主要解决的问题是:

$\sum_{i=1}^{n}a_ix_i=k$

主要流程就是:

首先选择一个最小的a作为base,然后我们就发现所有的a都可以用$ base*p+left $来算出来,那么我们就可以用f[i]表示mod mina的条件下余i的时候所能拼出的最小体积!其实我这里只是泛泛而谈,重点还是要自己理解!

我们使用同于系最短路就可以AC这道题

T3最近公共祖先

这道题是最有感触的,我在40分钟打完T1,看T2不会做就去干T3,然后就想出来了类似正解的解法,

我想的是线段树维护dfs序,在修改的时候使用线段树单点修改,然后询问的时候就是直接暴力往上跳,由于算法的局限性,导致我没办法想出来别的优化,于是就T40分,正解其实比较接近,但是我就是相反了,正解是维护修改的时候是区间修改,在查询的时候就是单点查询即可,这看似复杂度并没有变化,但是这有一个很好的性质,就是一旦这颗子树有一个黑点,那么即使有第二个黑点,也没有什么用处,我们利用这个性质就可以break,这是T40与AC的差距,其实我就是应该在想不出来的时候换个角度思考问题,就是思维只是接近正解,但是并不是正解,然后就是代码的事情了,其实如果我考试的时候打的是正解的话,可能好久都调不出来,而且根据后来调试的过程,很有可能WA 0

rp++

csp-s m 80 题解的更多相关文章

  1. 51Nod--1010 只包含235的数

    51Nod: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1010 1010 只包含因子2 3 5的数 基准时间限制:1 ...

  2. 【bzoj4720】[NOIP2016]换教室

    题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程.在可以选择的课程中,有2n节课程安排在n个时间段上.在第i(1≤i≤n)个时间段上,两节内容相同的课程同时在不同的 ...

  3. hdu不要62

    Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来, ...

  4. Matrix(多线程dp)

    Matrix Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  5. 【XSY2668】排列统计 DP

    题目描述 给你一个长度为\(n\)的排列\(a\),每次要选择两个数,交换这两个数(这两个数可以相同).总共要交换\(k\)次. 最后要统计数列中有多少位置\(i\)满足\(\max_{j\leq i ...

  6. HDU 2089 - 不要62 - [数位DP][入门题]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 Time Limit: 1000/1000 MS (Java/Others) Memory Li ...

  7. hdu 5666 Segment 俄罗斯乘法或者套大数板子

    Segment Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Problem ...

  8. 【uoj#310】[UNR #2]黎明前的巧克力 FWT

    题目描述 给出 $n$ 个数,从中选出两个互不相交的集合,使得第一个集合与第二个集合内的数的异或和相等.求总方案数. 输入 第一行一个正整数 $n$ ,表示巧克力的个数.第二行 $n$ 个整数 $a_ ...

  9. [您有新的未分配科技点]数位dp:从懵X到板子(例题:HDU2089 不要62)

    数位dp主要用来处理一系列需要数数的问题,一般套路为“求[l,r]区间内满足要求的数/数位的个数” 要求五花八门……比如“不出现某个数字序列”,“某种数的出现次数”等等…… 面对这种数数题,暴力的想法 ...

随机推荐

  1. Vue中使用key的作用

    key的作用是为了在diff算法执行时更快的找到对应的节点,提高diff速度 key具有唯一性 vue中循环需加 :key=“唯一标识” ,唯一标识可以使item里面id index 等,因为vue组 ...

  2. SQL提高查询效率的几点建议

    1.如果要用子查询,那就用EXISTS替代IN.用NOT EXISTS替代NOT IN.因为EXISTS引入的子查询只是测试是否存在符合子查询中指定条件的行,效率较高.无论在哪种情况下,NOT IN都 ...

  3. python编程基础之三十八

    正则表达式:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑. 需要引入内置模块r ...

  4. HashTable、Dictionary、ConcurrentDictionary三者区别

    转载自https://blog.csdn.net/yinghuolsx/article/details/72952857 1.HashTable HashTable表示键/值对的集合.在.NET Fr ...

  5. jQuery v1.10.2如何判断checkbox(复选框)是否被选中

    做项目时,我们经常会用到jquery来做一些判断,今天自己遇上判断复选框是否选中,然后搜索查看,发现现在网上的都是错误的,下面罗列错误的: 1.$("#id").attr(&quo ...

  6. Ubuntu安装NASM和简单的使用教程

    1. 安装 sudo apt-get install nasm 这样nasm就安装好了,终端输入命令: nasm -version 输出版本信息就说明安装成功 2. 使用 创建"hello. ...

  7. [NOIp2011] luogu P1313 计算系数

    继续水博客,待会回去上术学. 题目描述 给定一个多项式 (by+ax)k(by+ax)^k(by+ax)k ,请求出多项式展开后 xn×ymx^n \times y^mxn×ym 项的系数. Solu ...

  8. 关于Mapper.xml生效的问题

    昨天在新建Springboot启动后,发现执行相关的SQL报错,具体报错信息如下: org.apache.ibatis.binding.BindingException: Invalid bound ...

  9. .NET Core3.0创建Worker Services

    .NET CORE 3.0新增了Worker Services的新项目模板,可以编写长时间运行的后台服务,并且能轻松的部署成windows服务或linux守护程序.如果安装的vs2019是中文版本,W ...

  10. 利用python模拟菜刀反弹shell绕过限制

    有的时候我们在获取到目标电脑时候如果对方电脑又python 编译环境时可以利用python 反弹shell 主要用到python os库和sokect库 这里的服务端在目标机上运行 from sock ...