题目链接 :http://acm.hdu.edu.cn/showproblem.php?pid=4908
题目大意:给出一个排列,一个m,求出这个排列的连续子序列中有多少个序列式以m为中位数。
由于是一个排列,不会出现重复的数字,记录一下m的位置index,然后以index为分界线,往左求出s[i](表示从i到index之间有多少大于m),b[i](表示从i到index之间有多少小于m),往右...
分类:
其他好文 时间:
2014-08-04 11:13:37
阅读次数:
258
题目大意:
给定一个可能含‘?’的字符串。然后问这个字符串有多少个子串是含有所有的字符都只出现两次。
其中'?' 可以被替换成任意字符,也可以被remove...
思路分析:
这是bestcoder的round #3的第三题。
这道题的做法和 4908 的做法差不多。
我们把 ‘?’ 左右两边的状态分别处理出来。
然后用map 计数。然后枚举左边的状态。同时枚举? 对应的字符...
分类:
其他好文 时间:
2014-08-04 11:12:17
阅读次数:
233
Task schedule
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768
K (Java/Others)
...
分类:
其他好文 时间:
2014-08-04 11:10:37
阅读次数:
255
A.预处理出来,0(1)输出。
Task schedule
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 387 Accepted Submission(s): 193
Problem Descript...
分类:
其他好文 时间:
2014-08-04 11:07:27
阅读次数:
326
题目意思是 再给出的全排列(1~n每个数字只出现一次)中,找到一个奇数个的子串,要求子串的中位数(大小排序后正中间的数), 为M;
求这种子串有多少.
首先要把M这个数左边的串预处理下, 如果 遇到大于M的数ji++,然后记录在data[当前位置的奇偶][当前记录的ji] ,如果当前位置的数小于M的数,ji--; 因为ji记录在数组里,所以ji 要价格50000 以保证不会出现负数的情况.
然后再处理右边的串,ji 重新计数,
ans+data[位置奇偶, 如果两个位置奇偶相同,代表这条串有奇数个元...
分类:
其他好文 时间:
2014-08-04 11:05:17
阅读次数:
238
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4907代码: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include...
分类:
其他好文 时间:
2014-08-04 10:42:47
阅读次数:
237
hdu4908:http://acm.hdu.edu.cn/showproblem.php?pid=4908题意::给定一个序列,1-n的数字,选定一个作为中位数m,要求有多少连续子序列满足中位数是m题解;自己不会做,然后别人给了一个O(n)的算法,瞬间吓cry。这个算法不好解释,还是看看代码,然后...
分类:
其他好文 时间:
2014-08-04 10:42:07
阅读次数:
190
题目链接:hdu 4908 BestCoder Sequence
题目大意:给定N和M,N为序列的长度,由1~N组成,求有多少连续的子序列以M为中位数,长度为奇数。
解题思路:v[i]记录的是从1~i这些位置上有多少个数大于M,i-v[i]就是小于M的个数。pos为M在序列中的位置。如果有等式i?j=2?(v[i]?v[j?1]),i≥pos≥j,那么i和j既是一组满足的情况。将等式变...
分类:
其他好文 时间:
2014-08-04 02:07:26
阅读次数:
258