分析可知,最优的x应该在区间中的数排列后最中间的地方选择。由于区间的数个数有奇偶之分,于是当奇数个时,就是中位数了。偶数个时,就是排列后中间两数区间的任意一个。可以应用划分树求得前半部分,树状数组统计。#include #include #include #include #define LL __...
分类:
其他好文 时间:
2015-04-09 21:46:50
阅读次数:
140
题目大意:给定一个序列,每个元素是一个二元组,等概率选择一LIS,求LIS长度以及每个元素被选中的概率
第一问CDQ分治裸上
第二问用每个元素所在的LIS个数/总LIS个数就是答案
每个元素所在的LIS自己必选,然后统计前面的方案数和后面的方案数
以前面的方案数为例,令f[x]为以x结尾的LIS长度,那么有DP方程:
g[i]=Σg[j] (f[j]+1=f[i],j
将所有元素按f值...
分类:
编程语言 时间:
2015-04-09 20:01:41
阅读次数:
152
先来说说‘树’(摘录自维基百科):在计算机科学中,树(英语:tree)是一种抽象资料型别(ADT)或是实作这种抽象资料型别的数据结构,用来模拟具树状结构性质的资料集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的...
分类:
其他好文 时间:
2015-04-09 10:30:02
阅读次数:
122
题意:给你一串序列,不断的将一个数 取出来放在最前面,不断的询问 rank位 和 数的rank,解题思路:1)线段树 + 树状数组(需要离散化)2)Splay ,我把抽出来的建树,所以不是那么方便,可以离散化直接建树,这样会方便一点。解题代码: 1 // File Name: hdu3436.pb....
分类:
其他好文 时间:
2015-04-09 10:26:15
阅读次数:
213
敌兵布阵
http://acm.hdu.edu.cn/showproblem.php?pid=1166
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 51862 Accepted Submission(s): 21695...
分类:
编程语言 时间:
2015-04-09 08:59:33
阅读次数:
194
题目链接:codeforces 220B题意分析:有n个数,m次询问,一开始给你这n个数ai,每一次询问的时候给你一个区间,求这个区间里面满足“数值为x,出现了x次”的条件的数有几个!(1?≤?n,?m?≤?100000) 从题述上看,这题的难点应该是区间的频繁访问,于是可以想到线段树或者树状数组解题思路:
即便是线段树或者树状数组这种高端数据结构,有时候也是需要一些辅助算法的,在这道题里面,辅助...
分类:
编程语言 时间:
2015-04-08 11:05:31
阅读次数:
172
n 个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。
每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。
如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的不高兴程度增加2(即不高兴程度为3),依次类推。当要求某个小朋友第k次交换时,他的不高兴程度增加k。
请问,要让所有小朋友按从低到高排队,他们的不高兴程度之和最小是多少。
如果有两个小朋友身高一样,则他们谁站在谁前面是没有关系的...
分类:
编程语言 时间:
2015-04-07 21:46:01
阅读次数:
157
Manacher算法/DP 找出所有的回文串,看做是一个个线段,那么问题就转化成了用最少的线段将整个区间覆盖起来,可以重叠,那么这就是一个DP了= = Orz ZKY大爷,让蒟蒻开眼界了……头一次知道原来树状数组还可以反过来用0.0 1 /****************************.....
分类:
其他好文 时间:
2015-04-07 17:24:19
阅读次数:
145
树状数组和线段树的解法比较,感觉不论在内存还是时间上都是树状数组占优
大题思路对 v从小到大进行排序,之后找之前的(也就是比v小的坐标)
v * sum(abs(xi - x)) 这样的话 abs无法处理,我们用另外一个树状数组记录在x ~ y区间牛的个数,之前那个记录在x ~ y区间内牛的坐标和
Accepted
484
79
C++
1...
分类:
编程语言 时间:
2015-04-07 13:49:58
阅读次数:
169
在最近的项目中,接触到了一部分测试的工作。
包括测试用例的编写和具体的测试工作。
也从中学到了一些东西,记录下来,以供以后复习。
主要是思维模式的转变
首先,写测试用例最重要的一件事,是如何覆盖到全部功能和全部可能操作。
要有一种树状思维,大块是什么,延伸下来的小块是什么,各种操作都有什么,要列清楚。以一个点为中心进行辐射。
其次,展现方式也很重要,这么庞大的可能性,用什么方式...
分类:
其他好文 时间:
2015-04-07 12:06:58
阅读次数:
102