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
6622 Absurdistan Roads
题意:n(2000)个点的图 给出它的最短路矩阵 用n条边构造出满足最短路矩阵的图 保证图连通且解存在思路:我们可以先保证图连通 那么需要n-1条边 联想到是不是最小生成树??可以这样想 假设abc点已经连通 现在考虑再加入到连通块中一个点比如d 如果d-b的距离是d到abc三个点中最短的 那么这条边一定要被选 因为如果不选d-b 假设选了d-a 那么d-a已经长于d-b了 所以d-b的距离将不永
u013351160
·
2014-11-06 21:00
图论
uva
UVALive
- 2519 Radar Installation
题目大意:给出n和半径r,然后给出n个坐标,现在要求在x轴选出最少的点,以这些点为圆心,半径为r画圆,要求将所有点均在画的圆内解题思路:区间选点问题#include #include #include usingnamespacestd; structNode{ doublel; doubler; }A[1005]; intcmp(Nodea,Nodeb){ returna.rd){ flag
kl28978113
·
2014-11-06 13:00
UVAlive
4100 - Sharif Super Computer (2SAT)
DescriptionSSCisasupercomputerdesignedinSharifUniversityhaving2``master"and n ``slave"processors.Itcanrunsoftwaresinparallel:Oneofthemasterprocessorsloadsthesoftwareontheslaveprocessorssuchthatthememo
Wiking__acm
·
2014-11-05 19:00
UVALive
- 2519 Radar Installation(区间选点问题)
题意:在坐标轴的一二象限,给出n个岛屿的坐标,以及雷达的扫描距离,要求在x轴上放尽量少的雷达能够覆盖全部岛屿。解析:区间选点问题。先将岛屿的坐标转换为在x轴上覆盖的区间,然后用区间选点的思想求解。#include #include #include #include usingnamespacestd; constintINF=0x3f3f3f3f; constintN=1010; structN
HelloWorld10086
·
2014-11-05 16:00
uvalive
installation
radar
2519
UVALive
- 2326 Moving Tables
题目大意:在一个走廊上有400个教室,现在有一些桌子要移动,每次移动需要十分钟,但是不同房间的桌子可以在同一个十分钟内移动,只要走廊没有被占用就可以,注意教室序号1和2是在对面。注意:给出的区间没有分左边或者是右边比较大。解题思路:区间覆盖问题,将所有给出的区间处理一下,去除对面房间这样的情况。让后将区间按照l和r的值进行排序,然后看进行几次区间覆盖可以使得所有区间均被用上。#include #i
kl28978113
·
2014-11-05 15:00
UVALive
3027 Corporative Network
---恢复内容开始--- CorporativeNetworkTimeLimit: 3000MS MemoryLimit: Unknown 64bitIOFormat: %lld&%llu[Submit] [GoBack] [Status] Description Averybigcorporationisdevelopingitscorporativenetwork.
u012797220
·
2014-11-04 11:00
UVALive
4329 Ping pong
PingpongTimeLimit: 3000MS MemoryLimit: Unknown 64bitIOFormat: %lld&%llu[Submit] [GoBack] [Status] Description N(3N20000) pingpongplayerslivealongawest-eaststreet(considerthestreet
u012797220
·
2014-11-04 11:00
UVALive
3644 X-Plosives
X-PlosivesTimeLimit: 3000MS MemoryLimit: Unknown 64bitIOFormat: %lld&%llu[Submit] [GoBack] [Status] Description X-Plosives Asecretservicedevelopedanewkindofexplosivethatattainitsvolatilepropertyonl
u012797220
·
2014-11-04 11:00
UVALive
6091 Trees 并查集(水
题目链接:点击打开链接题意:给定n个点m条边的无向图。问这个图里有几棵树(即环不算树,一个连通块若有a个点,则只能有a-1条边)思路:并查集对每条边进行判断,若这条边连接的2个点是已经在同一个连通块里了,那么这个连通块就不是树,标记掉就可以了#pragmacomment(linker,"/STACK:1024000000,1024000000") #include template inlineb
qq574857122
·
2014-11-02 12:00
The 2012 Rocky Mountain Regional Contest 题解
A:
UVALive
6084HappyCamper#include typedeflonglongll; intmain(){ lll,v,p; intcas=0; while(~scanf("%lld%
qq574857122
·
2014-11-02 11:00
UVALive
6088 Approximate Sorting 构造题
题目链接:点击打开链接题意:给定一个n*n的01矩阵我们跑一下样例==40111000001000110 0123\|____0|01111|00002|01003|0110用0-n-1随便构造一个序列:如:1230我们计算1230的权值:intans=0;对于个位0,我们查找第0行:0111,0前面的数有123,则ans+=a[0][1],ans+=a[0][2],ans+=a[0][3]对于十
qq574857122
·
2014-11-02 11:00
The 2013 South America/Brazil Regional Contest 题解
A:
UVALive
6525Attackingrooks题解:点击打开链接C:
UVALive
6527Countingones题解:点击打开链接E:
UVALive
6529Eleven题解:点击打开链接F:
UVALive
6530Football
qq574857122
·
2014-11-02 11:00
【
UVALive
】5135 Mining Your Own Business 点双连通+割顶
传送门:【
UVALive
】5135MiningYourOwnBusiness题目分析:首先我们可以轻易确定救援出口设置在割顶上一定不是最优的,同时如果一个点双连通分量内有多个割顶则不需要设置救援出口,只有当该分量内割顶数为
u013368721
·
2014-10-31 21:00
uvalive
UVALive
6530 Football (水
题目链接:点击打开链#include #include #include usingnamespacestd; typedeflonglongll; vectors; intmain(){ intn,k; while(~scanf("%d%d",&n,&k)){ s.clear(); intsum=0,cnt=0; for(inti=0,x,y;iy)sum+=3; elseif(x==y){ c
qq574857122
·
2014-10-30 13:00
UVALive
6529 Eleven 区间dp
题目链接:点击打开链接题意:给定一个数,重新排列这个数的各个位置使得1、无前导02、能被11整除问:有多少种组合方法#include #include #include usingnamespacestd; typedeflonglongll; constintmod=1000000000+7; constintN=100+2; constintL=50+2; constintM=L*9; ch
qq574857122
·
2014-10-30 13:00
UVALive
6527 Counting ones dfs(水
题目链接:点击打开链接#include #include usingnamespacestd; typedeflonglongll; llre; vectorp; voiddfs(intdep,intg){ if(dep==0) return; if(p[dep-1]==1){ re+=(dep-1)*(1ll0){ p.push_back(x%2); x/=2; } for(inti=0;i<(
qq574857122
·
2014-10-30 13:00
UVALive
6525 Attacking rooks 二分匹配 经典题
题目链接:点击打开链接题意:给定n*n的棋盘,可以在'.'上摆象棋中的车(X是墙壁)使得任意两个车都不能互相攻击到问:最多能摆多少个车。思路:二分匹配1、若没有X,那么做法就是X点集为行,Y点集为列,对于图上的每个点所在的行和列(x,y)建一条边x->y2、有了X,那么对于每个点所在的上方能接触到的X必须各不相同,所以给每个X标号,第一个X标记成n+13、这样X点集就是行(1-n)和n+1-siz
qq574857122
·
2014-10-30 00:00
UVALive
6531 Go up the ultras 单调栈+RMQ
题目链接:点击打开链接题意:给定n座山下面n个数字表示n座山的高度若这座山u合法,则要满足:1、若u的左边存在比u高的山,设v是u左边距离u最近的且严格比u高的山,在[v,u]之间至少有一座山x,使得x和u的高度差>=150002、右边也同理。同时满足1、2的情况则算合法。问:输出所有合法的山。思路:求距离某个点最近的山就是维护一个单调栈,然后给山的高度求一个RMQ。写写写。。。#pragmaco
qq574857122
·
2014-10-30 00:00
UVALive
2326 Moving Tables(贪心+不相交区间问题)
题目大意:著名的计算机公司租了一个楼层的建筑物,其形状面积描述如下:这个楼层在沿着走廊的北面和南面有200个房间。最近该公司提出了计划改革系统。改革包括搬动客房里的多很桌子。由于走廊狭窄,所有桌子都很大,只有一张桌子可以通过走廊。就需要些让搬动更加有效率的方法。经理想出了以下计划:搬动一张桌子从一个房间到另一个房间可以在10分钟内。当搬动一张桌子从房间i到房间j,房间i和房间j前面的部分走廊就被占
HelloWorld10086
·
2014-10-29 15:00
uvalive
tables
Moving
2326
UVALive
- 2322 Wooden Sticks
题目大意:给出要求切的n个小木棍,每个小木棍有长度和重量,因为当要切的长度和重量分别大于前面一个的长度和重量的时候可以不用调整大木棍直接切割,否则要进行调整。现在要求求出一个序列,使得调整的次数最少,输出调整的次数。解题思路:将n个小木棍先按照长度和重量的大小排序,然后按照顺序将小木棍分堆,可入堆的要求是长度和重量大于当前这个堆的长度和重量,入堆之后,要将新的木棍的属性赋值个这个堆,如果当前所有堆
kl28978113
·
2014-10-28 23:00
UVALive
2322 Wooden Sticks(贪心)
题目大意:有n根木棒,我们预先知道了这些木棒的长度l和重量w,现在要将这n根木棒送入机器进行处理。第一个木棒处理的时间为1min当前木棒的长度为l,重量为w,当前木棒右边的木棒长度为l',重量为w'。如果l'>=l,w'>=w,这处理右边这根木棒时,不要花费时间,否则花费1min时间。请输出最少需要花多少的时间。解析:贪心题,可以先将木棒进行排序,先按照长度进行升序排序,如果长度相同就按照重量升序
HelloWorld10086
·
2014-10-28 20:00
uvalive
Wooden
Sticks
2322
UVALive
3263 That Nice Euler Circuit 计算几何欧拉定理
欧拉定理:P+F-E=2ThatNiceEulerCircuitTimeLimit: 3000MS MemoryLimit: Unknown 64bitIOFormat: %lld&%lluSubmit StatusDescriptionLittleJoeyinventedascrabblemachinethathecalledEuler,afterthegreatmathematician.In
u012797220
·
2014-10-21 12:00
UvaLive
6667 Longest Chain (分治求三元组LIS&树状数组)
题目链接:here题意:和hdu4742类似。区别就是一部分三元组是直接给出的。还有一部分是用他给的那个函数生成的。还有就是这里的大于是严格的大于a>b必须ax>bx,ay>by,az>bz。思路:思路也和hdu4742here类似。只是有几个比较棘手的问题。现在变成严格大于了。对于y还是很好办的。我们在排序y的时候可以使的标号大的排在前面这样就可以防止y和它一样的更新它了。感觉比较麻烦的是x一样
y5885922
·
2014-10-10 00:00
c
算法
ACM
UVAlive
6560 - The Urge to Merge(状压dp)
LA6560-TheUrgetoMerge题目链接思路:状压dp,1表示要和下一个位置竖直乘,0表示不,这样递推下去即可代码:#include #include #include usingnamespacestd; constintN=1005; constintINF=0x3f3f3f3f; intg[N][3],dp[2][8],n; booljudge(intu,intf){ for
u011217342
·
2014-10-07 21:00
【
UVALive
】4043 Ants KM匹配
传送门:【
UVALive
】4043Ants题目分析:裸的最小权匹配。将权值取反进行最大权匹配即可。
u013368721
·
2014-10-05 11:00
uvalive
UVALive
3713-Astronauts(2-SAT)
题目链接题意:有A、B、C3个任务分配给n个宇航员,其中每个宇航员恰好分配一个任务。假设n个宇航员的平均年龄为x,只有年龄大于x的才能领取A任务;只有年龄严格小于x的才能领取B任务,而任务C没有限制。有m对宇航员相互讨厌,因此不能分配同一任务。求出是否能找出符合的任务方案。思路:用xi表示第i个宇航员的分配方案。年龄大于等于x的可以选择A(xi=true)和C(xi+1=false),年龄小雨x的
u011345461
·
2014-10-04 21:00
[Regionals 2012 :: Asia - Tokyo ]
option=com_onlinejudge&Itemid=8&category=566A
uvalive
6182 - GinkgoNumbers题目意思:规则:1、·=2、如果是的“除数”,则存在,
cc_again
·
2014-10-04 18:00
uvalive
6669 hidden tree(好壮压dp)
题目见here题意:给一个序列arr[],你从中选择一些子序列,将子序列的值从左往右依次放到某棵二叉树的叶子节点上,使得除了叶子,所有节点左右子树权和相等。子树的权和=子树叶子的权和。如果存在这样一棵二叉树,选择的子序列就是合法的。问,最长的合法子序列是多少。思路:枚举二叉树可能的叶子的最小权(入手点),显然,能和此数一起组成二叉树的数,要么和这个数相等,要么是这个数的2^k倍。把满足这种关系的数
y5885922
·
2014-10-03 00:00
c
算法
ACM
UVALive
6181 Mystery (水
题目链接:点击打开链接#include #include #include usingnamespacestd; constintN=515; chars[N]; intmain(){ intT,cas,n,m,x; scanf("%d",&T); while(T-->0){ scanf("%d",&cas);getchar(); gets(s); intn=strlen(s); scanf("
qq574857122
·
2014-09-28 19:00
UVALive
6179 Windmill Animation 规律题
题目链接:点击打开链接打表找规律#include #include #include #include #include #include usingnamespacestd; constdoublePi=acos(-1.0); typedeflonglongll; constintN=100; intn,k,now,pre; structnode{ doublex,y,ans; }a[N]; d
qq574857122
·
2014-09-28 18:00
UVALive
3211- Now or later(二分+2-SAT)
题目链接题意:有n架飞机。每架飞机都可以选择早着陆和晚着陆两种方式之一,且必须选择一种。任务就是安排所有飞机着陆时,相邻两个着陆时间间隔的最小值尽量大。思路:用二分处理最小值尽量大。该题目可以转化为是否存在一个调度方案,使得相邻两个着陆时间差总是不小于P,进一步转化为任意两个着陆时间差总是不小于P。,假设布尔变量xi表示第i架飞机是否早着陆,唯一限制就是“时间差小于P的两个着陆时间不能同时满足。每
u011345461
·
2014-09-28 15:00
UVALive
6176 Faulhaber's Triangle C++大数模拟
题目链接:点击打开链接大数模拟#include #include #include #include #include #include #include #include #include usingnamespacestd; typedeflonglongll; constintN=450; structnode{ llx,y; voidprint(){ if(y==1||x==0) prin
qq574857122
·
2014-09-28 12:00
UVALive
6177 The King's Ups and Downs 规律题
题目链接:点击打开链接#include #include #include #include #include #include #include #include #include usingnamespacestd; typedeflonglongll; constintN=22; lla[N]; voidprepare(){ a[1]=1,a[2]=2,a[3]=4,a[4]=10,a[5]
qq574857122
·
2014-09-28 12:00
UVALive
4287-- Proving Equivalences(SCC+Tarjan)
题目链接题意:证明n个命题全部等价,已经给出m此推导,求至少还要几次推导才能完成整个证明。思路:可以将命题看作结点,推导看作有向边,则本题就能转化为n个结点m条边的有向图。利用tarjan算法得到所有强连通分量,将这些强连通分量当作一个点,得到一个DAG。之后就可以求次数了。注意当强连通数量为1时,就代表着证明已经完成了。代码:#include #include #include #include
u011345461
·
2014-09-28 09:00
UVALive
6174 Pen Counts 规律
题目链接:点击打开链接打一下表就能找到规律了。#include #include #include #include #include usingnamespacestd; typedeflonglongll; constintN=10010+2; inlinevoidrd(int&n){ n=0; charc=getchar(); while(c'9')c=getchar(); while(c>
qq574857122
·
2014-09-27 18:00
UVALive
6175 Maximum Random Walk 期望+概率dp
题目链接:点击打开链接#include #include #include #include #include #include #include #include #include usingnamespacestd; typedeflonglongll; constdoubleeps=1e-15; constintN=1000+2; constintM=2000+2; doubled[2][
qq574857122
·
2014-09-27 18:00
UVALive
6173 Casting
题目链接:点击打开链接#include #include #include usingnamespacestd; constintN=10000005; chars[N]; intmain(){ intT,cas,k; scanf("%d",&T); while(T-->0){ scanf("%d%d%s",&cas,&k,s); intn=strlen(s); intsum=0; for(in
qq574857122
·
2014-09-27 18:00
UVALive
6172 Hailstone HOTPO (水
题目链接:点击打开链接#include #include #include #include #include usingnamespacestd; typedeflonglongll; inlinevoidrd(int&n){ n=0; charc=getchar(); while(c'9')c=getchar(); while(c>='0'&&c>=1; maxx=max(maxx,x); }
qq574857122
·
2014-09-27 18:00
UVALive
5135 - Mining Your Own Business(BCC)
题目链接题意:n条隧道由一些点连接而成,其中每条隧道链接两个连接点。任意两个连接点之间最多只有一条隧道。任务就是在这些连接点中,安装尽量少的太平井和逃生装置,使得不管哪个连接点倒塌,工人都能从其他太平井逃脱,求最少安装数量和方案。思路:其实本题就相当于在一张无向图中,涂尽量少的黑点,使得任意删除哪个点,每个连通分量至少有一个黑点。因为不同的连通分量最多只有一个公共点,那一定是割点。可以发现,涂黑割
u011345461
·
2014-09-26 19:00
UVALive
3523-Knights of the Round Table(BCC+二分图判定)
题目链接题意:有n个骑士经常举行圆桌会议,每次至少3人参加,且相互厌恶的其实不能坐在圆桌相邻的位置。如果发生意见分歧,则要举手表决,因此参加的骑士数目一定要为奇数。统计有多少人不能参加任何一个会议。思路:这是大白上面的一道例题。我们可以先根据骑士之间的关系建立无向图G,则题目就转化为求不再任何一个简单奇圈上的结点个数。如果图G不连通,就分别对G的连通分量求解。简单圈上的所有结点必然属于同一个双连通
u011345461
·
2014-09-26 17:00
UVALive
4255-Guess(拓扑排序)
题目链接题意:对于一个序列a1,a2...an,我们可以计算出一个符号矩阵S,其中Sij为ai+..+aj的正负号。给出符号矩阵,要求输出一个对应的序列。思路:使用连续和转化为前缀和之差的技巧,将前缀和当做一个顶点,那样就能确立边的关系,以及入度数,之后用拓扑排序求解,先着一个入度为0的顶点,删除其相关的边,循环操作。代码:#include #include #include #include
u011345461
·
2014-09-26 09:00
UVALive
- 5908(UVA1517)Tracking RFIDs(暴力)
UVALive
-5908(UVA1517)TrackingRFIDs(暴力)题目链接题目大意:给你S个传感器,然后每个传感器的感应半径是R,有W堵墙,已经传感器的感应范围会因为碰到一堵墙而减少1,那么如果这个感应器和某个物品中间有
u012997373
·
2014-09-24 11:00
UVALive
3942 - Remember the Word(DP,数组Trie+指针Trie)
UVALive
3942-RemembertheWord(DP,数组Trie+指针Trie)ACM题目地址:
UVALive
3942-RemembertheWord题意: 给一些单词,然后给一个长的单词,
hcbbt
·
2014-09-23 21:00
ACM
UVALive
- 3263 That Nice Euler Circuit (几何)
UVALive
-3263ThatNiceEulerCircuit(几何)ACM题目地址:
UVALive
-3263ThatNiceEulerCircuit题意: 给出一个点,问连起来后的图形把平面分为几个区域
hcbbt
·
2014-09-19 20:00
ACM
UVALive
2531 The K-League 网络流+建图
题目链接:点击打开链接白书例题P369注意的就是即使这队接下来全胜也是无法赢,要直接判掉。#include #include #include #include #include #include #include usingnamespacestd; #definellint #defineN700 #defineM20000 #defineinf107374182 #defineinf64
qq574857122
·
2014-09-18 23:00
二进制输入或文件的读取
例如:
UVALive
6426intmain() { ints[105][105]; intn,m,a;//二进制的输入读取 fre
u011466175
·
2014-09-11 20:00
UVALive
- 3027Corporative Network(带权并查集)
题目:
UVALive
-3027CorporativeNetwork(带权并查集)题目大意:有n和节点,初始时每个节点的父节点都不存在,然后有下面两种操作:I操作Ia,b将a的父节点变成b。
u012997373
·
2014-09-09 10:00
UVALive
- 3644X-Plosives(并查集)
题目:
UVALive
-3644X-Plosives(并查集)题目大意:给出K个简单的化合物,正好包含K种元素,那么将它们装车的时候,已经拿到的化合物再来的时候就应该拒绝装车,安全起见,然后给你装车的化合物列表
u012997373
·
2014-09-09 10:00
UVALive
4887 Soccer 状压+模拟
题目链接:点击打开链接题意:n个球队,m场比赛下面n行表示n个球队的名字。下面m场比赛表示该场比赛的2个队得分。-1表示我们可以任意填。这种任意填的比赛场数不超过12场。求:胜一场球队得2分,平得1分,败得0分。求每个球队最好名次与最差名字。每场只有3个状态,最多只有12场,所以状压一下,3^12个状态。#include #include #include #include #include #i
qq574857122
·
2014-09-05 23:00
UVALive
4882 Parenthesis 删除不必要的括号 模拟题
题目链接:点击打开链接题意:给定一个合法的序列,删掉所有不必要的括号。#include #include constintMAX_N=10007; chara[MAX_N]; intstack[MAX_N],top; boolmark[MAX_N],stacknow[MAX_N]; intmain(){ while(1==scanf("%s",a)){ intlen=(int)strlen(
qq574857122
·
2014-09-05 23:00
上一页
13
14
15
16
17
18
19
20
下一页
按字母分类:
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
其他