4386: [POI2015]Wycieczki Description 给定一张n个点m条边的带权有向图,每条边的边权只可能是1,2,3中的一种。将所有可能的路径按路径长度排序,请输出第k小的路径的长度,注意路径不一定是简单路径,即可以重复走同一个点。 给定一张n个点m条边的带权有向图,每条边的边 ...
分类:
其他好文 时间:
2016-08-11 08:33:31
阅读次数:
208
bzoj4384[POI2015]Trzy wie?e 题意: 给定一个长度为n的仅包含'B'、'C'、'S'三种字符的字符串,请找到最长的一段连续子串,使得这一段要么只有一种字符,要么有多种字符,但是没有任意两种字符出现次数相同。 题解: 恶心的树状数组题。首先先求出只有一种字符的最长字串。然后预 ...
分类:
其他好文 时间:
2016-07-30 13:30:39
阅读次数:
200
4385: [POI2015]Wilcze do?y Description 给定一个长度为n的序列,你有一次机会选中一段连续的长度不超过d的区间,将里面所有数字全部修改为0。请找到最长的一段连续区间,使得该区间内所有数字之和不超过p。 给定一个长度为n的序列,你有一次机会选中一段连续的长度不超过d ...
分类:
其他好文 时间:
2016-07-01 21:33:34
阅读次数:
226
【题目链接】
看到数据范围以为是O(n)做法,再看看status似乎带了个log?然后去搜题解,没想到是线段树= =。
题解:
设pre[i]表示与i这个位置上的数相等的前一个数的下标。
用线段树维护答案。
枚举右端点,每次加入一个数,那么pre[i] + 1到i这段位置的答案加上这个数的权值,pre[pre[i]] + 1到pre[i]这段位置的答案减去这个数的权值,然...
分类:
其他好文 时间:
2016-05-12 22:10:19
阅读次数:
122
【题目链接】
题解:
如果区间[j, i]固定,那么一定是将权值最大的一段变为0。
用单调队列维护一段区间内权值最大的子段下标(这里记录右端点下标,设为x),枚举右端点i,用尺取法计算出j。
一段区间[j, i]合法的条件是sum[i] - sum[j - 1] - (sum[x] - sum[x - d])
复杂度:
时间复杂度:因为每个点最多遍历2次,复杂度为O(n)...
分类:
其他好文 时间:
2016-05-12 22:08:36
阅读次数:
238
【题目链接】
题解:
首先得有一个结论:设个数大于s的数字有k个(如果k大于c,显然是TAK。这里讨论k 数字和不小于(c - k) * s,那么一定有解。
并不会证明...
用树状数组记录一下数字的个数以及数字的数字和,然后判断就可以了。
复杂度:
时间复杂度:O(mlogm),空间复杂度:O(m)。
1A。
GET:
结论题...
/* Te...
分类:
编程语言 时间:
2016-05-12 20:38:53
阅读次数:
213
题目大意:把一个长度为n的一串项链切两刀,把项链断成两条链。要求每种颜色的珠子只能出现在其中一条链中。求方案数量以及切成的两段长度之差绝对值的最小值。
挺神的一道题,首先我们可以随便画一个项链玩一玩
然后我们尝试对于每种颜色给每个分隔点标一个号,标号方式是让对于该种颜色没被分开的分隔点标上同一个号,被分开的标上不同的号,就像下图
然后我们惊奇地发现,假如两个分隔点对于所有颜色...
分类:
其他好文 时间:
2016-05-12 17:35:25
阅读次数:
175
题目大意:给定一个长度为n的序列,你有一次机会选中一段连续的长度不超过d的区间,将里面所有数字全部修改为0。请找到最长的一段连续区间,使得该区间内所有数字之和不超过p。
长度肯定为d啊,不用想!
那就先算出以每个长度为d的总和g
然后就相当于维护一个队列,每次在后面新加入一个数的时候,查询在这段区间内最大的g,看这些数总和减去这个最大值是否小于等于p,如果不是就说明太长了,得删掉队头
这样...
分类:
其他好文 时间:
2016-05-12 17:03:20
阅读次数:
141
题目大意:要选一段最长的字符串,使得三种字符出现次数各不相同或只有一种
只有一种的直接就能扫出来,然后就想各不相同的
首先维护一个前缀和,代表到每个点时,前缀B,C,S的个数
然后令xi=bi-ci,yi=ci-si,zi=si-bi,每个点权值为自己的位置
如果两个点的xi,yi,zi均不相同,这一段就可以选
所以可以先按x排序,这样就干掉一维
然后我们设x相同的为一组,首先我们把包...
分类:
其他好文 时间:
2016-05-12 16:42:46
阅读次数:
331
题目大意:给定一张n个点m条边的带权有向图,每条边的边权只可能是1,2,3中的一种,输出k段路径,没有输出-1
一眼矩阵乘法嘛,弱智题O((3*N)^3*log(INF)*log(K))
然后手贱搜了一下题解,把我惊到了...
首先这个时间复杂度是过不了的,也就是说不能二分然后快速幂直接判
应该先预处理出来所有2的k次幂,然后就像LCA一样,这样可以一个log搞出来
其次是........
分类:
其他好文 时间:
2016-05-12 16:38:42
阅读次数:
280