题意:
给定n长的序列 m个操作
序列默认为 1, 2, 3···n
操作1:D [l,r] 把[l,r]区间增长 :( 1,2,3,4 进行 D [1,3]变成 1,1,2,2,3,3,4 )
操作2:Q [l,r] 问区间[l,r] 上出现最多次数的数 的次数
线段树,维护每个区间的size 和叶子节点中最大的size
开始二分查找size的前缀和,逗了一场。。其实直接dfs就好了...
分类:
其他好文 时间:
2014-08-21 21:17:44
阅读次数:
345
开始以为是线段树,算了一下复杂度也觉得能过。。。但是这题貌似卡了线段树。。。具体做法: 对每一个塔,记录attack[l]+=d,attack[r+1]-=d;这样对于每个block,受到的伤害就是前缀和attack[1]+attack[2]+...+attack[i]; 从后往前遍历,计算从当.....
分类:
其他好文 时间:
2014-08-21 11:02:03
阅读次数:
163
思路: 因为是对称的,所以如果两段是对称的,那么一段的前缀和一定等于另一段的后缀和。根据这个性质,我们可以预处理出这个数列的对称点对。然后最后一个对称段是从哪里开始的,做n^2的DP就可以了。代码: 1 #include 2 #include 3 #include 4 #include ...
分类:
其他好文 时间:
2014-08-21 01:33:43
阅读次数:
230
题目链接:
传送门
思路:
这个是鸽笼原理的题目。。。看了一下这个原理,对此的理解是分为三点。。
c代表人的数目,n代表家庭的数目。。
【1】首先要求前缀和,然后对此取余,首先如果出现余数为0的情况,那么说明前n项就已经满足了条件,那么这就是其中的一组可行解。。。
【2】但是如果没有出现0呢??那么就看同余了。。如果在两个点处出现同余,说明什么??说明从上一个出现同余的后一个数到这...
分类:
其他好文 时间:
2014-08-20 12:35:22
阅读次数:
309
HDU 4960 Another OCD Patient
题目链接
记忆化搜索,由于每个碎片值都是正数,所以每个前缀和后缀都是递增的,就可以利用twopointer去找到每个相等的位置,然后下一个区间相当于一个子问题,用记忆化搜索即可,复杂度接近O(n^2)
代码:
#include
#include
#include
using namespace std;
co...
分类:
其他好文 时间:
2014-08-20 00:06:45
阅读次数:
196
UVA 1519 - Dictionary Size
题目链接
题意:有一个字典,里面包含一些词,要求组合新词,新词必须来自原字典,或者由原字典的字符串的非空前缀和非空后缀组成,问一共能组成多少个新词
思路:建Trie树,可以求出不同的前缀和后缀个数,然后相乘,这样做会有一部分重复的
比如Aaaa,aaaA的情况,就重复了,去重的方法可以推理出来
假设前缀A后面有x个a,后缀...
分类:
其他好文 时间:
2014-08-19 01:00:53
阅读次数:
207
一、Python用下划线作为变量前缀和后缀指定特殊变量1. 单下划线开头: _xxx:弱“内部使用”标识,如:”from Module import *”,将不导入所有以下划线开头的对象,包括包、模块、成员2. 双下划线开头: __xxx:模块内的私有成员,外部无法直接调用。 即:私有类型的变...
分类:
编程语言 时间:
2014-08-15 14:14:38
阅读次数:
380
uvaLive5913:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3924题意:给你n个串,然后你可以用串的非空前缀和非空后缀组成新的单...
分类:
其他好文 时间:
2014-08-14 16:38:18
阅读次数:
244
求最大的k 使得 m^k 能被n!整除
m^k就是让m的每个质因子个数增加了k倍,只要求得n!的质因子能让m增加多少倍就够了。当然这里要取增加倍数最少的。
木桶装水的量取决于最短的木板。
预处理2-n每个数的质因子情况,由于n有10000,前10000个素数有1000+个,所以维护前缀和不划算。
case只有500 所以干脆每次都算一遍。
#include
#include
#inc...
分类:
其他好文 时间:
2014-08-13 18:59:37
阅读次数:
183
临洮巨人排序题意:在字符串中找出 A、B、C 三个字母出现次数相同的区间个数。初步的解法是前缀和,用 a(i), b(i), c(i) 表示在位置 i 之前(包括 i)各有 字母 A、B、C 多少个,枚举区间的左右端点 l 和r,若a(r)-a(l-1) = b(r)-b(l-1) = c(r)-c...
分类:
其他好文 时间:
2014-08-13 14:34:06
阅读次数:
264