![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
信息竞赛题目题解(题目网站:洛谷)
SNiFe_Blog
但行好事,莫问前程
展开
-
题解 P2321 【[HNOI2006]潘多拉的宝盒】
#我居然是第一个坐这道题的最关键的一步也是第一步:读懂题!!!!!!!题目大意:有s个咒语机,每个咒语机出度为2,字符串后加0指向一个元件,加1指向一个元件,直到找到一个输出元,算是一种方案;当A咒语机的所有方案包含B咒语机的所有方案时,那么A咒语机是B咒语机的升级。求:最长升级序列的长度。(我读了40分钟才读懂,语文不好)#做法:我一开始是没有思路的,感觉像搜索,看了网上很多代码都是T...原创 2020-02-07 21:00:26 · 746 阅读 · 0 评论 -
题解 P2704 【炮兵阵地】
这道题和P1879 [USACO06NOV]玉米田Corn Fields有类似的地方,但这道题可以看为那道题的升级版,所以我建议没做过玉米田的可以先做一下玉米田和P1896 [SCOI2005]互不侵犯King。1.解此题的关键在于要知道第i行的状态是由前两行的状态决定的,所以要预处理出第一行和第二行的所有状态,然后从第三行(因为第一二行已处理)开始枚举,同时枚举第当前行的前一行和上上行。2...原创 2020-02-07 20:59:00 · 1751 阅读 · 0 评论 -
题解 P1855 【榨取kkksc03】
尽管说这是站长大人出的题,但确实很简单。->_->这就是一个二维背包费用问题,用dp[i][j]表示当钱为i,时间为j时能最大满足愿望数量;那么状态转移方程为:dp[j][k]=max(dp[j][k],dp[j-mon[i]][k-tim[i]]+1);CODE#include<iostream>#include<cstdio>#include&l...原创 2020-02-07 20:57:51 · 727 阅读 · 0 评论 -
题解 P2184 【贪婪大陆】
我看见没有C++的线段树写法,所以来发一波题解。这是一个代码简单的线段树,但其实不是很容易想到这种思路。线段树要维护两个东西,一个suml(起点),sumr(终点);插入:插入的时候只需要在起点和终点sum++(区间维护,实际是点修改),如图:查询:查询x ~ y区间的时候需要用1~ y点的suml - 1 ~ x点的sumr;为什么这样查询呢?大家仔细想想,用笔画画,这是个区间覆...原创 2020-02-07 20:57:00 · 734 阅读 · 0 评论 -
题解 P1637 【三元上升子序列】
这道题我也不知道怎么了,改着改着就AC了。。。。。。(然而自己看不懂自己的代码)但在我仔细思考后就想通了^ _ ^ 233。不是有三个数吗,那就吧当前枚举的数当做三个数中的第二个,先找比它小的数有几个,再找比它大的数有几个,分别用mi[ ]和ma [ ]记录下来,最终答案就是ans+=mi[i]*ma[i];由此,我们想到了用树状数组求比它大和比它小的数有多少个——即逆序队。先由小到大排...原创 2020-02-07 20:55:32 · 710 阅读 · 0 评论 -
题解 P1801 【黑匣子_NOI导刊2010提高(06)】
这道题其实就是个splay裸题,而且只用写insert,findx,clear,update,rotate,splay这几个函数,加起来不到100行代码。思路很简单,for(lef->u[i])insert(a[++lef])。然后查找排名为i的就好了。CODE#include<iostream>#include<cstdio>#include<alg...原创 2020-02-07 20:53:35 · 456 阅读 · 0 评论 -
题解 P1175 【表达式的转换】
这道题太坑了!!!!!!!!!!!!!请30分的注意,有’^'符号orz这道题我用的是dfs模拟栈,和楼下各位dalao有所不同,在dfs之前要预处理出‘)'的位置。然后一个for循环就可以计算加写步骤了,只要后缀表达式写出来了,后面的就很简单了。还有要注意的是,’^'比其他符号优先,’*‘ ’/‘比’+‘ ’-‘优先,如果用DFS模拟栈的话是不用在符号上特殊考虑括号的优先级别的。后缀表达...原创 2020-02-07 20:52:56 · 666 阅读 · 0 评论 -
题解 P1831 【杠杆数】
此题是数位DP,没学过数位DP的,这可以是一道很经典的入门题目1. 本题是一道数位DP,首先我们可以只考虑设计算法求[1,x]这个区间内符合条件的数的个数即可。因为[x,y]这个区间内的个数实际上是[1,y]区间内的个数减去[1,x-1]区间内的个数。(注意要把0特殊出来考虑)2. 之后我们可以枚举支点的位置,对于每个满足条件的数,它所对应的支点是唯一的,原因是如果将支点右移,左边减去右边的差...原创 2020-02-07 20:52:01 · 592 阅读 · 0 评论 -
题解 P2515 【[HAOI2010]软件安装】
下面的题解说得很好了,但是有一点非常重要且容易忽视!!见图的时候是从Di向i建一条有向边,,重新建图的时候是从color[d[i]]向color[i]建边。原因:因为i依赖Di,所以dfs时,应先安装了(即遍历了)Di才能安装i,重新建图后一样。代码(重新建图时和其他题解稍有区别):#include<iostream>#include<cstdio>#inclu...原创 2020-02-07 20:51:03 · 498 阅读 · 0 评论 -
题解 P2572 【[SCOI2010]序列操作】
搬迁洛谷博客至此搬迁洛谷博客至此搬迁洛谷博客至此重要的事情说三遍这道题太坑了,我做了加起来一天才AC,找错找过来找过去,发现是pushup()错了(泪奔,最开始我信誓旦旦的说pushup()没错,结果就pushup()最多)这道题难度中规中矩,就是细节处理非常多,错一点就要找很久。怎么做?首先看题,有2种修改(3个),2个询问,最开始我开了两个lazy标记,但其实不用,那样反而更麻烦...原创 2020-02-07 20:48:35 · 689 阅读 · 0 评论