题目大意:给定一个序列,多次询问某个区间中所有数字出现次数的平方和
莫队算法 不解释
#include
#include
#include
#include
#include
#define M 50500
using namespace std;
struct query{
int l,r,pos;
bool operator < (const query &Y) ...
分类:
编程语言 时间:
2014-11-27 18:30:36
阅读次数:
197
题目大意:一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数字i在[L..R]中的重复次数。
思路:莫队走起。
CODE:
#include
#include
#include
#include
#include
#define MAX 50010
using namespace std;
...
分类:
编程语言 时间:
2014-11-27 18:28:39
阅读次数:
205
题目描述
相信大家一定都知道大名鼎鼎的ASCII码,这次给你的任务是输入数字(表示ASCII码),输出相对应的字符信息。
输入格式
第一行为一个整数T(1
接下来包括T个正整数,由空白符分割。(空白符包括空格、换行、制表符)
这些整数不会小于32。
输出
在一行内输出相应的字符信息。(注意不要输出任何多余的字符)
样例输入
13
72 101 1...
分类:
编程语言 时间:
2014-11-22 09:18:31
阅读次数:
285
题目大意:给定一个序列,求一个区间内有多少个不同的数
正解是树状数组 将所有区间按照左端点排序 然后每次只统计左端点开始的每种颜色的第一个数就行了 用树状数组维护
我写的是莫队算法 莫队明显能搞 m√m明显慢了点但是还是能接受的一个复杂度
一开始离散化数组开小了各种秒RE…… 跪了
#include
#include
#include
#include
#include
#define M...
分类:
编程语言 时间:
2014-11-19 16:04:30
阅读次数:
240
一道LeetCode OJ上的题目,要求设计一个LRU(Least Recently Used)算法,题目描述如下:Design and implement a data structure for Least Recently Used (LRU) cache. It should support...
分类:
编程语言 时间:
2014-11-19 13:51:25
阅读次数:
222
题目大意:给出一些数,问在一个区间中不同的数值有多少种,和在一个qujuianz...
分类:
编程语言 时间:
2014-11-18 14:47:38
阅读次数:
294
题目大意:给出一些袜子的排列顺序,每次问一段区间中有多少相同颜色的袜子对。
思路:莫队算法真是一个神奇的算法。首先,暴力枚举是O(n^2)的时间复杂度,这肯定是不行的。假如区间是保证不重合的,那么就可以将总的时间转移的复杂度降到O(n)。很遗憾,题目中没有这个保证。于是乎,神秘的莫队就发明了一种神奇的算法。
对于每一个询问,我们将它看成一个平面上的点(x1,y1),同样的也就会有其他的...
分类:
编程语言 时间:
2014-11-13 16:43:29
阅读次数:
226
题目链接:
huangjing
思路:新学会的一种算法,RMQ(Rangle Minimum Query)从名字来看,觉得就是查询最小值的,哈哈,
大白上有仔细的讲解。dp[i][j]=min(dp[i][j-1],dp[i+(1
预处理的复杂度为O(N*logN),查询就是O(1)的复杂度。
方法二:线段树解法 复杂度为O(Q*logN).
题目:
题目1 : R...
分类:
编程语言 时间:
2014-11-11 22:52:52
阅读次数:
187
题目大概意思:输入n,m,n代表n个点,接着输入n个点之间的距离(n*n的矩阵),接下来m次询问,输入a,b,c如果a,b之间的最短路径中存在c点则输出Yes,否则输出No
比赛的时候没有做出来,赛后帆哥一点播就知道了。。。。我写的时候直接用floy算法求距离并记录路径。。然后TLE到死。。。我就奇怪了数据n,m都小于100,怎么会TLE啊。。。坑爹啊。。。我一直怀疑是不是用别的算法。。。。。帆...
分类:
编程语言 时间:
2014-11-09 22:22:59
阅读次数:
224
题目大意:给定n个点,每个点有一个颜色,m次询问,每次询问一个区间内随机选出两个点颜色相同的概率是多少
OTZ莫队算法……
具体做法无论是分块还是曼哈顿最小生成树网上都讲解的很详细 我就不累述了
这个题的做法是记录一个cnt数组表示当前区间内每种颜色有多少个
加入一个颜色为x的点就ans+=cnt[x] 然后cnt[x]++
减少一个颜色为x的点就cnt[x]-- 然后ans-=cnt[...
分类:
编程语言 时间:
2014-11-07 11:20:29
阅读次数:
270