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
5096 Volume
本博客主要讨论从积分和非积分方式计算两个圆柱体交集的体积。由于博主的高数很烂,有什么不得当的地方还望大家指出来。两个圆柱相交:不难发现相交有两种情况,如图所示是2RH的情况,先看第一种。把多余的地方切去,会得到这个立体图形:这个叫做牟合方盖。通过百度不难发现它的体积公式为163R3,那么问题来了:如何证明。先考虑它的18体积,如下图:单独把A图拿出来,想象有一个平面在离地为h的地方去切割这个交集。
SaltyFishWei
·
2020-08-09 07:33
计算几何
【floor巧妙运用/思维】
UVaLive
3708 Graveyard
Graveyard题意一个圆一开始有n个点均匀分布在圆上,现在需要加入m个点,问原来的点需要最少移动多少距离。思路插入之后的点也都是均匀分布的,而且插入方式也是任意插入的。我们可以假设原来的第一个点绝对在插入的位置,那么对于剩下的m-1个点,我们只需要找到离他们最近的点并且对于移动的举例累加求和即可。我们不妨把整个圆分割成m+n分,则一开始点的坐标即在0,1*(n+m/n)…..2*(n+m/n)
两米长弦
·
2020-08-07 09:56
思维
UVAlive
- 3938 —— "Ray, Pass me the dishes!" 【线段树】
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=22105#include#include#include#include#defineINF0x3f3f3f3f#definelsonrt=p[R].d){p[rt].d=p[L].d;p[rt].l=p[L].l;p[rt].r=p[L].r;}else{p[rt].d=p[
weixin_30517001
·
2020-08-05 02:57
UVALive
3938 - "Ray, Pass me the dishes!"(线段树区间合并)
题目链接https://cn.vjudge.net/problem/
UVALive
-3938【题意】给定一个长度为n的整数序列D,你的任务是对m个询问作出回答。
weixin_30498921
·
2020-08-05 02:57
UVALive
- 3938 线段树
这题淘米居然要用longlong!!!这题淘米居然要用longlong!!!这题淘米居然要用longlong!!!这题淘米居然要用longlong!!!这题淘米居然要用longlong!!!这题淘米居然要用longlong!!!这题淘米居然要用longlong!!!这题淘米居然要用longlong!!!这题淘米居然要用longlong!!!心态有点崩。。。。题目还是比较简单(我呸)题目大意大意是给
_王泥煤
·
2020-08-05 02:54
ACM
线段树
UVALive
3938 "Ray, Pass me the dishes!" 线段树动态区间最大和
AC得相当辛苦的一道题,似乎不难,但是需要想仔细,开始的时候的错误思路----是受之前做过的区间最长连续子串影响http://blog.csdn.net/u011026968/article/details/38357157区间合并的时候,我直接按照---如果(左子树的最大前缀和长度==左子树的长度&&右子树的前缀和>0),就合并左前缀,这想法有两个错误:1、右子树的前缀和==0的时候是不是要合并
Z-Pilgrim
·
2020-08-05 02:41
数据结构----线段树
uvalive
3938 Ray, Pass me the dishes!(线段树)
题目链接:https://vjudge.net/problem/
UVALive
-3938题意:给一个数组,多次查询,询问区间[l,r]最大连续和。思路:线段树。
刘荣浩
·
2020-08-05 01:44
数据结构
UVALive
3938 Ray, Pass me the dishes (线段树区间合并)
题意:求q次询问的静态区间连续最大和起始位置和终止位置输出字典序最小的解分析:很显然的区间合并的题目啦常理就是维护pre,sub,suf最大的前缀和,连续和,后缀和然后这个题还要记录解的位置所以还要区间总和sum然后解的位置preR,subL,subR,sufL然后更新就好了自己注意下字典序就好了建树和查询都类似总结:死守着HH线段树风格导致代码丑的飞起不会变通以及思路清晰抽象函数的重要性反正呢多
TaoSama
·
2020-08-05 01:52
数据结构
-
线段树
UVALive
- 3938 (线段树)
题意:给出询问a,b求出a,b区段内的最大子串思路:不难想象,一个区段的最大子串要么为其两个子区段的最大子串,要么第一个子串的最大后缀加上第二个子串的最大前缀。因此我们需要维护每一个串的最大前缀,最大后缀,以及最大子串。但是同时需要考虑到,子串的情况会和坐标有关,因此我们不选择直接维护子串的值,而是选择维护串的起始位置和终止位置,再通过前缀和相减来得到串的值的大小。AC代码:#include#in
Flyppy_White
·
2020-08-05 00:36
UVA
UVALive
3938 "Ray, Pass me the dishes!"
线段树的应用每个结点维护3个值,最大连续和max_sub,最大前缀和max_prefix与最大后缀和max_suffix.思想:最有解要么在左边,要么在右边,要么跨越中点。维护max_sub的同时维护max_prefix,max_suffix即可。#include#include#include#includeusingnamespacestd;typedeflonglongll;constllI
MakingMaker
·
2020-08-04 23:58
UVALive
- 3938 "Ray, Pass me the dishes!" 线段树
题目大意:给你一个N个数字的序列和M个问题,问题的内容是给出一个区间[x,y],然后求出这个区间的满足x#include#includeusingnamespacestd;constintmaxn=500010mid){t2=query(mid+1,r,2*u+1,L,R);right=1;}tree_nodetn;if(left&&!right)tn=t1;if(!left&&right)tn=
暗金色
·
2020-08-04 23:48
ACM-数据结构-线段树
[
UVALive
- 3938] “Ray, Pass me the dishes!“ (线段树)
题目链接:“Ray,Passmethedishes!”对于刚接触线段树的我,一开始搞个这种难度的属实有点搞人心态,关键这题设的数据类型就很多,用线段树去维护三个值,然后还有很多细节要去处理,搞了一上午才搞出来,线段树还是做得少,得加把劲啊。题意给你一个长度为n的序列D,有m次查询。对于询问(l,r),需要我们找两个下标x和y,使a≤x≤y≤b,并且要求Dx+Dx+1+...+Dy{D_x+D_{x
张小生的先生
·
2020-08-04 23:11
线段树/数状数组
【
UVALive
】7502 Suffixes and Palindromes【根据sa数组以及回文半径数组构造字典序最小的串】
题目链接:【
UVALive
】7502SuffixesandPalindromes根据回文半径数组能得出一堆不等相等关系,相等缩点,不等建边。
poursoul
·
2020-08-04 19:14
manacher
后缀数组【SA】
hdu 3721
uvalive
5026 building roads
首先,我们证明一个结论:树的重心一定在树的直径上树的直径指树上最长的一条路径,树的重心指树上所有点中到其余点最远距离最小的点假设重心u不在直径上,那么它到距它最远点(x)的路径一定会和树的直径有交点v,否则这条路径会是新的直径的一部分,那么v到x的距离一定更小,所以重心一定在直径上显然,我们需要移走直径上的一条边,并且移走这条边后,原来的树变成了两棵树(特殊情况是移走和叶子相连的一条边,但不影响)
提交WA的_请自己跑下看看输出有没问题
·
2020-08-04 18:11
树形DP
2014暑假集训组队赛01
2014暑假集训组队赛01——The2013ACM-ICPCAsiaAizuRegionalContestA.
UVALive
6661EqualSumSetshttp://blog.csdn.net/sio
SIO__Five
·
2020-08-03 13:19
周赛解题报告
UVAlive
1808 Best Position(FFT)
题意:给出n×m的01矩阵,以及5次查询,给出h×w的矩阵,要求找出匹配原矩阵相同最多的位置,如果多个,上方的优先,还有多个左边的优先。做法:一开始是用bitset瞎搞,得优化一些地方才能卡过。事实上正解是FFT。对于原始矩阵设定第一个多项式的i*m+j的系数为s[i][j],第二个多项式的系数我们要反着设定,这样才能把对应匹配的每个位置可以乘到同一个次数,i*m+j的系数为c[h-i-1][w-
glq007
·
2020-08-03 05:02
FFT(快速傅立叶变换)
FFT
UVALive
5792 Diccionário Portuñol(字典树)
题意是给你2组字符串,前者作为前缀,后者作为后缀,然后问你拼起来的单词有几个,相同的不算。此题有2种做法,第一种是算出所有的以字母k为首部的后缀个数a[i],然后dfs遍历前缀的字典树,如果该位置下没有某个字母k,那么就直接加上a[k],如果有那么直接往下dfs,还有如果有但是是结尾了,那么就要加上1。举个例子,比如一个点是d,那么应该在这个位置加上除了a[d]以外的其他a[i],那么如果后面没有
glq007
·
2020-08-03 05:01
数据结构
Arrangement for Contests
UVALive
- 8519
点击打开链接贪心的思想线段树操作每次取区间最小值然后拿掉这个最小值并不影响区间内非最小值的匹配#includeusingnamespacestd;#defineN0x3f3f3f3fstructnode1{intl;intr;intminn;intpos;intlaz;};structnode2{intminn;intpos;};node1tree[400010];intn,p;voidpushu
sunyutian1998
·
2020-08-03 04:57
思维
线段树/树状数组/RMQ
贪心
线段树
UVALive
2889 第n个回文数字
defineullunsignedlonglong#defineall(x)(x).begin(),(x).end()usingnamespacestd;/****链接:https://vjudge.net/problem/
UVALive
布呗之路
·
2020-08-03 00:21
UVALive
6852 - Blanket
题意:有k个毛毯,n个位置,每个毛毯有两个参数a、b,表示对b取模小于a的位置可以被覆盖,问被覆盖次数为1,2……k的点依次有多少个。输入数据量很大,但是a和b都很小,一共只有256种可能,所以可以先记录每一组a,b出现多少次,然后直接模拟就可以了。#include#include#includeusingnamespacestd;intid[1000020];intmp[20][20];intn
sheng4204
·
2020-08-02 13:32
模拟
uvalive
7365 Composition 暴力解法
题意:输入n,m,k,将n表示成多个数字相加的形式,但是但是不能包含对k取余余数为m的数字。这个题正解是dp,但是数据量很小,只要姿势对,还是能爆过的,而且时间并不慢,9ms就跑完了,一开始用了记忆化搜索,但是去掉以后时间竟然是一样的。这题其实一开始看了很久没看懂题意,看懂先随便暴了一下,样例出的就有点慢,然后换了种姿势重新暴,发现运行很快。n最大30,如果枚举每个数字(也就是我一开始用的方法),
sheng4204
·
2020-08-02 13:32
暴力
UVALive
2356 ZOJ1061 Web Navigation【堆栈+模拟】
WebNavigationTimeLimit:2SecondsMemoryLimit:65536KBStandardwebbrowserscontainfeaturestomovebackwardandforwardamongthepagesrecentlyvisited.Onewaytoimplementthesefeaturesistousetwostackstokeeptrackofthep
weixin_34413357
·
2020-07-30 17:26
【网络流专题6】 公平分配问题
Ahead11.1.2018例题
UVALive
3231二分+网络流对源点到每一个工作建1的边,工作向机器建1的边,机器向汇点建k的边。
weixin_30662849
·
2020-07-30 17:08
UVALive
- 4043 Ants (二分图最大权匹配)
链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=14347大白P351/*---------------------#headfile--------------------*/#include#include#include#include#include#include#include#include#include
Element-YoNg
·
2020-07-30 01:51
ACM__图论
UVALive
6198 A Terribly Grimm Problem
题目大意是给出L,H10^10范围为[L,H]这个连续的整数区间寻找一个序列。序列的长度要跟[L,H]一样然后序列中的数都是素数,并且互不相同并且序列中第i个数要求是L+i-1的一个素因子最后要求序列的字典序最小然后可以看到L,H很大但是我们需要注意的是,这个序列长度肯定不会很大太大了肯定满足不了题目的要求。所以这个整数区间的数我们可以一个一个的,先把每个数都素因子分解了,放起来。然后就发现。这不
sdj222555
·
2020-07-30 00:30
二分图
[
UVALive
- 8512]XOR(区间线性基板子)
题面大意给一个长为nnn的数组a[]a[]a[],1<=ai<=n1<=a_i<=n1=l,则将b[r][i]加入到[l,r]之间的线性基中,这样便可以得到[l,r]之间的线性基因为首先如果pos[r][i]=0;--i){if(now&(1llb[i]){push_down(this->b[i]^now,i-1,pos[i]);//考虑新插入的必然是最右的,故必然可以把冲
asdkjc
·
2020-07-28 22:45
数据结构-线性基
WF 2007 (
UVaLive
2397) - Collecting Luggage
LinkToTheProblem知识点:二分,最短路,线段和多边形判交Code://WF2007(
UValive
2397CollectingLuggage//知识点:二分,最短路,线段和多边形判交#include
utoppia
·
2020-07-28 15:46
redbook
计算几何
uva
Collecting Luggage -
UVALive
2397 - 蓝桥杯 算法训练
vjudge题目链接vj速度第一哈哈玄学优化=。=二分,最短路,计算几何问题描述航班结束后,提取行李的过程并不琐碎。手提箱和行李箱出现在一条传送带上,数百名乘客争夺有利的位置从中找到并取回自己的所有物。近日,成田机场管理局已决定使这一过程更加高效。在重新设计行李认领区前,他们需要一个模拟程序,使得乘客认领行李时的耗时更平均。这个模拟假定乘客们走一条由直线段组成的路径并使用最少的时间走到他们的行李处
kissablemt
·
2020-07-28 01:38
算法
蓝桥杯
Today Is a Rainy Day
UVALive
- 7263
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5275给两个串s1s2有两种操作一是把单个字符改变二是吧一种字符改变问最少几次操作将s2变为s1第二种操作肯定是越多越好预处理第二种操作各个状态与原始状态123456的距离对每次查询枚举所有状
sunyutian1998
·
2020-07-14 23:07
搜索
F - Finding Lines
UVALive
- 6955 (随机数优化,检测)
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4967判断是不是存在有百分之p的点在一条直线上。嗯,学习了随机化优化的算法。#includeusingnamespacestd;constintMAXN=1e5+7;intx[MAX
UMR小豪
·
2020-07-14 18:49
随机化检测
uvalive
6955 Finding Lines rand() 随机算法
【题目链接】点击打开链接【题意】给了两个数n,p。问在平面上是否存在一条直线经过ceil(n*p/100)个点。【解题方法】随机算法。由于O(n*n)显然会超时,我们这里应用随机算法来找直线。为什么可以用随机算法呢?这里p#include#include#include#include#include#include#include#include#include#include#include#
just_sort
·
2020-07-14 12:29
UVALive
6955:Finding Lines(直线过点 & 随机算法)
题意:给N个点,和数字p,问是否至少有p%个点在同一条直线上。思路:循环280次枚举任意两个点,O(n)验证这两个点是否在线上,因为若这条直线存在,最坏情况选错的概率仅为(1-p*p)^280=0.96^280。#include#include#include#includeusingnamespacestd;typedeflonglongLL;constintmaxn=1e5+30;intn,m
junior19
·
2020-07-14 12:26
计算几何
The 2017 ACM-ICPC Asia Jakarta Regional Contest L - Sacred Scarecrows/
UVALive
- 8144 (状压dp+容斥)
传送门题目:题意:多组输入,给你n*m(n#definelllonglong#defineinf0x3f3f3f3f#definemst(head,x,n)memset(head+1,x,n*sizeof(head[0]))#definerep(i,a,b)for(inti=(a);i=(b);i--)usingnamespacestd;constintmaxn=1e3+5;constintmax
LSD20164388
·
2020-07-14 05:51
数论:容斥
动态规划:状态压缩dp
其他:细节处理
UVALive
6955 Finding Lines
题意:问能否在给定的图中,找到足够多的点使其落在一条直线上,这些点的数量除以总数量大于等于给定的概率。解题:是看了别人的做法后,才知道这么做的。随机取2个点,然后判断所有点是否落在直线上,若落在直线上的比例大于等于给定概率则停止,否则继续循环,直至10000次(貌似1000也就够了。)若循环10000次后仍未找到大于概率的情况则输出impossible。(注意特殊处理,N为1或2的情况)总结:感觉
David_Jett
·
2020-07-14 04:55
编程题——概率
[
UVALive
6955 Finding Lines]概率+随机算法
[
UVALive
6955FindingLines]概率+随机算法知识点:mathprobabilityrandomalgorithm1.题目链接[
UVALive
6955FindingLines]2.题意描述有
Xingw-Xiong
·
2020-07-14 03:30
ACM____数
学
uvalive
2797 Monster Trap
题意:给定一些线段障碍,判断怪物能不能逃离到无穷远处。思路:从(0,0)点能否到无穷远处。用BFS搜索。那满足什么样的点符合要求,能加入到图中呢?遍历每个点,显然一开始已经在某些线段上的点要删去。再判断,两点之间的连线是否与其他线段有交。有则删去。这道题要注意如果两条线段重合,怎么办?延长每条线段,如果交点在线段内,不算。1#include2#include3#include4#include5#
weixin_30907935
·
2020-07-13 17:16
acm 乘法逆元 或线段树
UVALive
5798
方法一:树状数组维护前缀和,运用乘法逆元求除以B的n次方modP的值方法二:线段树,保存了[l,r]之间的hash值
UVALive
5798J-JupiterAtacks!
nickwong_
·
2020-07-13 08:46
ACM-数据结构
ACM题目
UVALive
4716 Relational Operators【水题】
TherelationaloperatorsinCprogramminglanguageareshowninthetablebelow.Ofcoursethelasttwoarealsoknownasequalityoperators.Theseoperatorscomparethevalueofthetwooperandsitisworkingon(Thevalueonitsleftandthe
海岛Blog
·
2020-07-12 01:53
#
ICPC-备用二
#
ICPC-水题题解三
#
ICPC-UVALive
UVaLive
LA 4256 | UVa 1424 - Salesmen(简单DP)
SalesmenTimeLimit:3000MSMemoryLimit:Unknown64bitIOFormat:%lld&%llu[Submit][GoBack][Status]DescriptionTravelingsalesmenofnhn.(theprestigiousKoreaninternetcompany)reporttheircurrentlocationtothecompanyo
zhaosdfa
·
2020-07-10 14:34
ACM
DP
uvalive
4256(DP)
题意:给出一张图,然后给出一个序列,修改序列中一些数字,要求使这个序列相邻的两个点.要么是相同的点,要么在图中是相邻点;思路:dp[i][j]代表序列前i个,并且第i个的值是j,满足这一关系,最少修改几次几次;那么dp[i][j]=min(dp[i-1][k])(k与j是相连的);#include#include#include#includeusingnamespacestd;constintN
二分查找
·
2020-07-10 13:50
DP
UVALive
- 8172 (Cats and Fish) 模拟
思路:模拟,记录每个猫吃当前鱼的起始时间遍历时间xxx,模拟每个猫吃鱼的状态注意:最后一次xxx时间拿鱼准备吃还是整条鱼#include#include#includeusingnamespacestd;constintMAXN=1e3+7;intn,m,x;inta[MAXN],p[MAXN];//p上一次拿到的timeintmain(){while(~scanf("%d%d%d",&m,&n,
粽子小黑
·
2020-07-10 09:56
ACM
UVALive
4256 Salesmen
题意:一个n个点的联通图(n#definemaxn210#defineINF0x3f3f3f3ftypedeflonglongll;usingnamespacestd;intg[maxn][maxn],a[2*maxn],dp[maxn][maxn];intmain(){intn,m,t,b,ans,c,T;scanf("%d",&T);while(T--){ans=INF;memset(dp,I
weixin_30408309
·
2020-07-10 06:01
uvalive
4256
题目大意:给出一个无向联通图和一串数字,然后要你修改这串数字,使得数字在无向联通图中是连通的或者它们是相等的。思路:DP。dp[i][j]表示的是从1到第i个数字以j结尾需要修改多少个数字。dp[i][j]=min(dp[i][j],dp[i-1][k]+(j==x?0:1))其中x表示的是给出的序列中第i个位置的数字是多少。这个状态转移方程的前提是j跟k必须是联通的。代码:#includeusi
big up
·
2020-07-10 05:49
DP
uvalive
4256(dp)
题意:有从1到n的数字组成一个无向连通图,给出了连通情况,然后给出一个数字序列,问这个序列要求相邻的点要么相等要么在图中是直接连通的,问最少修改序列中的几个点可以让序列满足要求。题解:f[i][j]表示前i个数组成的序列以数字j结尾的最少修改点的数量,那么f[i][j]=min{f[i][j],f[i-1][k]+(d[i]!=j)},此时j==k或g[j][k]==1。最后f[len][k]所有
路小白_zZ
·
2020-07-10 04:29
ACM-DP
UVALive
4256 Salesmen 【简单dp】
题意:给你一棵树,和一串序列,求最少改变多少个数使得序列中的每个相邻的数要么相等要么在树上相邻。分析:设状态dp[i][j]表示长度为i以j结尾最少修改几次合法。转移dp[i][k]=min(dp[i][k],dp[i-1][j]+(a[i]!=k))k是当前最后数字,j是k前一个,j可以等于k(处理与前面相等),若j与k在树上相邻,判断a[i]!=k,dp[i][k]+1;代码:#include
Fb_by
·
2020-07-10 04:11
其他dp
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#includeusingnamespa
林燕同学
·
2020-07-10 04:22
动态规划
UVALive
4256 Salesmen
题目大意:给你一个连通无向图,在给你一个序列,要求你把它转换成另一个序列,该序列两两点之间或者在图上是连通的,或者是相同的,要求修改的点数最小。思路:典型的DP题,设d[i][j]表示从1到第i个位置,以j为结尾的最小修改点数,那么状态转移方程为:d[i][j]=min(d[i-1][k],j和k满足连通或者相等)。代码如下:#include#include#includeusingnamespa
沉溺
·
2020-07-10 04:20
动态规划
UVALive
7544 Banking II (DP)
原题:AmonthagoattheSouthPacifiDivisionalContest,eachofyou(oroneofyourteammates)solvedaproblemaboutauthenticatingusers.Torefreshyourmemory:TheActuarialCommerceMerchantbankhasaschemewhere,whenyoulogin,you
Lllll_sh
·
2020-07-09 19:05
UVA
dp
acm-icpc
uva
UVALive
- 4256 Salesmen (简单DP)
题意:给定一个包含n个点的无向连通图和一个长度为L的序列A,你的任务是修改尽量少的数,使序列中任意两个相邻数或者相同,或者对应图中相邻的两个点。思路:dp【i】【j】第i个数为j时的最小修改数。状态想到了,题目就很好写了。。。转移方程也ok的#includeusingnamespacestd;constintN=222;intG[N][N],a[N],dp[N][N];intmain(){ios:
h1021456873
·
2020-07-09 16:45
UVa
DP
UVALive
- 4256 Salesmen(LIS变形)
题意:给定一个包含n(n#include#include#include#include#include#include#includeusingnamespacestd;constintmaxn=21e2+10;constintmaxt=100200;constintINF=0x3f3f3f3f;constintmod=1e9+7;constdoublepi=acos(-1.0);constdo
fly_tzf
·
2020-07-09 16:31
dp
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他