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
UVa Live Archive 2911 & POJ 3066 - Maximum
传送门
UVaLive
Archive2911&POJ3066-Maximum题意:计算满足题目的两个条件的最大值。因为p一定是偶数,所以只要让x绝对值越大越好。
u014247806
·
2014-06-24 17:00
ACM
poj
live
uva
archive
UvaLive
-4287-Proving Equivalences
有向图的双联通分量,有个结论是缩点后求出入度和出度的最大值就是答案代码:#include #include #include #include usingnamespacestd; constintmaxn=40000; constintmaxm=80000; intn,m,e,head[maxn],nxt[maxm],pnt[maxm]; intdfs_clock,scc_cnt,dfn[max
z309241990
·
2014-06-23 20:00
双联通分量
UVa Live Archive 3635 & POJ 3122 - Pie
传送门
UVaLive
Archive3635&POJ3122-Pie题意:每人一份苹果派,求让每人都分到的最大的体积。每人只能拿一块。二分吧少年,思路挺简单,不多说了。
u014247806
·
2014-06-23 12:00
ACM
poj
uva
【
UVALive
】 3353 Optimal Bus Route Design 费用流
传送门:【
UVALive
】3353OptimalBusRouteDesign题目大意:给出一个n(n #include #include usingnamespacestd; #defineClear
u013368721
·
2014-06-14 13:00
网络流
uvalive
UVALive
6755 - Swyper Keyboard
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=&problem=4767&mosmsg=Submission+received+with+ID+1453512模拟出所有对应字母二元组对应的字符串,保存到map里面。难点是怎么计算,我写的比
csuhoward
·
2014-05-18 16:00
模拟
DFS
la
UVALive
4818 - Largest Empty Circle on a Segment (计算几何)
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2819 题目意思: 给了平面上的n条线段: 让你在x轴上[0,L]的范围内找一个点作为圆心,画一个圆,这个圆不能把线段包含在里面去。
·
2014-05-11 21:00
live
UVALive
6525 Attacking rooks(二分图最大匹配)
Attackingrooks在一个n*n的图中,‘X’代表卒,在‘.’的地方放置尽量多的车,使得它们不互相攻击。问最多可放置车的数目。和FireNet一样,但这里图是100*100的,搜索会超时(其实我还脑残的试了试).正解是二分图匹配,将每行中连续为.的作为X集合中一个点,同样,将每列中连续为.的点作为Y集合中的一个点。对原图中每个'.',将其对应的X集合和Y集合中的标号建边,便形成了二分图,对
u013081425
·
2014-05-07 15:00
二分图
UVALive
- 4108 SKYLINE (线段树的区间修改)
题意:求覆盖的长度,覆盖的要求是该线段最高思路:线段树的区间修改,每次都插入一条线段,如果该线段覆盖的区间的最高值小于插入的线段,那么计算长度的时候遇到一条线段被分开会很麻烦,需要rp--#include #include #include #include usingnamespacestd; #definelson(rt>1; } }t[MAXNt[rt].Max) t[rt].Max=h;
u011345136
·
2014-05-06 18:00
【贪心】
UVALive
6530——Football
Yourfavoritefootballteamisplayingacharitytournament,whichispartofaworldwidefundraisingeorttohelpchildrenwithdisabilities.Asinanormaltournament,threepointsareawardedtotheteamwinningamatch,withnopointst
mig_davidli
·
2014-05-04 23:00
UVALive
6489 Triangles LA 6489 Triangles
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=625&page=show_problem&problem=4500题意:给N个点 求出组成的最小三角形面积和最大三角形面积 详细题解:这丫的题目坑了我一个月,然后A了之后觉得自己的方法完全是个错的0.0一开始的想法是
fjy4328286
·
2014-05-03 21:00
UVALive
3713 Astronauts
2sat....可看出每个宇航员可以有两种任务选择(A/B)或C对于每一对有矛盾的宇航员,如果属于同一年龄段那么这两个人选择的任务不应该相同如果属于不同的年龄段,则俩个人不能同时选择任务CAstronautsTimeLimit: 3000MS MemoryLimit: Unknown 64bitIOFormat: %lld&%llu[Submit] [GoBack] [Status] Des
u012797220
·
2014-05-02 17:00
UVALive
3263 That Nice Euler Circuit
给出一个点的序列,按顺序做一笔画,求最后的图形把平面分成了几部分。 欧拉定理:E:线段数,V节点数,F平面数;有F+V-E==2. 所以存下来所有线段之后,求出不同的交点数,再根据这些交点找出分割后的线段数,最后又公式算出F即可。#include #include #include #include #include #include typedefdoubletype; usingnam
yanglei040
·
2014-04-07 18:00
UVALive
5783 Everyone out of the Pool
地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3794Whenyourentatableatapoolhall,theproprietorgivesyoua4-by-4trayof16balls,asshowninFigure(a)b
u012964281
·
2014-03-09 19:00
C++
ACM
uva
uva 1421 &
uvalive
4253 Archery(二分)
题目连接:uva1421 &
uvalive
4253 Archery题目大意:有n个平行与x轴的线段,每条线段代表一个靶子。
u011328934
·
2014-03-04 22:00
UVA 1421
UVAlive
4253 - Archery(二分)
Korea'sreputationinarcheryiswellknownbecausetheKoreanarcheryteamshavebeensweepingalmostallgold,silver,andbronzemedalsintheOlympicGames.AnarcherygameICPCsupportedbyNEXON(oneofKorea'sleadingpublishersof
u011217342
·
2014-03-04 18:00
UVALive
- 4255 Guess
题意:对于一个序列,我们可以计算出一个符号矩阵,其中Sij为ai+...+aj的正负号,现在给你一个矩阵的上三角,求一个满足的序列思路:如果Sij>0的话,那么代表前缀和差Bj-Bi-1>0,那么Bj>Bi-1,由此我们可以得到一系列的关系,利用toposort排序后,得到一个递增或者递减的序列,就可以求出来各个数了#include #include #include #include #incl
u011345136
·
2014-02-28 20:00
UVALive
- 5913 Dictionary Size
题意:求有前后缀组成的不同的字符串思路:先用Trie树来统计前后缀不同的字符串,然后就是去重例如:前后缀分别是x1x1x1x1a,ax2x2x2x2x2的话,那么可能重复的字符串x1x1x1x1ax2x2x2x2x2,统计前后缀分别以a结尾的个数,然后减去#include #include #include #include usingnamespacestd; constintMAXN=5000
u011345136
·
2014-02-26 19:00
UVALive
- 5902 Movie collection
题意:1~n按从上到下排列,m次询问,每次问x之前的有多少个数字,并且将x放到队首思路:树状数组,首先将1~n下标向后移m位,每次询问后都将一个数字移到队首,每次都更新了节点的大小,并且问到了前缀和,所以用树状数组#include #include #include #include usingnamespacestd; constintMAXN=201010; intpos[MAXN],c[M
u011345136
·
2014-02-23 20:00
UVALive
- 2191 Potentiometers
题意:S操作将x改为y,M操作求[x,y]的和思路:稍加改动一下树状数组就行了,当然线段树也可以#include #include #include #include usingnamespacestd; constintMAXN=400005; intn,t[MAXN]; intlowbit(intx){ returnx&(-x); } voidUpdate(intx,intd){ whi
u011345136
·
2014-02-23 19:00
UVALive
- 3026 Period
题意:给定一个长度为n的字符串S,求它每个前缀的最短的循环节,换句话来说,对于每个i,求一个最大的整数k>1,使得S的前i个字符组成的前缀是某个字符串复制k次得到的,输出所有存在的k的i和对应的k思路:如果这i个字符组成一个周期串,那么循环节就是(i-f[i]),f[i]对应KMP的next[]数组#include #include #include #include usingnamespace
u011345136
·
2014-02-21 18:00
UVALive
- 3942 Remember the Word (Trie)
题意:给你一个有S个不同单词组成的字典和一个长字符串,把这个字符串分解成若干个单词的连接,有多少种方法思路:转化为Trie树的形式储存,用d(i)表示字符从i开始的字符串的分解方案,每次搜索到一个单词末的时候就可以累加了#include #include #include #include constintmaxnode=300001; constintsigma_size=26; constin
u011345136
·
2014-02-20 12:00
UVALive
- 4329 Ping pong (树状数组)
题意:一条街上住着n个乒乓球爱好者要组织比赛,每场比赛需要3个人,两个选手一个裁判,他们有一个奇怪的规定,即裁判必须住在两个选手之间,而且能力值也在两个选手之间,问一共能有几场比赛思路:考虑第i个人当裁判的情形,假设a1到ai-1中有ci个比ai小,那么就有(i-1)-ci个比ai大同理可以得到在ai+1到an的情况,那么就一共有:ci*(n-i-di)+di*(i-ci-1)种情况然后按照树状数
u011345136
·
2014-02-18 22:00
UVALive
- 3644 X-Plosives
题意:每个化合物都是有两种元素组成的,如果车上存在k个简单化合物时,如果它和已装车的化合物形成易燃物的话,你就应该拒绝装车,否则装车,输出没有装车的个数思路:简单的并查集应用#include #include #include #include usingnamespacestd; constintMAXN=100005; intf[MAXN]; intfind(intx){ if(x!=f[
u011345136
·
2014-02-18 18:00
UVALive
6602 Counting Lattice Squares
给定一个n*m的网格,求面积为奇数的正方形有多少个.首先是n*m个面积为1的,然后剩下的要么是边长为奇数,要么被这样一个奇数边长所包围。原因如下:对于一个边长不平行于坐标抽的正方形,其边长一定是某个长方形的对角线,而且长方形长宽a,b一定是一奇数,一偶数,这样area=a^2+b^2才是奇数。所以可以对任何奇数i #include #include #include #include #
·
2014-02-17 16:00
count
UVALive
- 3135 Argus
题意:有一系列的事件,它每Period秒钟就会产生编号为qNum的事件,你的任务是模拟出前k个事件,如果多个事件同时发生,先处理qNum小的事件思路:用优先队列模拟#include #include #include #include #include usingnamespacestd; structitem{ intqNum,Per,Time; booloperatora.Time||(Ti
u011345136
·
2014-02-17 14:00
UVALive
6609 Minimal Subarray Length (查找+构建排序数组)
描述:给定n个整数元素,求出长度最小的一段连续元素,使得这段元素的和sum>=X.对整个数组先求出sum[i],表示前i个元素的和,然后依次求出以a[i]为起点的,总和>=X的最小长度,每次考虑新元素a[i]时,将a[i]加入数组,pa[—q]=mp(sum[i],i),这样pa[q……….p]形成一段总和递增的序列,下标也是逐渐增大。最后利用lower_bound函数求出大于或等于sum[i-1
·
2014-02-15 21:00
length
UVALive
- 4123 Glenbow Museum
.题意:Glenbow博物馆要建直角多边形的地面,要求这个多边形有一个点可以看到边界上每一个点.并且 地面每个90度的内角就标记为R,每个270度的内角标记为O,现在给定一个L长度的RO序列,问你有多少种可能满足地面的序列思路:观察到R的个数比O多4个,且序列中不可能出现OO,且会有四个RR,然后两个相邻的RR边之间有序列“OROROR....RORO”,一共会有(n+4)/2个R和(n-4)
u011345136
·
2014-02-15 17:00
UVALive
- 3516 Exploring Pyramids
题意:给你一棵多叉树,每个节点的任意两个子节点都有左右之分,从根节点开始尽量往左走,走不通就回溯,把遇到的字母记录下来,可以得到一个序列,给定一个序列,问有多少棵树与之相应思路:当sk=si的时候代表回溯到了树根了,那么分支的序列就是si+1,...sk-1,那么就可以设方案数d(i,j)以及它的分支方案数d(i+1,k-1),可以推出关系d(i,j)=sum{d(i+1.k-1)*d(k,j),
u011345136
·
2014-02-14 14:00
UVALive
- 4614 Moving to Nuremberg (树形DP)
题意:给你一棵树,有一些点你需要去一定的次数,每去一次你都要回来,求最小的权值和思路:首先将无根树转化话有根树,然后初始化一次求到根的权值和以及每个子树需要去的次数,然后就是怎么求最小的权值和,已知dp[u],怎么求它的子节点v的dp[v],dp[v]=dp[u]+(sum-f[v])*len-len*f[v],sum表示总的次数,len表示(u,v)的权值的两倍,根据父子节点的关系可以推出来#i
u011345136
·
2014-02-09 19:00
UVALive
- 4643 Twenty Questions
题意:给你n个长m的不相同的0,1字符串,每一位都作为该位的特征,每次你都可以提出一个问题,求最少的问题使得所有的字符串都区分开思路:记忆化搜索,首先建立两个集合,一个作为已问的题目的集合,一个作为那些问题的答案,那么我们可以试着存放该状态下,还有多少没有区分开,直到某状态只有一个或者没有的时候,那么就不需要再提问了,也可以看看学长写的点击打开链接#include #include #includ
u011345136
·
2014-01-29 21:00
UVALive
- 3363 String Compression (区间DP)
题意:将一串字符串按照规定压缩后的最小的长度是多少思路:在区间DP上,再注意一点就行了,就是可以考虑当自身能作为压缩的字符串的情况#include #include #include #include usingnamespacestd; constintMAXN=210; constintINF=0x3f3f3f3f; charstr[MAXN]; intdp[MAXN][MAXN],n;
u011345136
·
2014-01-29 14:00
UVALive
- 3530 Martian Mining
题意:给出n*m网格中每个格子有A,B两种矿,A矿必须从右向左运输,B矿必须从下往上运输,管子不能拐弯或者折断,要求收集到的A,B矿的总量尽量大思路:对于每个格子不是安A就是B矿的管道,所以只有两个选择。所以dp[i][j]=max(dp[i][j-1]+b[i][j],dp[i-1][j]+a[i][j]),其中a[i][j],b[i][j]分别代表从右往左和从下往上运输方式的前j,前i的总矿数
u011345136
·
2014-01-28 20:00
UVALive
4527 Vaccination Centers 搜索+剪枝
DescriptionTopreparefortheflupandemic,countryEwantstosetupsomevaccinationcenters.Thereare n regionsinthecountry,numbered 0,1,2,..., n -1.Thecostsassociatedwiththevaccinationplanarethesetupcostandthead
t1019256391
·
2014-01-28 19:00
UVALive
- 4727 Jump
题意:求约瑟夫环倒数三个删除的是思路:经典约瑟夫环的递推是:f[1]=0,f[n]=(f[n-1]+k)%n那么这道题就变形为:当求倒数第三个的时候,我们考虑只剩三个的时候,第一删除的就是答案,那么结果很容易写出来是:(k-1)%3,同时这也是f[3]的答案,同理推出其他的只是起始条件变了#include #include #include #include usingnamespacestd;
u011345136
·
2014-01-28 17:00
UVALive
- 4256 Salesmen
题意:给定一个包含n个点的无向连通图和一个长为L的序列,你的任务是修改尽量少的点,使得序列中的任意两个相邻的数或者相同,或者相邻思路:不算太难想到的DP。dp[i][j]表示第i个是j的最少的修改数,然后每次都枚举它的相邻点,所以dp[i][j]=min(dp[i][j],dp[i-1][k])#include #include #include #include #include usingna
u011345136
·
2014-01-27 18:00
UVALive
- 4294 Shuffle
题意:看了快一天了,还是不太懂意思,转一篇学长的点击打开链接,来日在研究#include #include #include #include #include #include #defineMAXN101100 usingnamespacestd; intf[MAXN],s[MAXN],a[MAXN]; intn,m; intsum; intmain() { intt,i,j,k,r,w,a
u011345136
·
2014-01-25 23:00
UVALive
- 3693 Balancing the Scale
题意:在给出的16个数中,求使得满足x1*4+x2*3+x3*2+x4=x5+x6*2+x7*3+x8*4y1*4+y2*3+y3*2+y4=y5+y6*2+y7*3+y8*4这两个等式的个数有多少。思路:状态枚举,先枚举四个数,然后查找是否有与这四个数组成的等式和的结果一样的组合,且这个组合与这四个数不相冲突,最后就是通过计算st[i]*st[i^state]的总和就是,state表示全都有的状
u011345136
·
2014-01-25 12:00
UVALive
- 4621 Cav
题意:在长n的地方,求能完全能放下的有的面积思路:先从左到右,然后在从右到左统计每个位置能有的高度,最后再相加就是了#include #include #include #include usingnamespacestd; constintMAXN=1000010; constintINF=0x3f3f3f3f; inta[MAXN],b[MAXN]; intn,h[MAXN]; intma
u011345136
·
2014-01-25 00:00
UVALive
- 3716 DNA Regions
题意:给出两个字符串,求出一个尽量长的序列使得有不超过p%的x满足Ax!=Bx思路:首先明确条件是(i-j)*p>=(sum[i]-sum[j])*100=>i*p-sum[i]*100>=j*p-sum[j]*100,sum[i]表示前i个的不相等的个数,然后就是构造一个单调递减队列,储存结果,然后二分找出最小的j,第一个入队列的是一定是 #include #include #include #
u011345136
·
2014-01-24 17:00
UVALive
- 5052 Genome Evolution
题意:给你两个排列A和B,统计A,B有多少个子集是相等,序列要求连续的,长度要大于1。思路:记录一下B序列的各个整数的位置,然后在从A开始统计,因为他是集合关系的相等,所以要求长度相同,元素相同,接着枚举长度的同时,又因为我们要求的序列是连续的,所以我们找出位置的最大和最小的位置,然后他们的长度如果和我们枚举的长度相等的话,那么这个显然就是正确的了#include #include #includ
u011345136
·
2014-01-24 00:00
UVALive
- 2689 Cricket Field
题意:求最大的空的矩形,要求不包含任何点思路:边输入边记录,没增加一个点就将包含它的矩形切成四个小矩形#include #include #include #include usingnamespacestd; constintMAXN=1000005; structnode{ intx,y; intw,h; }arr[MAXN]; intn,W,H; intmain(){ intt; sca
u011345136
·
2014-01-23 20:00
UVALive
- 4356 Fire-Control System
题意:在平面上有n个点,求一个圆心在原点的扇型,至少有k个点在里面,要求扇型面积尽量小思路:首先先枚举半径,然后找到半径小于等于枚举值的点,其中要求点要连续,按正弦值的从小到大排序,因为我们要包括从大到小的连续查找,所以我们开一个两倍的储存数组,然后从我们找到的符合要求的点中,求出最小的扇型面积,注意当大于n的时候需要加一个圆的面积了,还有就是精度的问题,看了别人的才注意过来#include #i
u011345136
·
2014-01-23 00:00
UVALive
- 4905 Pro-Test Voting
题意:某人竞选,花钱拉票,每个社区都有相应的信息,按照公式求出得票数(四舍五入)结果一样的时候(按第一个社区的花费最多为准,依次类推)思路:竟然要求结果一样的时候,按靠前的社区的花费多的为准,那么显然我们要从前往前推,按照背包的思想递推,dp[i][j]表示从第i个社区到n-1个社区花费j-k的最大得票数还有的地方就是要标记在第i个的花费#include #include #include #in
u011345136
·
2014-01-22 21:00
UVALive
- 4851 Restaurant
题意:有一个N*N的网格,左下角的坐标是(0,0),网格里有两个纵坐标相同的A,B两个宾馆,以及M个餐厅,A,B中各有一个宾馆,编号1,2,还有3~M的餐厅,你先在需要开一家新的餐厅,那么好的位置的标记是:对于已有的每个餐厅q使得,dis(q,A)>diis(p,A)或dis(q,B)>dis(q,B),问有几个好的位置思路:首先先分别求出只考虑相对于A,B每个横坐标的纵坐标与y1的距离大于等于d
u011345136
·
2014-01-22 14:00
UVALive
- 4726 Average (斜率优化+单调队列)
题意:求连续的子序列使得平均数最大思路:一切尽在《浅谈数形结合思想在信息学竞赛中的应用》#include #include #include #include usingnamespacestd; constintMAXN=1000005; charstr[MAXN]; intq[MAXN],sum[MAXN]; intn,m; doubledis(inta,intb){ return(sum
u011345136
·
2014-01-21 22:00
UVALive
- 2963 Hypertransmission
题意:需要在n个星球上各安装广播器,范围为R,每个星球是A节目或者B节目,令N+(i)表示范围内与自己相同节目的个数(包括自己),N-(i)表示不想同的个数,如果N+(i) #include #include #include #include usingnamespacestd; constintMAXN=1010; structnode{ intx,y,z; inttype; }p[MAXN
u011345136
·
2014-01-19 21:00
UVALive
- 3403 Mobile Computing
题意:给出房间的宽度r和s个挂钩的重量。设计一个尽量宽,但宽度不超过房间宽度的天平,挂着所有的挂钩。挂钩的宽度不计,且不相同的挂钩可以互相重叠思路:每次将当前集合分成两个不相交的子集合,每次都构造出子集的最大的天平,最后从子集中选出最大的#include #include #include #include #include usingnamespacestd; constintMAXN=65;
u011345136
·
2014-01-19 17:00
UVALive
- 3667 Ruler
题意:给出n种距离,设计一个有m个刻度的尺子,使得每个刻度都可以直接量出,要求在m尽量小的情况下尺子的总长度尽量短,第一个必须是0,输出保证m #include #include #include #include usingnamespacestd; intn,d[55],ans,a[8]; intcnt[1000005],vis[55]; booldfs(intu){ if(u==ans)
u011345136
·
2014-01-18 23:00
UVALive
- 4636 Cubist Artwork
题意:给你正视图,和侧视图,求最好的组成放块个数思路:当正视图的对应部分跟测视图的对应部分相等的时候,那么就可以当成一个来处理题目的图有给出这一细节#include #include #include #include usingnamespacestd; constintMAXN=30; intnum1[MAXN],num2[MAXN]; intn,m; intmain(){ while(s
u011345136
·
2014-01-18 15:00
UVALive
- 4328 Priest John's Busiest Day
题意:给你N个婚礼的举办时间,只有一个牧师,判断牧师能否参加所有的婚礼(牧师能在任何时间加到婚礼中,必须是整数时刻且参加婚礼的时间必须是有一半以上的时间)思路:贪心处理,因为要参加一半以上的时间,那么中间时刻就是最快能结束这个婚礼的时刻,那么如果每个中间时刻都没有冲突的话,那么就至少这个是能够实现,那么我们开始判断,取一半是最低的可能#include #include #include #incl
u011345136
·
2014-01-15 20:00
上一页
15
16
17
18
19
20
21
22
下一页
按字母分类:
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
其他