摘要: ###思路 这道题明面上是道紫题,但是洛谷的P4145是和GSS4完全相同的一道题,而P4145是蓝题(众所周知洛谷的评分不太准)。 这道题除了一个区间对每个数开方的操作,其他都与线段树模板无异。那么如何实现区间对每个数开方的操作呢? 很显然,直接想是很难想出来的,而事实上这道题也没有什么可以用的特 阅读全文
posted @ 2020-07-28 10:02 Shadow_hyc 阅读(112) 评论(0) 推荐(0)
摘要: ###思路 //由于GSS3和GSS1几乎一毛一样,所以我就把GSS1的题解稍微改了一下就好了。 首先说明一下这道题的重难点。这道题由于只有一个单点赋值的操作,并要求我们求区间最大子段和,这个东西显然很不好维护(单点赋值很好做)。要维护它,我们先要看一下在查询和建树过程中 可能遇到的情况。 一、该区 阅读全文
posted @ 2020-07-28 09:51 Shadow_hyc 阅读(92) 评论(0) 推荐(0)
摘要: ###思路 首先说明一下这道题的重难点。这道题由于没有更新操作,所以我们就省去了update和维护lazytag的麻烦,但是不要高兴的太早。这道题要求我们求区间最大子段和,这个东西显然很不好维护。 要维护它,我们先要看一下在查询和建树过程中可能遇到的情况。 一、该区间的最大子段和完全被包括在它的左儿 阅读全文
posted @ 2020-07-28 09:40 Shadow_hyc 阅读(77) 评论(0) 推荐(0)
摘要: ###思路 一、30pts做法 这种做法简直简单到爆炸,$k==0$的情况只要跑最短路即可。 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<queu 阅读全文
posted @ 2020-07-28 09:30 Shadow_hyc 阅读(166) 评论(0) 推荐(0)
摘要: ###思路 这个题一看和入度扯上关系就是明显的topo了。 对于最优情况,直接维护小根堆,贪心即可。 对于最劣情况,显然直接维护大根堆然后贪心是错误的(反例见Luogu题解),所以每次要取出所有能拓展的节点,依次加入队列topo即可。这里注意当连到的点比当前最大值大时,压入大根堆, 否则加入队列。 阅读全文
posted @ 2020-07-28 08:50 Shadow_hyc 阅读(114) 评论(0) 推荐(0)
摘要: ###思路 对于这道题,为了好想,我们先考虑一下如果不考虑历史最大值应该怎么做。这样的话,我们需要做区间加和区间推平的操作。那么,做过线段树2的都知道,我们应该是需要两个tag来维护,分别是区 间累加和区间推平。那么对于这个题,我们怎么在pushdown的时候兼容这两个tag呢? 很显然,无论你先做 阅读全文
posted @ 2020-07-28 08:40 Shadow_hyc 阅读(165) 评论(0) 推荐(1)
摘要: ###思路 这个题一看到什么从入度为零的点到出度为零的点,很容易想到toposort。这个题就是最基本的toposort+DAG DP,没啥好说的…… 主要注意一定是遇到出度为0的点,一条食物链才能算是结束,才能够累加答案。 Code #include<iostream> #include<cstd 阅读全文
posted @ 2020-07-28 08:29 Shadow_hyc 阅读(114) 评论(0) 推荐(0)