写在前面:(扯淡话)

这次考试是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. 洛谷 P2145 [JSOI2007]祖码

    题目描述 这是一个流行在Jsoi的游戏,名称为祖玛. 精致细腻的背景,外加神秘的印加音乐衬托,彷佛置身在古老的国度里面,进行一个神秘的游戏——这就是著名的祖玛游戏.祖玛游戏的主角是一只石青蛙,石青蛙会 ...

  2. 【C语言笔记】#define与typedef的区别

    1.#define define是预处理指令,在编译时不进行任何检查,只进行简单的替换 宏定义的一般形式为: #define 宏名 字符串 这里所说的字符串是一般意义上的字符序列,不要和C语言中的字符 ...

  3. C、C++的Makefile模板

    目录 Makefile模板 用法 编译C程序 编译C++程序 其他 Tips Makefile模板 CC = gcc LD = $(CC) TARGET = $(notdir $(CURDIR)) S ...

  4. JSON:JSON对象和JSON数组混排的复杂字符串

    在java中的一个好用的JSON工具包:net.sf.json.JSONObject 和 net.sf.json.JSONArray 一 解析JSON对象和JSON数组类型混排的复杂字符串 举个例子: ...

  5. MySQL 数据库的设计规范

    网址 :http://blog.csdn.net/yjjm1990/article/details/7525811 1.文档的建立日期.所属的单位.2.数据库的命名规范.视图.3.命名的规范:1)避免 ...

  6. node.js当中的http模块与url模块的简单介绍

    一.http模块的简单介绍 node.js当中的http内置模块可以用于创建http服务器与http客户端. 1.引包 const http = require('http'); 2.创建http服务 ...

  7. 基于华为物联网IOT的应用开发 --- 基于.net 的SDK封装

    最近,物联网的概念比较热门,一大批厂商抢着占领物联网的高低,包括有华为物联网.阿里云物联网.腾讯物联网.AWS物联网等等,无法一一列举,一般物联网包含设备侧开发.平台侧开发.应用侧开发,三个部分构成了 ...

  8. python学习-语言概述(一)

    1.python的特点 python是一种面向对象.解释型.弱类型的脚本语言,它也是一种功能强大而完善的通用型语言. 解释性语言的特点:速度慢:源代码加密困难:跨平台:

  9. python学习-异常处理之捕获异常与抛出异常(七)

    捕获异常 python完整的异常处理语法结构如下: 特别说明: 1.try块是必需的,except块和finally,当try块没有出现异常时,程序会执行else块 2.try块后只有一个except ...

  10. linux+jenkins+github+python持续集成

    1.服务器上事先安装jenkins   参见:linux上war包方式安装Jenkins 2.新建一个自由风格的job,名字随意起 3.配置git(拉取github代码) 从github复制pytho ...