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
UVALIVE
UVALive
- 3135 Argus 优先队列
题目大意:给你n个触发器,每个触发器都有标号和间隔时间,然后要求你依据触发事件输出前k个触发器的标号,如果触发时间相同,就输出编号小的那个解题思路:优先队列的模板题#include#includeusingnamespacestd;structItem{intQNum,Period,Time;booloperators.Time||(Time==s.Time&&QNum>s.QNum);}};in
暗金色
·
2015-03-22 21:17
ACM-数据结构
uvalive
6303 Smartphone Manufacturing
思路:类似背包,直接搞#include #include #include #include #include #include #include #include #include #include #include #include #defineLLlonglong #defineu64unsignedlonglong #definemaxn100010 #de
_log__
·
2015-03-20 23:00
Uvalive
6302 Star Travel
思路:把所有最短路找出来,然后跑一次就好了。把所有最短路找出来大概就是,把边反向,然后从e跑最短路。然后正向从s跑最短路。然后从s开始,每次跟着最短路(字典序最小)走。判断一条边是不是最短路,也就是dis[u]+d[v]+hehe=D#include #include #include #include #include #include #include #include #in
_log__
·
2015-03-20 23:00
UVALIVE
6301 The Shortcut Eight-Puzzle
思路:使用A*算法的搜索#include #include #include #include #include #include #include #include #include #include #include #include #defineLLlonglong #defineu64unsignedlonglong #definemaxn50010 #d
_log__
·
2015-03-20 23:00
UVALive
4329 Ping pong
#include #include usingnamespacestd; structfwtree { intC[101000],n; voidinit(intk){memset(C,0,sizeof(C));n=k;} intlowbit(intx){returnx&-x;} voidadd(intx,intd) { while(x=1){ ans+=C[x]; x-=lowbit(x);
Ash_Zheng
·
2015-03-15 16:00
例题1.15 网络
UVALive
3902
1.题目描述:点击打开链接2.解题思路:本题要求放置尽可能少的服务器,使得所有的客户端到最近的服务器的距离都不超过k。由于已经放置了一个服务器,不妨把它当做根结点,先把无根树转化为有根树,然后我们考虑最深的叶子,那么不难证明,该叶子结点的最优服务器的放置位置是它的k级祖先。这样本题的算法便不难想出:从最深的叶子开始枚举,并在它的k级祖先处放置一个服务器,同时标记该服务器能覆盖到的所有结点,这样当所
u014800748
·
2015-03-13 23:00
DFS
无根树转化
UVALive
5794 (UVA 12361) File Retrieval 后缀数组 + 分治dfs
题目大意:就是现在给出F(1=h(也就是这个区间旁边的0的height区间段,对于这些段搜索即可,然后对于>=h的这一连续区间段继续进行分割(取这个区间当中不是h的最小的下一个h进行分割),这样进行分治,复杂度O(nlogn),至于集合的状态用状态压缩表示之后塞到set当中即可,最后统计set中元素的个数当然以上从h=0开始分治时会忽略一种情况,就是字符串单独出现的情况,这样的情况只需要利用后缀树
u013738743
·
2015-03-12 20:00
File
分治
uvalive
uva
retrieval
5794
12361
后缀树组
UVALive
6467 Strahler Order(拓扑排序)
题意:给你n个点m条边。入度为0的点标为1,如果一个点只有一个点指向,那么它标为那个点的标数。如果一个点有两个或以上相同标号的点指向。那么给它标为i+1,如果有更大的话就标为更大的。求最大的标号。解析:这题可以借鉴宽度优先搜索拓扑排序的思想,但是这边有一个技巧,用vis[]数组来表示当前节点是否有两个入度,如果有当前节点上有两个入度的话,就将vis[]标记为true。每次bfs时,就将当前点的or
HelloWorld10086
·
2015-03-11 19:00
UVALive
6807 TÚNEL DE RATA
题目PDF题意:要求选一些边,图中每一个环都至少有一条边被选中,要让所选的边的权值和最小。题解:求出最大生成树,把不在最大生成树上的边都选中,这样可以保证得到最优解。#include #include #include #include #include #include #definelllonglong usingnamespacestd; constintmaxn=100010; con
u011788531
·
2015-03-04 22:00
图论
生成树
最大生成树
UVALive
6800 THE MOUNTAIN OF GOLD?
题目PDF链接题意:有一些时光隧道连接两个Mountain,问能否从0号点(LedangMountaininMalaysia)穿越到0号点的过去。题解:其实就是SPFA判负环,这个负环包含0号点。#include #include #include usingnamespacestd; #defineprt(k)cout constintN=1222; constintM=3333; vector
u011788531
·
2015-03-04 22:00
using
pdf
图论
SPFA
bfs
UVALive
6801 Sequence (DP)
dp[i][j]:还有i个1,进行了j次翻转操作的方法数。ProblemSource:Regionals2014>>Asia-KualaLumpur#include #include #include usingnamespacestd; #defineprt(k)cout>re; intca=1; while(re--) { cin>>n>>m; intcnt=0; for(inti=0;i=0
u011788531
·
2015-03-04 21:00
方法
dp
using
sequence
std
UVALive
- 3695 Distant Galaxy 暴力
题目大意:给出平面上的n个点,找一个矩形,使得边界上包含尽量多的点解题思路:先找出所有的水平边,然后再找竖直边,用三个数组记录竖直边的状况,left记录该竖直边左边有多少个点在两条水平边上,on记录该竖直边上有多少个点(不包括竖直边和水平边交点上的点),on2记录竖直边上有多少个边(包括水平边和竖直边的交点上的点),这样的话,再边扫描边边统计即可#include#include#includeus
暗金色
·
2015-02-26 11:01
ACM-高效算法设计
2015 UESTC Winter Training 中的简单搜索
uvalive
4997简答搜索先将中心求出来,并且染上无关色,染色之后若有地方未染色,则说明不行然后再用回溯法染色//whn6325689 //Mr.Phoebe //http://blog.csdn.net
u013007900
·
2015-02-26 11:00
UVALIVE
5000 Underwater Snipers(二分+贪心)
二分答案贪心判断//whn6325689 //Mr.Phoebe //http://blog.csdn.net/u013007900 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #includ
u013007900
·
2015-02-26 11:00
UVALIVE
4887 Soccer && UVELIVE 4882
2015UESTCWinterTraining#6训练赛的两道搜索模拟题
uvalive
4882//whn6325689 //Mr.Phoebe //http://blog.csdn.net/u013007900
u013007900
·
2015-02-25 10:00
UVALive
- 3026 - Period (KMP)
UVALive
-3026PeriodTimeLimit: 3000MS MemoryLimit: Unknown 64bitIOFormat: %lld&%lluSubmit StatusDescriptionForeachprefixofagivenstringSwithNcharacters
u014355480
·
2015-02-20 02:00
KMP
ACM
uvalive
3635 - Pie(二分搜索)
题目大意:有m个派,要分给n+1个人,要求每个人拿到的大小相同,并且每个人的派必须是一整块,不能说分别从两个派切出一块凑成。现在给出m个派的半径(派均为圆柱,高为1),输出每人可以拿到的最大派的体积。解题思路:二分查找。#include #include #include usingnamespacestd; constintmaxn=10000+10; constdoublePI=acos(-
kl28978113
·
2015-02-19 22:00
uvalive
3971 - Assemble(二分搜索 + 贪心)
题目大意:有若干个零件,每个零件给出的信息有种类,名称,价格,质量, 现在给出一个金额,要求在这个金额范围内,将每个种类零件都买一个,并且尽量让这些零件中质量最小的越大,输出质量最小的值。解题思路:首先可以用二分搜索确定质量,然后在搜索的过程中要判断这个质量是否能被满足,判断函数可以用贪心,在每一类的零件中选择价格最低且质量大于等于当前质量的零件。(事先按照价格大小排序)。#include #in
kl28978113
·
2015-02-19 22:00
UVALive
6092 Catching Shade in Flatland
https://icpcarchive.ecs.baylor.edu/external/60/6092.pdf坐标上有很多相离圆,问一条可以绕原点旋转的线段与这些圆相交的最长弦长之和。直接模拟即可。注意是线段。#include #include #include #include usingnamespacestd; intmain() { intn,a[500],b[500],r[500];
jtjy568805874
·
2015-02-18 14:00
uvalive
HDU 5150 &&
UVALive
5061 (LCA标记)
这两题都是在树上求某一些路径上的点权的变化两道题的思路相同HDU5150:每一种颜色我们分开考虑他们对所有节点的贡献,对于颜色同为c的两个节点u和v(假设u!=v),那么在lca(u,v)的时候我们需要-1,因为在lca(u,v)一直到根的路径上,颜色c只能影响一次。基于此,我们对每种颜色的所有节点按照dfs序排好序,首先每个节点+1,然后对dfs序相邻的两个节点(注意颜色要相同)求一次lca,在
u013007900
·
2015-02-17 11:00
LCA标记
UVALive
2775 (LA 2775) Hidden Password 后缀数组
题目大意:对于一个字符串定义其one-letterleftcyclicshifts为将其前i(0=L的,在这一区段中找到最小的sa[i]即可细节见代码吧代码如下:Result : Accepted Memory : ?KB Time : 369ms/* *Author:Gatevin *CreatedTime:2015/2/1515:35:05 *FileName:Mononobe_Mitsu
u013738743
·
2015-02-15 16:00
后缀数组
password
hidden
uvalive
la
2775
2775
UVALive
3907 (LA 3907) Puzzle AC自动机 + 搜索DP 记录路径
题目大意:给定s个字符串(1 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include usingnamespacestd; cons
u013738743
·
2015-02-15 15:00
dp
uvalive
AC自动机
puzzle
la
3907
3907
UVALive
4126 (LA 4126) Password Suspects AC自动机 + DP + 剪枝dfs
题目大意:白书练习题就是给了M(0 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include usingnamespacestd; c
u013738743
·
2015-02-13 21:00
password
uvalive
AC自动机
la
Suspects
DFS剪枝
4126
4126
UVALive
3490 (LA 3940) || ZOJ 2619 Generator AC自动机(或KMP) + 整数高斯消元 + 数学期望
题目大意:就是现在一个字符串生成器每次随机扔出前n(n #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include usingnames
u013738743
·
2015-02-12 20:00
ZOJ
generator
高斯消元
uvalive
la
3490
3490
2619
UVALive
4513 (LA 4513) Stammering Aliens 后缀数组 或 hash
题目大意:白书例题给出一个整数m>=1和一个字符串(m #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include usingnames
u013738743
·
2015-02-11 21:00
hash
后缀数组
uvalive
la
4513
4513
Stammering
Aliens
UVALive
4670 (LA 4670) Dominating Patterns AC自动机
题目大意:白书例题对于给出的N个(1 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include usingnamespacestd;
u013738743
·
2015-02-11 16:00
uvalive
AC自动机
patterns
la
4670
4670
Dominating
UVALive
3026 (LA 3026) Period KMP求字符串周期
题目大意:白书例题给出一个长度不超过1000000的字符串S,对于该字符串的所有前缀求其周期,如果周期K>=2输出起始位置是第几个字符和其周期K每一个Testcase之后都要有一个空行大致思路:就是利用KMP的next数组的性质对于长度为n的字符串如果n%(n-next[n])==0则是周期串,周期的部分长度为n-next[n],周期数为n/(n-next[n])从头到尾扫描一次next数组即可,
u013738743
·
2015-02-11 16:00
KMP
uvalive
Period
la
3026
3026
UVA1625 /
UVALive
5841 Color Length DP
简单DP,dp[i][j]表示从第一个序列里取出i个和从第j个序列里取出j个的组合的最小值,可以从两个方向转移过来,每次转移加上已经出现过的且还没有出现完的字母的个数.O(n∗m)的复杂度.1625ColorLengthCarspaintedindifferentcolorsaremovinginarowontheroadasshowninFigure1.Thecolorofeachcarisre
u012797220
·
2015-02-11 15:00
dp
UVALive
3942 (LA 3492) Remember the Word Trie树 + 记忆化搜索
题目大意:白书例题给出由S个不同单词组成的字典和一个长字符串.把这个字符串分解成若干个单词的连接,单词可以重复使用,问有多少种分解方法单词个数1 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #
u013738743
·
2015-02-11 14:00
word
uvalive
Trie树
记忆化搜索
the
remember
la
3942
3942
UVALive
6590 Digraphs
题意:有n个只包含两个字母的字符串,要求构造一个m*m的字母矩阵,使得矩阵的每行每列都不包含所给的字符串,m要尽量大,如果大于20的话构造20*20的矩阵就行了。思路:对每个字符串第一个字母连向第二个字母一条有向边,然后取它的补图。在补图上,如果有环的话,取环上的字母就一定可以构造上20*20的矩阵,如果没环的话矩阵一定是用最长路来构造,假设最长路长度为len,则矩阵大小为(len+1)/2。#i
u013654696
·
2015-02-09 10:00
UVALive
6582 Magical GCD
题意:有一个n个数的序列,定义magicgcd为一个连续子序列的gcd乘上子序列长度,求magicgcd的最大值。思路:对于以i为右端点的子序列,左端点从i到1,gcd肯定是越来越小的,并且gcd是分段的,也就是说,对于一段连续的左端点[a,b],gcd(a,a+1,...i)=gcd(b,b+1,...i),由于gcd减小一次最少除以2,所以对于每个右端点,gcd最多有log10^12段,而对于
u013654696
·
2015-02-09 10:00
UVALive
- 3263 - That Nice Euler Circuit (计算几何~~)
UVALive
-3263ThatNiceEulerCircuitTimeLimit: 3000MS MemoryLimit: Unknown 64bitIOFormat: %lld&%lluSubmit
u014355480
·
2015-02-07 20:00
ACM
计算几何
UVALive
- 3942 - Remember the Word (Trie树)
UVALive
-3942RemembertheWordTimeLimit: 3000MS MemoryLimit: Unknown 64bitIOFormat: %lld&%lluSubmit StatusDescriptionNealisverycuriousaboutcombinatorialproblems
u014355480
·
2015-02-05 11:00
二维数组
ACM
uva
trie
UVALive
3720 Highways 组合数学
根据对称性只考虑\的斜线枚举\所在的边框的大小a,b只有在gcd(a,b)不为1的情况下才是不重复的直线有(n-a)*(m-b)个,如果边框的左上点接着一个边框的右下点则是重复的直线需要减去max(n-2*a,0)*max(m-2*b,0)个重复的边框所以对于一个边长为a,b的边框来说有 (n-a)*(m-b)- max(n-2*a,0)*max(m-2*b,0)条不同的直线最后结果*2Highw
u012797220
·
2015-02-03 16:00
UVALive
- 3027 - Corporative Network (并查集!!)
UVALive
-3027CorporativeNetworkTimeLimit: 3000MS MemoryLimit: Unknown 64bitIOFormat: %lld&%lluSubmit StatusDescriptionAverybigcorporationisdevelopingitscorporativenetwork.InthebeginningeachoftheNenterp
u014355480
·
2015-02-02 11:00
ACM
并查集
uvalive
UVALive
- 3644 - X-Plosives (并查集!!)
X-PlosivesAsecretservicedevelopedanewkindofexplosivethatattainitsvolatilepropertyonlywhenaspecificassociationofproductsoccurs.Eachproductisamixoftwodifferentsimplecompounds,towhichwecallabindingpair.I
u014355480
·
2015-02-02 11:00
ACM
并查集
uvalive
UVALive
- 3135 - Argus (优先队列!!)
UVALive
-3135ArgusTimeLimit: 3000MS MemoryLimit: Unknown 64bitIOFormat: %lld&%lluSubmit StatusDescriptionAdatastreamisareal-time
u014355480
·
2015-02-01 00:00
ACM
优先队列
uvalive
UVALive
4723 水模拟
http://acm.bnu.edu.cn/v3/contest_show.php?cid=5772#problem/L输入n元组(3 #include #include #include #include #include #include #include #include #include usingnamespacestd; #defineRD(x)scanf("%d",&x) #defi
u012774187
·
2015-01-31 21:00
(2分+半平面交) Most Distant Point from the Sea
UVALive
3890
题意,在大海的中央没有,有一个凸n边行的小岛。求出岛上离海上最远的距离。题解:假设在岛上有一个点距离海平面为k。 那么这些点实际上是离每条边距离为k的直线围成的面积。 所以可以直接2分+半平面角。#include #include #include #include #include #include #include #include #include #include #include #
u012127882
·
2015-01-19 21:00
ACM
uva
计算几何
凸包扫描 + 旋转卡壳
UVALive
4728
题意:给n个正方形,求正方形的顶点之间的最大距离。思路:可以确定的是最远距离的2个点一定在这些正方形的顶点的凸包上的2个点。所以先求一次凸包。求凸包上2个点的最打距离,实际就是就凸包的直径,有成型的算法。可以用旋转卡壳直接求解。#include #include #include #include #include #include #include #include #include #i
u012127882
·
2015-01-18 18:00
ACM
uva
计算几何
旋转卡壳
UVALive
3263 That Nice Euler Circuit 计算几何+欧拉定理
这是白书上面的原题,题意是求闭合的n条线段把平面分成了几个区域。 就是一个 欧拉定理V+F-E=2 。v是图的顶点数,F是图的面数,E是图的边数。·我自己在写的时候有一个地方跟费解的,我把每个节点都重复了算了一次,最后去重,结果是wa了。到现在还不清楚问什么。。。。。反正都去了重的,重复一遍为什么错了。T_T。#include #include #include #include #inclu
u012127882
·
2015-01-07 21:00
ACM
uva
计算几何
UVALive
3938 and UESTC 844
UESTC844and
UVALive
3938Problem 给一个长度为N的数列A,进行M次操作,操作分两种;一,修改数列位置x的值为val;二,查询数列[L,R]区间中的最大连续子列,输出数值大小和起末位置
UESTC_peterpan
·
2015-01-05 22:00
线段树
单点更新
区间查询
最大连续子列
UVALive
5902
UVALive
5902Problem 给一个元素总数为N的栈(stackst)。起初栈顶到栈底元素为1,2,3,......,N。
UESTC_peterpan
·
2015-01-02 16:00
线段树
单点查询
区间更新
Constructive
UVALIVE
4857 Halloween Costumes (区间DP)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=15381题意:有n个party,m种衣服,告诉你了这n个party需要穿的衣服,每次衣服脱了就不能再穿了。问他最少需要多少套衣服。分析:我们想要衣服最少那么肯定要换的次数最少,就是使尽量多的场次穿一样的衣服,那么就类似这个问题了,求一个区间内有多少个括号匹配。我们这个
u013790563
·
2014-12-16 16:00
UVALive
6198 A Terribly Grimm Problem 二分匹配 求字典序最小解
题目链接:点击打开链接题意:给定一个区间[l,r]每个数都选择他的其中一个因子。使得任意两个数选择的因子各不相同,且字典序最小。思路:先对每个数分解质因数。然后从l开始枚举,让i选择最小的因子,判断[i+1,r]是否有可行解,若有则让i选择这个因子。如此枚举下去即可==复杂度不能直视#include #include #include #include #include #include #inc
qq574857122
·
2014-11-15 22:00
UVALive
6195 The Dueling Philosophers Problem 强连通缩点+拓扑序
题目链接:点击打开链接给定n个点m条限制下面限制u->v表示u必须排在v前面,问把n个数排成一排有多少种方法。若有0种输出01种输出1多种输出2**边的数量题目里少了个0==思路:0种就是有环,缩点一下判断强连通分量是不是n个。1种就是拓扑序时队列里任何时刻都只有一个点否则就是2种#pragmacomment(linker,"/STACK:1024000000,1024000000") #incl
qq574857122
·
2014-11-15 18:00
UVAlive
4035 Undetectable Tour
Mickeyisassignedatasktohelpthepuppiestoescapebytravellingfromthesouth-westcornerofagridtothenorth-eastcornerundetectedbythesetofmotiondetectorsdeployedbyCruella.Thereare k motiondetectors (1k300) whic
Wiking__acm
·
2014-11-11 09:00
UVALive
5103 Computer Virus on Planet Pandora Description 求模式串出现的种数 AC自动机
题目链接:点击打开链接题意:case数n个模式串一个母串。问:n个模式串出现的种数(一个模式串多次出现只算一次)对于"ABC",若母串出现了"CBA"这样的反串,也算出现了。所以:1ABCCBA ans=1#include #include #include #include #include usingnamespacestd; constintmaxnode=250*1000+10000; c
qq574857122
·
2014-11-10 23:00
UVALive
3983 Robotruck (单调队列)
题目链接~~>做题感悟:这是接触的单调队列的第一题,终于把它弄懂了,结合白书以及网上的各种资料。解题思路: 单调队列DP 这题的重点就在变换动态转移方程上,首先设dp[i]为处理到第i个垃圾所用的最小距离,那么很容易想到动态转移方程:dp[i]=min{dp[j]+d(j+1) + d(j+1,i)+d(i)} 且w(j+1,i) dp[i]=min{dp[j
u011074149
·
2014-11-08 11:00
UVALive
- 2911 Maximum
题目大意:给定m,p,a,b.根据题目中的两个条件.求出的 xp1 + xp2 +...+ xpm最大值.解题思路:贪心,由于题目明确了p是偶数,所以x绝对值越大的时候x^p值越大.然后我们根据条件,发现x尽可能取sqrt(a)是最好的,但是不一定能全部取得sqrt(a),那么多出来的还要拿一部分去抵消。这时候我们就用 -1/sqrt(a)去抵消是最好的,这样就能满足最大了,不过要注意,抵消到最后
kl28978113
·
2014-11-06 21:00
上一页
12
13
14
15
16
17
18
19
下一页
按字母分类:
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
其他