csp-s m 80 题解
写在前面:(扯淡话)
这次考试是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 题解的更多相关文章
- 51Nod--1010 只包含235的数
51Nod: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1010 1010 只包含因子2 3 5的数 基准时间限制:1 ...
- 【bzoj4720】[NOIP2016]换教室
题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程.在可以选择的课程中,有2n节课程安排在n个时间段上.在第i(1≤i≤n)个时间段上,两节内容相同的课程同时在不同的 ...
- hdu不要62
Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来, ...
- Matrix(多线程dp)
Matrix Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- 【XSY2668】排列统计 DP
题目描述 给你一个长度为\(n\)的排列\(a\),每次要选择两个数,交换这两个数(这两个数可以相同).总共要交换\(k\)次. 最后要统计数列中有多少位置\(i\)满足\(\max_{j\leq i ...
- HDU 2089 - 不要62 - [数位DP][入门题]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 Time Limit: 1000/1000 MS (Java/Others) Memory Li ...
- hdu 5666 Segment 俄罗斯乘法或者套大数板子
Segment Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem ...
- 【uoj#310】[UNR #2]黎明前的巧克力 FWT
题目描述 给出 $n$ 个数,从中选出两个互不相交的集合,使得第一个集合与第二个集合内的数的异或和相等.求总方案数. 输入 第一行一个正整数 $n$ ,表示巧克力的个数.第二行 $n$ 个整数 $a_ ...
- [您有新的未分配科技点]数位dp:从懵X到板子(例题:HDU2089 不要62)
数位dp主要用来处理一系列需要数数的问题,一般套路为“求[l,r]区间内满足要求的数/数位的个数” 要求五花八门……比如“不出现某个数字序列”,“某种数的出现次数”等等…… 面对这种数数题,暴力的想法 ...
随机推荐
- 1.Eclipse下载、常用配置、快捷键
Eclipse官网下载:https://www.eclipse.org/downloads/packages/ 自动补全 位置:Eclipse——Window——Perferences——Java—— ...
- 最长上升子序列 LIS nlogn
给出一个 1 ∼ n (n ≤ 10^5) 的排列 P 求其最长上升子序列长度 Input 第一行一个正整数n,表示序列中整数个数: 第二行是空格隔开的n个整数组成的序列. Output 最长上升子序 ...
- 阿里terway源码分析
背景 随着公司业务的发展,底层容器环境也需要在各个区域部署,实现多云架构, 使用各个云厂商提供的CNI插件是k8s多云环境下网络架构的一种高效的解法.我们在阿里云的方案中,便用到了阿里云提供的CNI插 ...
- Windows系统调用中API的3环部分(依据分析重写ReadProcessMemory函数)
Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html Windows系统调用中API的3环部分 一.R3环API分析的重 ...
- cobalt strike笔记-常用beacon扫盲
最近还是重新补一下cs的东西 0x01 Beacon命令 Beacon Commands =============== Command Description ------- ----------- ...
- WPF使用border画框
以前的界面中使用的框大都是由美工做好的,但是这样就遇到几个问题: 框只是换一个颜色,就需要多做出一张图,资源包中也要多一个图片资源: 文字的数量会改变,用一张固定的图进行拉伸,边角处会变得越来越不尽如 ...
- 如何在CentOS6.4系统上安装KVM虚拟机
CentOS6.4系统上安装KVM虚拟机 备注:以下操作说明是经过实验验证后总结出来的笔录,有需要的朋友可以进行参考,以下是基于VMware12.5.2虚拟机版本上安装的实验环境. 一.安装KVM ...
- 把图片在word中显示
如下: //放入word中 #region word ThreadPool.QueueUserWorkItem(//使用线程池 (P_temp) =>//使用lambda表达式 { G_wa = ...
- centos7将python默认版本升级
想用centos7来写python,但是默认安装的是python2.7(python -v命令可以查看版本信息) 准备升级到python3.5.2 首先安装编译环境 yum -y install gc ...
- 两种unity双击事件
有时候需要用到双击事件,而unity未提供双击控件,在此提供两种双击事件方法,进攻参考: 1)此方法为通过unityevent来实现 首先新建image(或其他不带点击事件的控件),添加如下脚本,然后 ...