09 2019 档案
摘要:T1: 我们不仅可以维护差分,还可以维护差分的差分,两次前缀和即可。 注意区间可能延伸到矩形之外,特判一下即可。 时间复杂度O(n2) T2: 可以状压DP或记忆化搜索。 记录状态为当前哪些小球被拿走了,然后逆推转移就行了。 但是小球的颜色只有两种,我们可以将状态定义重设为剩下小球的颜色。 这
阅读全文
摘要:T1: 考虑二分答案。 然后问题转化为:求平均数小于某值的区间个数。 设当前二分值为x,每个区间的平均数可以写成: \begin{array}{rl} (s[i]-s[j])/(i-j) &<& x \\ (s[i]-s[j]) &<& (i-j)*x \\ s[i]-i*x &<& s[j]-
阅读全文
摘要:题目描述: N个点M条边的无向图,询问保留图中编号在[l,r]的边的时候图中的联通块个数。 输入格式: 第一行四个整数N、M、K、type,代表点数、边数、询问数以及询问是否加密。 接下来M行,代表图中的每条边。 接下来K行,每行两个整数L、R代表一组询问。对于type=0的测试点,读入的L和R即为
阅读全文
摘要:题目描述: SC省MY市有着庞大的地下水管网络,嘟嘟是MY市的水管局长(就是管水管的啦),嘟嘟作为水管局长的工作就是:每天供水公司可能要将一定量的水从x处送往y处,嘟嘟需要为供水公司找到一条从A至B的水管的路径,接着通过信息化的控制中心通知路径上的水管进入准备送水状态,等到路径上每一条水管都准备好了
阅读全文
摘要:T1: 考虑什么时候增加高度对答案有贡献。 可以发现,当一个建筑物两侧的建筑高度均大于它时(边界除外),才会有贡献。 所以我们可以先暴力找出所有当前有贡献的区间,压入队列,一个一个处理。 尝试将一个区间内的建筑物增高,我们发现,对于每个建筑物,每次增加的代价是等差数列的形式。 将平方差分得到:1,3
阅读全文
摘要:T1: 题意: 求区间取模后的最大值。 题解: 我的思路有些清奇。 标算分块,预处理出每个块对于所有K取模后的最大值,然后分块暴力找即可。 时间复杂度O(N√NlnN) 我的思路是对于K分情况。 当K<=50时,用st表暴力找,开50是因为内存实在不够了。 对于其他情况,暴力搜索
阅读全文
摘要:T1: 题意: 给定两个字符串,可以改变任意K个字符,求出最长的公共子串。 题解: 暴力枚举两个串的起始位置,暴力匹配,失配字符超过K个时跳出即可。 时间复杂度O(N3) T2: 题意: 给一张无向图,求出不经过同一个点的长度为3的路径个数。 题解: 考虑容斥,先暴力DP所有方案,然后去除不合
阅读全文
摘要:T1: 题意: 有交替的N个黑白段,长度给定,一个人脚长S,步长K,可以从任意一点出发,问是否有一种方案,能够从第一个块之前走到最后一个块以后,并且脚不碰到任何一个黑色段。 题解: 我们可以将该问题在模意义下解决。 将每个黑色段的区间求出,左侧缩一的长度,右侧延伸脚长减一,这样将脚变成了一个点。 如
阅读全文
摘要:T1: 题意: 给定一个大小为N的集合,输出任意一种方案,使得子集中所有元素之和是N的倍数。 题解: 考虑前缀和,当前缀和在取模意义下相等时,就为一种答案。 我们发现0~N一共有N+1个前缀和,但只有0~N-1的N个取值,根据抽屉原理,至少有两个前缀和相同。 于是这题就解决了。 时间复杂度$O(N)
阅读全文