E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Spoj
SPOJ
2939. Query on a tree V
SPOJ
2939.
·
2015-11-11 01:11
query
SPOJ
1487. Query on a tree III
SPOJ
Problem Set (classical)
SPOJ
1487.
·
2015-11-11 01:10
query
SPOJ
913. Query on a tree II
SPOJ
Problem Set (classical)
SPOJ
913.
·
2015-11-11 01:09
query
SPOJ
2666. Query on a tree IV
SPOJ
Problem Set (classical) 2666.
·
2015-11-11 01:08
query
【
SPOJ
】6779 Can you answer these queries VII
SPOJ
……无力吐槽了,反正RP好的时候过了,其他时候都是TLE。 只能怪自己动态树太龊了吧。。
·
2015-11-11 01:54
poj
【
SPOJ
】1557 Can you answer these queries II
询问区间最大连续和,相同的只能算一次。可以不取,即为0 线段树在线做不到,只好离线搞。 一般最大连续和,都是以一个点为起点,往左或往右。其实,还可以以一个点为起点,往上最大是多少。 用pos标记一个数之前更新到的位置。 比如:-3 2 -3 1 用线段树成段覆盖:(越下方越早更新到) 1 1
·
2015-11-11 01:53
poj
【
SPOJ
】4487 Can you answer these queries VI
仍然是询问区间最大连续和,只不过多了插入和删除操作。 线段树搞不定了。。伸展树来了。 插入删除偷懒那样写了,加了读入优化卡过的。 1 #include<cstdio> 2 #include<iostream> 3 #define MAX(a,b) ((a)>(b)?(a):(b)) 4 #define oo 1000000000 5
·
2015-11-11 01:52
poj
【
SPOJ
】2916 Can you answer these queries V
操作: 给出x属于[x1,y1],y属于[x2,y2],求[x,y]的最大连续和。 将区间分3段考虑,答案可能由某一段的最大连续和,或者某一段往左的最大连续和,某一段往右的最大连续和组合而来。需要特判的是,区间可能存在包含关系。 1 #include<cstdio> 2 #define MAX(a,b) ((a)>(b)?(a):(b)) 3 #defin
·
2015-11-11 01:52
poj
【
SPOJ
】2713 Can you answer these queries IV
操作: 1,把[x,y]每个数k变成sqrt(k),向下取整。 2,查询区间的和。 就算10^18,sqrt后减少的很快。 当一个数为0或1时,它不会再变化了,把不会变化的区间标记,不再访问。 所以暴力更新总的可以视为O(nlogn)的。 1 #include<cstdio> 2 #include<cmath> 3 #include<algor
·
2015-11-11 01:51
poj
【
SPOJ
】1043 Can you answer these queries III
查询同【
SPOJ
】1043 Can you answer these queries I。
·
2015-11-11 01:50
poj
【
SPOJ
】1043 Can you answer these queries I
操作:查询区间最大连续和。 每个节点保存当前区间往左,往右的最大和。 往左最大连续和=max(左区间往左最大连续和,左区间的和+右区间往左最大连续和)。 区间最大值=max(左,右区间最大值,左区间右连续+右区间左连续)。 返回答案时,区间需要不断的合并。 1 #include<cstdio> 2 #define MAX(a,b) ((a)>(b)?(a):(b
·
2015-11-11 01:50
poj
莫队算法学习笔记【BZOJ2038:小Z的袜子】【
SPOJ
3267:D-query】
很久以前傻乎乎地看来源奇怪的资料的时候被各种曼哈顿弄晕了。 然后现在学会的是分块方法。另新创一个分块方法。 让我们考虑这样一个区间询问问题…… 它有如下的性质: 0,n个数,Q个询问。 1,它没有修改操作,这意味着我们可以按我们喜欢的次序跟询问玩耍。实际上后面会讲到我们完全可以按任意次序玩耍。 2,如果我们知道区间询问 [L , R] 对应的值,我们可以轻易求出&nbs
·
2015-11-11 01:26
query
SPOJ
-OPTM Optimal Marks ★★(按位建图 && 最小割)
【 题意】给出一个无向图,每个点有一个标号mark[i],不同点可能有相同的标号。对于一条边(u, v),它的权值定义为mark[u] xor mark[v]。现在一些点的标号已定,请决定剩下点的标号,使得总的边权和最小。(0 < N <= 500, 0 <= M <= 3000, 0 <= mark[i] <= 2^31-1) 胡伯涛神牛《最小割模型
·
2015-11-11 01:49
mark
SPOJ
962 Intergalactic Map (从A到B再到C的路线)
【 题意】在一个无向图中,一个人要从A点赶往B点,之后再赶往C点,且要求中途不能多次经过同一个点。问是否存在这样的路线。(3 <= N <= 30011, 1 <= M <= 50011) 【 思路】很巧的一道题,一般我们都是把源点连接起点,但那样的话就不好控制从A先到B再到C了,所以我们换个思路,以B为源点,A、C为汇点,看最大流是否为2即可~不经过同一个点就直接拆点连一
·
2015-11-11 01:46
map
SPOJ
-OPTM Optimal Marks ★★(按位建图 && 最小割)
【 题意】给出一个无向图,每个点有一个标号mark[i],不同点可能有相同的标号。对于一条边(u, v),它的权值定义为mark[u] xor mark[v]。现在一些点的标号已定,请决定剩下点的标号,使得总的边权和最小。(0 < N <= 500, 0 <= M <= 3000, 0 <= mark[i] <= 2^31-1) 胡伯涛神牛《最小割模型
·
2015-11-11 01:34
mark
SPOJ
962 Intergalactic Map (从A到B再到C的路线)
【 题意】在一个无向图中,一个人要从A点赶往B点,之后再赶往C点,且要求中途不能多次经过同一个点。问是否存在这样的路线。(3 <= N <= 30011, 1 <= M <= 50011) 【 思路】很巧的一道题,一般我们都是把源点连接起点,但那样的话就不好控制从A先到B再到C了,所以我们换个思路,以B为源点,A、C为汇点,看最大流是否为2即可~不经过同一个点就直接拆点连一
·
2015-11-11 01:31
map
SPOJ
375.QTREE树链剖分
题意:一个树,a b c 代表a--b边的权值为c。CHANGE x y 把输入的第x条边的权值改为y,QUERY x y 查询x--y路径上边的权值的最大值。 第一次写树链剖分,其实树链剖分只能说是一种思想。树链剖分 就是 先选择从根节点到叶子节点的最长的路径的权值对应到线段树上,然后从一个子树的根节点到叶子的最长路径的权值对应到线段树上这样直到把所有的
·
2015-11-10 22:02
tree
POJ 1397 The Bulk
这还是以前在
spoj
上A的一道题,不过直接在poj提交时Time Limit Exceeded,本打算有时间把算法重新优化一下,昨天无聊把输入改为scanf试试,没想到竟然过了,意料之外。
·
2015-11-10 21:27
poj
SPOJ
1182 Sorted bit squence
题目链接:http://www.
spoj
.com/problems/SORTBIT/ 题意:给出[L,R],已知L*R>=0。
·
2015-11-09 14:05
sort
SPOJ
3871 GCD Extreme
题目链接:http://www.
spoj
.com/problems/GCDEX/ 题意: 思路: int phi[N]; i64 f[N]; void init(
·
2015-11-09 14:50
ext
SPOJ
416 - Divisibility by 15(贪心)
糟烂的代码啊... 这个题目思路很简单——末位只可能为0和5,所有数字的和肯定被3整除 没有0和5的肯定不行 否则,把所有数字求和 如果被3整除,则从大到小输出 如果除3余1,则按以下顺序——删1;删4;删7;删2、5、8中的2个(特别注意如果没有0要保留一个5) 如果除3余2,则按以下顺序——删2;删5(特别注意如果没有0要保留);删8;删1、4、7中的2个 下面是
·
2015-11-09 13:27
visibility
spoj
8222 Substrings(后缀自动机)
题目链接:
spoj
8222Substrings代码#include #include #include usingnamespacestd; typedeflonglongll; constintmaxn
u011328934
·
2015-11-09 11:00
spoj
7258 Lexicographical Substring Search(后缀数组 | 后缀自动机)
题目链接:
spoj
7258LexicographicalSubstringSearch代码-后缀数组#include #include #include #include #include usingnamespacestd
u011328934
·
2015-11-09 11:00
spoj
1812 Longest Common Substring II(后缀自动机)
题目链接:
spoj
1812LongestCommonSubstringII代码#include #include #include usingnamespacestd; typedeflonglongll
u011328934
·
2015-11-09 11:00
spoj
1811 Longest Common Substring(后缀自动机)
题目链接:
spoj
m1811LongestCommonSubstring代码#include #include #include usingnamespacestd; typedeflonglongll
u011328934
·
2015-11-09 11:00
SPOJ
MSTICK. Wooden Sticks 贪心 结构体排序
MSTICK-WoodenSticksThereisapileofnwoodensticks.Thelengthandweightofeachstickareknowninadvance.Thesticksaretobeprocessedbyawoodworkingmachineinonebyonefashion.Itneedssometime,calledsetuptime,forthemach
BlackStorm
·
2015-11-09 01:00
【
SPOJ
】2798 Query on a tree again!
1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #include<queue> 5 #define MAXN 100100 6 #define MAXM 200100 7 using namespace std; 8 bool v
·
2015-11-08 17:27
query
【
SPOJ
】913 Query on a tree II
1 #include<cstdio> 2 #include<cstring> 3 #include<queue> 4 #include<iostream> 5 #define MAXN 10010 6 #define MAXM 20010 7 using namespace std; 8 struct L
·
2015-11-08 17:26
query
【
SPOJ
】375 Query on a tree
1 #include<cstdio> 2 #include<cstring> 3 #include<queue> 4 #include<iostream> 5 #include<algorithm> 6 #define MAXN 10010 7 #define MAXM 20010 8 #de
·
2015-11-08 17:19
query
【
SPOJ
】1771 Yet Another N-Queen Problem
1 #include<cstdio> 2 #include<cstring> 3 #define MAXN 1000000 4 #define MAXM 3000 5 #define INF 0x7FFFFFFF 6 int L[MAXN], R[MAXN], U[MAXN], D[MAXN]; 7 int H[MAXM], S[MA
·
2015-11-08 17:55
poj
【
SPOJ
】1557 Can you answer these queries II
询问区间最大连续和,相同的只能算一次。可以不取,即为0 线段树在线做不到,只好离线搞。 一般最大连续和,都是以一个点为起点,往左或往右。其实,还可以以一个点为起点,往上最大是多少。 用pos标记一个数之前更新到的位置。 比如:-3 2 -3 1 用线段树成段覆盖:(越下方越早更新到) 1 1
·
2015-11-08 17:42
poj
SPOJ
3267--D-query (主席树入门练习)
题意:查找区间内不同数字的个数。 两种做法,一种是 树状数组离线,另一种就是主席树。 树状数组离线操作的链接 http://www.cnblogs.com/oneshot/p/4110415.html 两种方法思路差不多,都是扫一遍,如果这个数曾经出现过那么就 在上次位置-1,如果没有出现过就在 当前位置+1,同时更新该数字的最新的位置。 这样的话,在主席树里面 以x为根的线段树
·
2015-11-08 14:18
query
SPOJ
3267--D-query (树状数组离线操作)
题意查询区间 [l,r]内有多少个不同的数字 先把所有询问按 右端点进行排序,然后离线操作。如果该位置的数字 已经出现过那么把前一个位置-1,当前位置+1。扫一遍输出。 1 #include <cstdio> 2 #include <string> 3 #include <vector> 4 #include <cstdlib>
·
2015-11-08 14:16
query
SPOJ
2939 Query on a tree V
题目链接:http://www.
spoj
.com/problems/QTREE5/ 题意:给出一棵树,初始时节点全是黑色。边的长度为1。
·
2015-11-08 11:36
query
SPOJ
1557 Can you answer these queries II(线段树)
题目链接:http://www.
spoj
.com/problems/GSS2/ 题意:给出一个数列,每次询问区间[L,R]内最大的子段和。要求计算子段和时重复数字只能计算一次。
·
2015-11-08 11:33
poj
SPOJ
422 Transposing is Even More Fun(polay计数)
题目链接:http://www.
spoj
.com/problems/TRANSP2/ 题意: 思路:不妨设a=1,b=2, 我们发现(001,010,100)组成一个置换,(011,110,101
·
2015-11-08 11:30
more
SPOJ
104 Highways(最小生成树计数)
题目链接:http://www.
spoj
.pl/problems/HIGH/ 题意:求最小生成树个数。 思路:模板。。。
·
2015-11-08 11:19
最小生成树
SPOJ
220 Relevant Phrases of Annihilation(后缀数组)
题目链接:http://www.
spoj
.pl/problems/PHRASES/ 题意:给定n个字符串,求在每个字符串中至少出现两次且不重叠的最长字串。
·
2015-11-08 11:13
后缀数组
【
spoj
SEQN】【hdu 3439】Sequence
题意: 给出n、m、k 求C(n,k)*H(n-k)%m的值 H(n-k)为错排公式 题解: 先算H(n-k) 计算H(n)有个通式: H(n)=(-1)^n+((-1)^(n-1))n+((-1)^(n-2))n(n-1)+...+n(n-1)(n-2)...3 证明详见维基百科: http://zh.wikipedia.org/wiki/%E9%94%99%E6%8E%92%E9
·
2015-11-08 11:50
sequence
SPOJ
Classical problems 4 TRANSFORM THE EXPRESSION(ONP)
http://www.
spoj
.pl/problems/ONP/ Transform the algebraic expression with brackets into RPN form (Reverse
·
2015-11-08 09:51
transform
SPOJ
694 -- DISUBSTR 后缀树组求不相同的子串的个数
DISUBSTR - Distinct Substrings Given a string, we need to find the total number of its distinct substrings. Input T- number of test cases. T<=20;Each test case consists of on
·
2015-11-07 12:51
substr
【
SPOJ
】Transposing is even more fun!
题意: 给出a、b 表示按先行后列的方式储存矩阵 现在要将其转置 可以交换两个点的位置 求最小操作次数 题解: 储存可以将其视为拉成一条链 设a=5、b=2 则在链上坐标用2^***(a,b)表示为(xxxxxyy) 转置后为(yyxxxxx) 这时将其视为另一个点的坐标 继续转置为(xxyyxxx)... 直到再变成(xxxxxyy)这样每次循环可以节省1次转置 所以an
·
2015-11-07 11:06
more
激!QTREE系列
算了不管他…… QTREE: 树链剖分裸题(据说 lct 会超时……该说是真不愧有
spoj
的气息吗?)
·
2015-11-07 11:10
tree
SPOJ
375 树链剖分
SPOJ
375题目链接:题意:思路:首先感谢这位博主http://blog.csdn.net/y990041769/article/details/40348013,基本照着打的。
beihai2013
·
2015-11-05 20:00
spoj
839 Optimal Marks 最小割模型
Optimal Marks 很不错的一道题,最小割模型建的真妙,amber论文有详解。 考虑到是异或运算求最小cost之和,由于对于二进制,各个位之间是互不影响的,所以可以将问题转会为每个二进制位的求解,然后求和即可。对于每个二进制位,要么为0,要么为1, 就想到将整个图切割成两个点集,即对于每个点,都只有两种取值,可以看成是要将点集划分成两类。在这种分类思想的指导下,重新
·
2015-11-03 22:44
mark
SPOJ
1029 Matrix Summation【 二维树状数组 】
题意:二维树状数组,更改值的时候有一点不一样, 是将a[x][y]设置为一个值,所以add的时候要将它和以前的值作差一下 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include <cmath> 5 #include<s
·
2015-11-03 21:01
Matrix
spoj
3871. GCD Extreme 欧拉+积性函数
3871. GCD Extreme Problem code: GCDEX Given the value of N, you will have to find the value of G. The meaning of G is given in the following code G=0; for(k=i;k< N;k++) for(j=i+1;j&
·
2015-11-03 21:33
ext
spoj
LCMSUM sigma(lcm(i,n));
Problem code: LCMSUM Given n, calculate the sum LCM(1,n) + LCM(2,n) + .. + LCM(n,n), where LCM(i,n) denotes the Least Common Multiple of the integers i and n. Input The first line conta
·
2015-11-03 21:32
cms
素数筛法--
SPOJ
Problem 2 Prime Generator
质数(prime number)又称素数,除了1和它本身外,不能整除以其他自然数,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。最小的质数是2。 要判断一个整数N是不是质数很简单,看它是否能被2到sqrt(N)之间的整数整除即可。 def isPrime(n): if n%2==0: return False for i in xra
·
2015-11-02 19:07
generator
SPOJ
705 New Distinct Substrings (后缀数组)
后缀数组模板题。由于height数组是指与排名上一个的公共前缀,所以重复的个数是height[i]个,考虑当前这个字母所构成的子串的贡献即为n-sa[i]-height[i],然后累加即可。代码如下:#include #include #include #include #include #include #include #include #include #include #include u
u013013910
·
2015-11-02 19:00
编程
ACM
后缀数组
算法与数据结构
上一页
14
15
16
17
18
19
20
21
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他