Loading

04 2021 档案

摘要:CF1514D-Cut and Stick #####题意 给定一个长度为$n$的序列$(n≤310^5)$,可以对其进行三种操作: 1.把一段区间片段中所有的数从原来的区间里剪下来 2.把这些数按照在原来序列里的排列顺序重新拼接成序列 3.最后形成一个或者多个片段的序列,使最开始的序列中每一个数都 阅读全文
posted @ 2021-04-20 22:06 14long 阅读(110) 评论(0) 推荐(0)
摘要:1262-间谍网络-tarjan 有一些间谍可以被一定金钱收买,控制一个间谍就可以控制它掌握的所有间谍,以此递推下去。求最少用多少钱就可以控制所有间谍。如果不能输出-1。 首先从可以被掌控的间谍那里开始dfs,判断能不能覆盖所有点。若不能输出-1结束。 考虑没有环的情况,入度为0的间谍一定需要被收买 阅读全文
posted @ 2021-04-16 11:53 14long 阅读(83) 评论(0) 推荐(0)
摘要:CF786B-Lagacy 线段树优化最短路建边模版。 要同时建立两棵线段树,由于是动态开点线段树,可以只开一个tr结构体数组。一个线段树由区间(顶部)向下建边,另一个反过来建边,这样可以保证初始的时候节点之间两两不能互相到达。 动态开点要从n+1开始开点,最底部的节点仍然对应原来节点的编号,这样便 阅读全文
posted @ 2021-04-15 11:40 14long 阅读(115) 评论(0) 推荐(0)
摘要:CF1009E-被成功卡空间有感 垃圾回收就是个垃圾(( 根据某些帖子的说法好像可以利用压缩trie把空间压到线性,但是起码我写的垃圾回收还是卡不过去(不知道是写错了还是怎么回事,空间跟不开内存池并无太大区别...),对于test131的数据(一条1e6长的链),洛谷关于此题的所有线段树合并的题解好 阅读全文
posted @ 2021-04-08 11:08 14long 阅读(58) 评论(0) 推荐(0)
摘要:3801-红色的幻想乡 考虑到二维线段树没法处理1e5^2的数据,把它压成一维的。 对于任意一次喷出喷雾,可以看成对横向的一条线段和竖向的一条线段都染上色,再考虑横竖相交的情况,如果把原来喷吐喷雾的位置看成两条线段相交,可以所有横竖相交的点的数量就是横向线段的数量和竖线的数量乘积。同时由于可能有多次 阅读全文
posted @ 2021-04-05 00:11 14long 阅读(74) 评论(0) 推荐(0)
摘要:1450-HAOI硬币购物 考虑不记d[i]限制的情况,其实就是裸的完全背包。 \[ dp[i]=∑dp[i-k*c[i]] \] 完全背包的优化: \[ dp[i]+=dp[i-c[i]] \] 对于四种硬币跑四轮即可。时间复杂度O(4e5) 然后考虑容斥定理,dp[i]表示凑到i元的全部可能情况 阅读全文
posted @ 2021-04-02 22:27 14long 阅读(129) 评论(0) 推荐(0)
摘要:2590-树的统计 无语。。开读入优化结果读入炸了。。。 看起来是时候换成快读了... 本题也是一个树链剖分模版,维护树上的单点修改和区间最值,区间和的查询。 注意有负值,在初始化比较数的时候要设成-inf。 树链剖分实际上就是一遍dfs跑出所有点的深度,父节点,子树size,重链子节点这些基本信息 阅读全文
posted @ 2021-04-01 21:20 14long 阅读(56) 评论(0) 推荐(0)
摘要:3177-树上染色 dp状态方程比较难想。 不如先写三维的dp dp[i][j][k]表示以j为根节点,已经遍历到第i个子节点,有k个节点染成黑色的时候该子树对结果作出的贡献。 \[ dp[now][fath][k]=max(dp[last][fath][k-p]+dp[all][son][p]+v 阅读全文
posted @ 2021-04-01 16:32 14long 阅读(67) 评论(0) 推荐(0)
摘要:4516-JSOI潜入行动 极其毒瘤的树dp。。 空间卡的死死的,导致LL精度问题。 思路也很难想,实现起来还有很多意想不到的坑点。。 树形dp枚举边界一旦写错复杂度会假... 另需要开一个临时数组存储当前节点根据已经遍历的子节点更新之后的dp值,DP的时候前面的状态不能保留,要开一个临时数组g更新 阅读全文
posted @ 2021-04-01 13:25 14long 阅读(76) 评论(0) 推荐(0)