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
4206Fast Maximum Matching(hopcroft-karp)
题目请戳这里 题目大意:裸的二分匹配。 题目分析:数据比较强,用来测模版的。这题用hungry跑着会比较吃力,所以用hopcroft-karp算法。这个算法较hungry高效是因为每次bfs找到一个增广路集,然后用dfs进行多路增广,同时找多条增广路,从而效率大增。其实怎么看hk算法都是个没有边权的dinic啊。 参照着wikipedia 敲了一个hk,效率貌似不高啊。。。 详情
·
2015-10-31 11:55
match
[
SPOJ
][8119][CIRU2][圆的面积并]
/*题目:CIRU2题目来源:
SPOJ
8119 https://www.
spoj
.pl/problems/CIRUT/题目难度:中等偏难题目内容或思路: 圆的面积并 题意:给n个圆(最多
·
2015-10-31 10:57
poj
SPOJ
1043 Can you answer these queries I
SPOJ
_1043 今天顿时发现原来GSS系列一共有7道题,这个是其中的一道,只要在网址那改一下GGS*就可以找到其他的题目了。
·
2015-10-31 10:48
poj
SPOJ
10606. Balanced Numbers (数位DP)
题目链接:http://www.
spoj
.com/problems/BALNUM/ 这题要求出现的数字,偶数出现奇数次,奇数出现偶数次。
·
2015-10-31 10:28
number
SPOJ
DCEPC11I
题目大意: 就是给定一段区间令其中的数增加一个递增序列(也就是说第一个+1,第二个+2.。。。。) 询问操作是区间的和 这里的查询很简单,但是对于添加递增序列入区间就比较搞脑子了 我们需要一个add[]作为区间的首个数字增加的值,del[]表示等差数列的公差,因为你每次添加进入一个等差数列,是可以叠加的但公差变为了del[ls]+=del[o] 这里主要是
·
2015-10-31 09:05
poj
SPOJ
FAVDICE 数学期望
题目大意: 一个有n面的色子抛掷多少次能使所有面都能被抛到过,求期望值 总面数为n,当已经抛到过 i 个不同面时,我们抛出下一个不同面的概率为 (n-i)/n,那么抛的次数为 n/(n-i) 将所有抛出下个面的次数累加起来就好了 1 #include <cstdio> 2 int main(){ 3 int kase,n; 4 s
·
2015-10-31 09:05
poj
SPOJ
GNYR09F 数字上的找规律DP
Problem C
SPOJ
GNYR09F dp题,dp可能刚刚开始对大家来说比较难,但是静下心来分析还是比较简单的; dp(i ,j
·
2015-10-31 09:05
poj
spoj
687(后缀数组)
http://www.
spoj
.com/problems/REPEATS/ 题意:给一串字符,需要你求这一串字符中有连续重复的字符的重复次数.......
·
2015-10-31 09:48
后缀数组
[后缀数组、不重复子串]
SPOJ
694、
spoj
705--Distinct Substrings
题目大意:给出一个字符串,问它的不重复子串有多少个。两题是一样的,除了字符串长度....... 思路:用后缀数组可以轻松解决。因为这个字符串的每个子串必然是某个后缀的前缀,先用后缀数组求出sa和height,那么对于sa[k],它有n-sa[k]个子串,其中有height[k]个是和上一个后缀重复的,所以要减去。所以用后缀数组求解的时间复杂度是O(n),后缀数组要是用倍增算法是O(nlog2n)
·
2015-10-31 09:47
substring
SPOJ
181 - Scuba diver 二维背包
潜水员要潜水,给出n个气缸(1<=n<=1000),每个气缸中有氧气量为ti,氮气量为ai,气缸重量为wi(1<=ti<=21,1<=ai<=79,1<=wi<=800)。现在潜水员需要量为t的氧气,量为a的氮气(1<=t<=21,1<=a<=79),问选哪些气缸,使得重量最小。 【背包】二维背包问题,不同的
·
2015-10-31 09:32
div
SPOJ
3937 - Wooden Sticks 最长上升子序列LIS
给了n个(n<=5000)木棍的长度hi与宽度wi(均小于10000),现在机器要打磨这些木棍,如果相邻连个木棍hi<=hj并且wi<=wj就不需要调整机器,问如何排序使得机器调整的次数最少。 【LIS】基本上和【这题】相同,但是那题中,如果hi=hj并且wi=wj长度会增加,而这道题则相反。 还是类似于那一题的思路: 假设wi>wj,
·
2015-10-31 09:32
poj
SPOJ
3048 - DNA Sequences LCS
给出两个字符串(不长于1000),求最长公共子序列,要求:从每个串中取必须取连续k (1<=k<=100)个数 【LCS】一开始自己想用DP加一维[len]用来表示当前已经取了连续len个值,但是1000*1000*100肯定超时,而且这道题的时限779ms是什么鬼 然后想求LCS有没有像LIS一样优化到nlogn的算法,百度一下,还真有【戳这里跳转
·
2015-10-31 09:31
sequence
SPOJ
4053 - Card Sorting 最长不下降子序列
我们的男主现在手中有n*c张牌,其中有c(<=4)种颜色,每种颜色有n(<=100)张,现在他要排序,首先把相同的颜色的牌放在一起,颜色相同的按照序号从小到大排序。现在他想要让牌的移动次数最小,问移动的最小次数是多少。 【LIS】因为颜色种类相当少,可以枚举排序后颜色的次序。相同颜色的纸牌从小到大排序,所以所有纸牌的最终顺序也就确定了。 然后就是怎么
·
2015-10-31 09:31
sort
SPOJ
3943 - Nested Dolls 最长不下降子序列LIS(二分写法)
现在n(<=20000)个俄罗斯套娃,每个都有宽度wi和高度hi(均小于10000),要求w1<w2并且h1<h2的时候才可以合并,问最少能剩几个。 【LIS】乍一看跟【这题】类似,但是仔细看是有区别的,其实就相当于上一题多次求LIS,每次求完LIS后把得到的序列删去,然后重新求LIS,最后输出求LIS的次数,我一开始这样写,果然就TLE了。还是要另辟蹊径。
·
2015-10-31 09:31
poj
SPOJ
345 - Mixtures 区间动态规划
有n个混合物排成一排,每个混合物有一个颜色值0<=color<=99, 规定合并只能合并相邻两个, 将颜色a的混合物与颜色b的混合物合并后,颜色为( a+b ) % 100,并产生a*b的污染, 现在要将所有混合物合并,问产生污染的最小值。 【区间动规】很经典的区间动规 dp[i][j] = min { dp[i][k] + dp[k+1][j] + sum[
·
2015-10-31 09:31
动态规划
spoj
375Query on a tree树链剖分
学了下树链剖分,这个链接讲的很详细http://blog.sina.com.cn/s/blog_6974c8b20100zc61.html 就是把一颗树划分轻重链,然后标号,对应到一颗线段树上。更新a到b的路径时,就把在下面的向上提 直到在一条重链上或者两点重合。 #include <cstdio> #include <algorithm> #include &l
·
2015-10-31 09:14
query
SPOJ
9939 Eliminate the Conflict
SPOJ
_9939 这个题目可以用2-SAT做。
·
2015-10-31 09:09
Mina
SPOJ
VLATTICE Visible Lattice Points 莫比乌斯反演 难度:3
http://www.
spoj
.com/problems/VLATTICE/ 明显,当gcd(x,y,z)=k,k!
·
2015-10-31 09:10
visible
SPOJ
6779 Can you answer these queries VII
SPOJ
_6779 这个题目和GSS1的思想是一样的,只不过由于变成了树,所以可以先用树链剖分先将树划分成若干棵线段树再进行求解。
·
2015-10-31 08:07
poj
SPOJ
10234. Here Be Dragons
The Triwizard Tournament's third task is to negotiate a corridor of many segments, and reach the other end. The corridor is N segments long. The ith segment is either empty or has a dragon. Harry cann
·
2015-10-31 08:00
drag
SPOJ
10232. Distinct Primes
Arithmancy is Draco Malfoy's favorite subject, but what spoils it for him is that Hermione Granger is in his class, and she is better than him at it. Prime numbers are of mystical importance in
·
2015-10-31 08:00
distinct
网络流题目集锦
网络流题目集锦(转) 最大流POJ 1273 Drainage Ditche
sPOJ
1274 The Perfect Stall (二分图匹配)POJ 1698 Alice's ChancePOJ
·
2015-10-31 08:54
网络流
SPOJ
371 Boxes
SPOJ
_371 BOXES 这个题目和HDU_2282几乎是一样的,我们可以把每个“多余”的ball当做一个研究对象,那么它一共有若干种选择,即移动到若干个空位,这样将“
·
2015-10-30 15:56
poj
SPOJ
-1182 Sorted bit squence 数位DP
这题虽然说是什么按位DP,其实尼玛不是组合数学么。不过硬是用模板的按位DP实现了,其实也就是记忆化搜索,本题恶心就在于有负数的存在,其实对付它就是把正数的第33位都变成1,用long long来处理,这样既保证了负数小于正数,又可以化成单一的区间了。在按位统计的时候记得当1出现在33位的时候不统计这个1。这题思路也就是先把[a, b]区间内含有一个1,两个1,三个1...的数的个数全部统计出来,一
·
2015-10-30 14:34
sort
*
SPOJ
PGCD Primes in GCD Table (需要自己推线性筛函数,好题)
题目大意: 给定n,m,求有多少组(a,b) 0<a<=n , 0<b<=m , 使得gcd(a,b)= p , p是一个素数 这里本来利用枚举一个个素数,然后利用莫比乌斯反演可以很方便得到答案,但是数据量过大,完全水不过去 题目分析过程(从别人地方抄来的) ans = sigma(p, sigma(d, μ(d) * (n/pd) * (m/pd)
·
2015-10-30 14:06
table
SPOJ
- VLATTICE Visible Lattice Points 莫比乌斯反演
题目大意: 从坐标(0,0,0)处观察到所有在(n,n,n)范围内的点的个数,如果一条直线上出现多个点,除了第一个,后面的都视为被遮挡了 这题目稍微推导一下可得知 gcd(x,y,z) = 1的点是可观察到的,若三者的gcd>1,则这个点之前必然出现了一个(x/gcd(x,y,z) , y/gcd(x,y,z) , z/gcd(x,y,z))的点 那么因为 0 是无法计
·
2015-10-30 14:06
visible
SPOJ
5152 Brute-force Algorithm EXTREME && HDU 3221 Brute-force Algorithm 快速幂,快速求斐波那契数列,欧拉函数,同余 难度:1
5152. Brute-force Algorithm EXTREME Problem code: BFALG Please click here to download a PDF version of the contest problems. The problem is problem B in the PDF. But the data li
·
2015-10-30 13:30
Algorithm
SPOJ
4487. Can you answer these queries VI splay
题目链接:点击打开链接 题意比較明显,不赘述。 删除时能够把i-1转到根,把i+1转到根下 则i点就在 根右子树 的左子树,且仅仅有i这一个 点 #include<stdio.h> #include<iostream> #include<string.h> #include<algorithm> using namespace std;
·
2015-10-27 16:54
play
SPOJ
NSUBSTR
题目大意: 给定一个字符串,求每个对应的长度能产生的相同子串的最大个数 这里构建好后缀自动机之后,再将整个字符串从头到尾扫一遍,然后将每个对应的点上的sc值+1 表示从头走到尾的前提下,所能产生的子串能够得到的最大数量为1 然后再去考虑其他子串 每个后缀自动机上的节点上的长度表示的是当前点所能接收的最大长度的后缀 我们只考虑这个最大长度即可,因为其他没考虑的
·
2015-10-27 14:09
substr
SPOJ
LCS2 多个串的最长公共子串
这里串最多有10个,找所有串的最长公共子串 这里后缀自动机做,以第一个串建立后缀自动机,后面的串一个个去匹配,每次得到当前串在可到达状态上所能得到的最长后缀长度 拿所有串匹配后得到的结果进行计算 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring>
·
2015-10-27 14:08
poj
SPOJ
LCS 后缀自动机找最大公共子串
这里用第一个字符串构建完成后缀自动机以后 不断用第二个字符串从左往右沿着后缀自动机往前走,如能找到,那么当前匹配配数加1 如果找不到,那么就不断沿着后缀树不断往前找到所能匹配到当前字符的最大长度,然后将cur节点转移到当前节点即可,再把答案加1 记住不断更新所能得到的最大值 1 #include <cstdio> 2 #include <
·
2015-10-27 14:08
poj
SPOJ
GSS1 静态区间求解最大子段和
题目大意: 给定n个数,再给q个区间询问,希望在区间s,t中找到一段连续的子序列使其和最大 因为询问上万,节点数50000,明显是用线段树去做,这里很明显的区间更新,唯一写起来有点恶心的是询问 每一个区间的最大都要跟左右区间的左最大右最大有关系 反正时要注意细节了,查询的时候同时要查询其左右连续最大 自己的错误在于左右连续最大的更新出问题,这个
·
2015-10-27 14:07
poj
UVALive 4639 &&
SPOJ
SPOINTS && POJ 3805 && AOJ 1298 Separate Points 求两个凸包是否相交 难度:3
option=com_onlinejudge&Itemid=8&page=show_problem&problem=2640 http://www.
spoj
.com/problems
·
2015-10-27 14:42
live
SPOJ
COMPANYS Two Famous Companies 最小生成树,二分,思路 难度:2
http://www.
spoj
.com/problems/COMPANYS/en/ 题目要求恰好有k条0类边的最小生成树 每次给0类边的权值加或减某个值delta,直到最小生成树上恰好有k条边为0,
·
2015-10-27 14:42
最小生成树
SPOJ
694 Distinct Substrings
Distinct Substrings Time Limit: 1000ms Memory Limit: 262144KB This problem will be judged on
SPOJ
·
2015-10-27 13:45
substring
[主席树]HDOJ3874 Necklace
题意:n个数 m个询问 询问的是[l, r]区间内不同的数的和 没有修改,静态的主席树即可 与
SPOJ
QUERY 一样 将重复的元素建树即可 注意范围:$N \le
·
2015-10-27 12:18
OJ
[主席树]
SPOJ
DQUERY
题目链接 题意:n个数 m个查询 查询的是[l, r]区间内不相同的数的个数 没有修改,因此静态的主席树就好了 将重复的元素建树即可 query的时候加起来,用区间长度(r-l+1)去减就是答案 (query的是[l, r]之间重复元素的个数) 1 typedef long long LL; 2 #define lson l, m
·
2015-10-27 12:18
query
SPOJ
SUBLEX Lexicographical Substring Search
DescriptionLittleDaniellovestoplaywithstrings!Healwaysfindsdifferentwaystohavefunwithstrings!Knowingthat,hisfriendKinandecidedtotesthisskillssohegavehimastring S andaskedhim Q questionsoftheform:Ifall
jtjy568805874
·
2015-10-25 16:00
spoj
SPOJ
NSUBSTR Substrings
DescriptionYouaregivenastringSwhichconsistsof250000lowercaselatinlettersatmost.WedefineF(x)asthemaximalnumberoftimesthatsomestringwithlengthxappearsinS.Forexampleforstring'ababa'F(3)willbe2becausether
jtjy568805874
·
2015-10-24 23:00
spoj
SPOJ
LCS2 Longest Common Substring II
DescriptionAstringisfinitesequenceofcharactersoveranon-emptyfinitesetΣ.Inthisproblem,Σisthesetoflowercaseletters.Substring,alsocalledfactor,isaconsecutivesequenceofcharactersoccurrencesatleastonceinas
jtjy568805874
·
2015-10-24 17:00
spoj
SPOJ
LCS Longest Common Substring
DescriptionAstringisfinitesequenceofcharactersoveranon-emptyfinitesetΣ.Inthisproblem,Σisthesetoflowercaseletters.Substring,alsocalledfactor,isaconsecutivesequenceofcharactersoccurrencesatleastonceinas
jtjy568805874
·
2015-10-24 16:00
spoj
SPOJ
2798 Query on a tree again!
SPOJ
_2798 如果用link-cut-tree写的话,只要维护col(节点的颜色)和sum(子树中black节点的数量)两个标记即可。
·
2015-10-24 09:12
query
SPOJ
4487 Can you answer these queries VI
SPOJ
_4487 其实这个题目和GSS1是差不多的,只不过由于有增加和删除的操作,这样用线段树就搞不定了,因此可以维护一个splay来实现这些操作。
·
2015-10-24 09:11
poj
SPOJ
375 Query on a tree
SPOJ
_375 树链剖分的处女作终于AC啦,O(∩_∩)O哈哈~ 思想是从这篇博客里面学来的:http://blog.sina.com.cn
·
2015-10-24 09:11
query
SPOJ
2713 Can you answer these queries IV
SPOJ
_2713 查询区间和很容易用线段树实现,而开方操作乍一看是没法用下传lazy标记的办法实现的,但仔细想一下,实际上每个数最多被开方的次数也是很有限的,只要最后开成
·
2015-10-24 09:11
poj
SPOJ
913 Query on a tree II
SPOJ
_913 这个题目应该也可以树链剖分去做,只不过感觉在KTH这个操作还是用link-cut-tree更好写一些。
·
2015-10-24 09:11
query
SPOJ
1716 Can you answer these queries III
SPOJ
_1716 这个题目和
SPOJ
_1043的GSS1是类似的,只不过增加了单点修改的功能。用线段树实现相应的功能即可。
·
2015-10-24 09:09
poj
SPOJ
2916 Can you answer these queries V
SPOJ
_2916 这个题目需要分情况讨论一下,如果y1<x2,那么就是前面区间的一个后缀,加上后面区间的一个前缀,再加上中间的部分,如果y1>=x2
·
2015-10-24 09:09
poj
SPOJ
1771 Yet Another N-Queen Problem
SPOJ
_1771 通过这个题目进一步训练了Dancing Links解决N皇后问题的技巧。
·
2015-10-24 09:58
poj
SPOJ
4556 Think I will Buy Me a Football Team
SPOJ
_4556 仔细分析一下的话可以得到最简的状态是对于任意一个点要么只有入度,要么只有出度,否则是可以通过构造得到更优的解的。
·
2015-10-24 09:27
poj
上一页
16
17
18
19
20
21
22
23
下一页
按字母分类:
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
其他