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
uva
Uva
10934_经典的动态规划习题
动态规划训练4——
Uva
10934 DroppingwaterballoonsIt’sfroshweek,andthisyearyourfriendshavedecidedthattheywouldinitiatethenewcomputersciencestudentsbydrop-pingwaterballoonsonthem.They
己卯年三月十二
·
2020-08-18 01:47
9.5-
uva
10934-Dropping water balloons-动态规划
题意是由气球个数加楼层确定最少的实验次数可转化为气球加实验次数所能确定的最高楼层(这样楼层确定时实验次数必定是最少的)注意数组d与n都为ull#include#include#include#includeusingnamespacestd;constintmaxk=100;constintmaxa=63;unsignedlonglongd[maxk+1][maxa+1];intmain(){me
费马最后定理
·
2020-08-18 01:43
【
UVa
】【DP】10934 Dropping water balloons
UVa
10934Droppingwaterballoons题目◇题目传送门◆(由于
UVa
较慢,这里提供一份vjudge的链接)◇题目传送门(vjudge)◆题目大意有KK个一模一样的水球,在一个有NN层楼高的高楼进行测试
LZRcqbz
·
2020-08-18 01:33
#
普通DP
#
UVa
UVa
DP
思维
UVA
10817 校长的烦恼(状压DP+记忆化搜索
TheheadmasterofSpringFieldSchoolisconsideringemployingsomenewteachersforcertainsubjects.Thereareanumberofteachersapplyingfortheposts.Eachteacherisabletoteachoneormoresubjects.Theheadmasterwantstoselec
等我学会后缀自动机
·
2020-08-18 01:26
UVA习题集
动态规划之状压DP
搜索(DFS+BFS)
uva
10934
题意:给定k个气球,n楼层,输出最少需要多少次实验才能确定可以摔碎的楼层。第一种,d[i][j]用i个气球实验j次所能测试楼的最高层数,第一次决策,设测试楼层为k。如果气球破了,说明前k-1层必须能用i-1个球实验j-1次测出来,也就是说k=d[i-1][j-1]+1是最优如果气球没破,则相当于把第k+1层楼看作1楼以后的继续。因此在k层楼之上还可以测试d[i][j-1]层楼,即d[i][j]=k
accosmos
·
2020-08-18 01:17
紫书第九章
动态规划
鸽笼原理&容斥原理
鸽笼原理又叫抽屉原理最基本的描述:如果有n种n+1个物品,那么至少有一种有两个物品这种基本概念也没什么太多好阐释的,主要是鸽笼定理在思维上可能会造成一些奇怪的突破口直接上题吧例题1POJ2356&POJ3370&HDU1808&
UVA
11237Halloweentreats
lcc_cat
·
2020-08-18 01:31
数论
图(领接矩阵和vector)的dfs和bfs
//
Uva
572图的dfs求连通块#include#include#includeusingnamespacestd;intm,n;intdir[8][2]={{-1,0},{-1,1},{0,1},{
2016cxg
·
2020-08-18 00:52
UVA
10817 - Headmaster's Headache
用集合s1表示一个人教的科目的集合,s2表示至少两个人教的科目的集合,s0表示无人教的科目的集合.d(i,s1,s2)表示已经考虑了前i个人时的最小花费.状态转移方程:d(i,s1,s2)=min(d(i+1,s1,s2),c[i]+d(i+1,s1’,s2’)),s1’,s2’表示招聘了第i个人后的新值。#include#include#include#include#include#inclu
天夏123
·
2020-08-18 00:32
状压dp-
UVA
-10817-校长的烦恼
题目链接:http://fastvj.rainng.com/contest/307763#problem/D题目大意:思路:思路比较容易明白,就是代码比较不容易写,对位运算必须非常熟悉。#includeusingnamespacestd;intst[150];intfy[150];ints,n,m;intdp[150][(1m+n){if(s2==(1m)//m+1-n+m才可以不选择{ans=d
H_ang
·
2020-08-18 00:06
状压dp
UVA
- 1601(双向BFS)
使用双向BFS最大的优点在于是的结点扩展由a^(x)变为2*a^(x/2),降低了时间复杂度;适用于(起始状态和末尾状态都已知);方法从两端交替逐层搜索(为了保证最短路经优先被找到)这里借用别人的对错误的搜索方式的解释如果目标也已知的话,用双向BFS能很大提高速度单向时,是b^len的扩展。双向的话,2*b^(len/2)快了很多,特别是分支因子b较大时至于实现上,网上有些做法是用两个队列,交替节
playwfun
·
2020-08-18 00:55
暴力搜索
UVA
- 1213
分析:以d[i][j]表示数i分解为j个素数的所有方法;第一个想到的状态转移方程d[i][j]+=d[i-k][j-1](k为比i小的素数),但改状态转移方程并不正确,如d[7][3]转移至d[5][2];5可分解为3+2与刚才的2重复,换句话数d[i][j]只依赖d[i-k][j-1]中由j-1个素数组成并且所有素数都与k不同的那一部分;这样可以考虑正向枚举所有1120内的素数,那么d[i][j
playwfun
·
2020-08-18 00:24
动态规划
UVA
算法
c++
UVA
- 1602(Polyomino的存储和判重)
#include#include#include#includeusingnamespacestd;structCell{intx,y;Cell(intx=0,inty=0):x(x),y(y){}booloperatorPolyomino;//存图方法#definerep(c,p)for(Polyomino::const_iteratorc=(p).begin();c!=(p).end();c+
playwfun
·
2020-08-18 00:24
暴力搜索
[数论专题]容斥原理练习(持续更新)
参考大佬博客:https://www.cnblogs.com/linyujun/p/5210410.html目录HDU-1465不容易系列之一
UVA
Live-7040ColorHDU-4135Co-primeHDU
nagisa-kun
·
2020-08-18 00:29
数论
组合数学
PC/
UVa
111003/10278 Fire Station
这题就是一个多源的最短路径问题:先计算出当前已经放好的消防站所对应的各个房子到消防站的最短距离,然后枚举新的一个消防站应该排放的位置,然后选择这些位置中的最优解。在这里就用了比较简单的Dijkstra水过~#include#include#includeconstintmaxn=510;intg[maxn][maxn];intfire[maxn];intf,n;charinput[maxn];in
zhonghp
·
2020-08-18 00:32
图论
UVa
10278 - Fire Station
题目:一个城市有i个小镇,其中有一些小镇建有消防站,现在想增加1个消防站,使得所有小镇到最近的消防站的距离中的最大值最小。分析:图论,最短路。利用spfa算法可以高效解决本问题。首先,利用已有的消防站,计算多源最短路径,储存在集合dist中;然后,枚举所有顶点,计算单元最短路,存储在集合newd中,则得到新的多元最短路集合S;他的元素为对应newd与dist元素的最小值,即S={min(dist(
小白菜又菜
·
2020-08-18 00:59
图论
解题报告
国内外常用oj
://vjudge.net/一个爬虫网站,可以做各大OJ的题,也可以自己组成套题做比赛POJ:http://poj.org/北大的老牌OJHDU:http://acm.hdu.edu.cn/杭电的OJ
UVA
Smale丶
·
2020-08-17 23:37
My
Soul
Uva
1336 修长城 【有关未来费用的区间dp】
题外话此题简化版:codevs1258/洛谷P1220此题(伪)升级版:送披萨(可以选择送给这个人或者不送)题目大意中的题目背景属于报复行为,大家无视即可。题目大意邪恶的魔王jyf用厉害的膜法在长城上制造了n个破坏点,正义的守护者boshi此时正处于x处,他急忙准备去修复长城。对于每个破坏点,boshi站在这个破坏点前面,然后用修复膜法瞬间修复,但是需要花费一些体力,并且由于jyf的膜法狠厉害,所
litble
·
2020-08-17 23:36
动态规划
UVA
Live 4960 Sensor network(MST+LCA)
【题目】http://acm.hust.edu.cn/vjudge/problem/16412【题意】给了N#include#include#includeusingnamespacestd;constintmaxn=355;constintmaxm=100010;constintinf=0x3f3f3f3f;intn,m;inthead[maxn],tot;structedge{intu,v,w
just_sort
·
2020-08-17 23:37
ACM/ICPC图论_LCA
UVA
Live - 3490 Generator AC自动机+高斯消元
题目链接:https://vjudge.net/problem/
UVA
Live-3490题意:随机字母组成一个串,有一个目标串,当这个由随机字母组成的串出现目标串就停止,求这个随机字母组成串的期望长度。
just_sort
·
2020-08-17 23:06
ACM/ICPC_UVAOJ
数据结构_AC自动机
uva
10934 Dropping water balloons(dp)
题意:给出k个水球,n层楼,现在想测试出水球最低会在那层楼扔下爆炸,问最少需要测试多少次,注意要求的情况是每层楼都可能爆炸。解题思路:一眼看上去会觉得是二分,如果求数够的话,确实能够在log2(n)的次数之内求出测试出来,但是这个问题我们要考虑的是每个位置都有可能爆炸,所以不仅球不够,目标位置没有确定也导致我们不可能考虑二分。想一想如果去搜索的话,我们肯定会搜索还剩下i个球,已经测试了j次的状态。
johsnows
·
2020-08-17 23:57
acm
动态规划
need
review
uva
acm
uva
网址大全-OI版
8088LibreOJ:loj.acLibreOJ提高版题单new_bzoj:vijos.org/d/newbzoj/CF:codeforces.mlPOJ:poj.orgUSACOtrain.usaco.org
UVA
onlinejudge
jiangtaizhe
·
2020-08-17 23:09
其他
国内外常用主流OJ介绍
//poj.org/北大的老牌OJ,不过题目比较老,且不支持新的编译器如C++113.HDU:http://acm.hdu.edu.cn/杭电的OJ,基本取代了POJ成长为国内最成熟、最主流的OJ4.
UVA
jiangkun0331
·
2020-08-17 23:09
算法入门
动态规划专项intermediate:
UVa
11766
这道题关键就是模型的转化,只要把a、b两个值转化为一个[a+1,n-b]的区间问题就很容易考虑了。这样问题就变成了求区间[1,n]上无重叠部分区间的最大值,但有一点不同的是,完全相同的区间最多可以取区间长度个,即n-a-b个。最后,n减去dp所得的值即为结果。#include#include#include#includeusingnamespacestd;structcar{inta,b;boo
incredible_bly
·
2020-08-17 22:19
动态规划
动态规划专项intermediate:
UVa
10981
直接用map记录状态,1表示该状态可以达到目标状态,0表示不能。然后从左到右dfs,然后一旦得到的返回值为1,就记录路径,然后返回。记录路径也可以用map来实现。本来以为用stl会很慢,结果也只跑了19ms。#include#include#include#includeusingnamespacestd;strings,t;mapdp;mappath;intdfs(stringst){if(dp
incredible_bly
·
2020-08-17 22:19
动态规划
动态规划专项intermediate:
UVa
10599
不难发现路径是以garbage为结点的,所以可以根据garbage的相对顺序建图进行dp,与此同时也可以递推出最长路径的数量。至于打印路径,根据dp得出的结果再dfs一遍即可。#include#include#include#includeusingnamespacestd;typedeflonglongLL;constintmaxn=110;intr,c,n,flag;intgar[maxn*m
incredible_bly
·
2020-08-17 22:19
动态规划
动态规划专项intermediate:
UVa
10688
可以把问题转化成区间来考虑。dp[i][j]表示从i到j所需吃掉的苹果。这样状态方程就出来了dp[i][j]=min{dp[i][k-1]+dp[k+1][j]+(k+K)*(j-i+1)|i#include#include#includeusingnamespacestd;#defineM510intn,k;intdp[M][M];intvis[M][M];intdfs(intl,intr){i
incredible_bly
·
2020-08-17 22:19
动态规划
动态规划专项intermediate:
UVa
11400
先贪心一下,就是要么用当前的v来买,不然的话就向更高的下一个v传递,而不可能出现跨级传递。(不知道说清楚了没……)然后就很简单了先按v排一下序,dp[cur][pre]表示到达cur时,pre表示之前还未买的最低等级。状态转移方程为:dp[cur][pre]=min{dp[cur+1][pre],dp[cur+1][cur+1]+p[cur].k+p[cur].c*(sum[cur]-sum[pr
incredible_bly
·
2020-08-17 22:19
动态规划
动态规划专项intermediate:
UVa
12002
这道题还是体现了我思维能力比较弱。虽然很容易想到把问题转化成LCS和LDS。但是碰到盘子大小相同时,就把我给难住了……(和又一次周赛的一道DP如出一辙!)看了题解才知道,可以先把LCS和LDS先dp出来,然后再用2个for扫一遍就可以得出结果了。思维还是被局限了,老想改dp来解决问题啊,思维还是得多加锻炼!#include#include#include#includeusingnamespace
incredible_bly
·
2020-08-17 22:19
动态规划
动态规划专项intermediate:
UVa
10934
这道题想了很久,最后还是功亏一篑。看了大牛的代码,一下就懂了。状态表示用i个球j次尝试所能测试的楼的最高层数。不妨假设,第一次在某一层测试,如果球没有爆,那么往上至多测试dp[i][j-1]层;如果爆了,那么往下至多测试dp[i-1][j-1]层。状态转移方程:dp[i][j]=dp[i][j-1]+dp[i-1][j-1]+1。#include#include#include#includeus
incredible_bly
·
2020-08-17 22:49
动态规划
动态规划专项intermediate:
UVa
11600
一道求数学期望的dp,刚开始因为概率论没学好的缘故,连样例都看不懂……后来因为做了一道概率题,才明白了样例。做出来之后发现其实只是道水题……先把连通分量都缩成一个点,然后就是简单的状压了。因为n到达30,数组开不下,所以我是用map实现状压的。状态转移方程:dp[i][st]=(n-1)/(n-s)+sum{cnt[k]*dp[k][st^(1#include#include#include#in
incredible_bly
·
2020-08-17 22:49
动态规划
[经典DP]
UVa
10934 装满水的气球
题目思路常规思路应该是d(i,j),用i个气球有j层楼,最少用多少次测出。但本题的样例是这样的:SampleInput210010786599478659960184467440737095516163922337203685477580700SampleOutput1421Morethan63trialsneeded.6163这j这么大。。。哪能装到数组里去。。所以本题应该转变思路,这也是本题称
icecab
·
2020-08-17 22:43
5.aoapc2ch9
例题
UVA
10817 Headmaster's Headache——dp
刷表状压,没什么特别的#include#include#include#includeusingnamespacestd;constintINF=0x3f3f3f3f;constintmaxn=(1=INF)continue;sumc=j;for(intk=1;k<=a[i].cnt;k++)add(sumc,a[i].c[k]);dp[i][j]=min(dp[i][j],dp[i-1][j])
hao_zong_yin
·
2020-08-17 22:58
动态规划
Headmaster's Headache
UVA
10817
不等不说这道题其实是一个背包类似物#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusingstd::priority_queue;usings
gyarenas
·
2020-08-17 22:19
动态规划
训练指南
uva
10817(注意输入的解决)
题目描述:TheheadmasterofSpringFieldSchoolisconsideringemployingsomenewteachersforcertainsubjects.Thereareanumberofteachersapplyingfortheposts.Eachteacherisabletoteachoneormoresubjects.Theheadmasterwantsto
___fouzhe
·
2020-08-17 22:54
动态规划
模版
【
UVA
- 315 Network】(求割点 Tarjan算法)
题意:求割点割点概念:在无向连通图中,如果将其中一个点以及所有连接该点的边去掉,图就不再连通,那么这个点就叫做割点(cutvertex/articulationpoint)。Tarjan算法求割点模板代码:#include#include#include#include#include#include#include#include#include#include#include#include#
feng_zhiyu
·
2020-08-17 22:06
ACM_连通图
UVA
ACM_模板题
Dropping water balloons
UVA
- 10934 (奇怪的dp,思维题)
It’sfroshweek,andthisyearyourfriendshavedecidedthattheywouldinitiatethenewcomputersciencestudentsbydroppingwaterballoonsonthem.They’vefilledupalargecrateofidenticalwaterballoons,readyfortheevent.Butas
elbadaernu
·
2020-08-17 22:39
思维题
dp
uva
10934 Dropping water balloons
#include#includeusingnamespacestd;constintmaxk=100;constintmaxa=63;unsignedlonglongd[maxk+1][maxa+1];intmain(){memset(d,0,sizeof(d));for(inti=1;i>k>>n&&k){intans=-1;for(inti=1;i=n){ans=i;break;}if(ans
dengdouweng1282
·
2020-08-17 22:16
UVA
10934 Dropping water balloons
题目链接:http://acm.hust.edu.cn/vjudge/problem/27377题意:你现在有k个气球,你可以借助n层楼去测试气球的硬度,如果你从x层扔下气球,气球炸了,你会少一个气球,并且知道气球的硬度小于x;没炸的话你会知道气球的硬度至少为x。给出k和n,问至少测试几次才可以得到气球的硬度。思路:这题书上给了一个很好的思路,dp[i][j]表示测试j次,有i个气球时允许的最大楼
DS-K
·
2020-08-17 21:47
UVA
【
Uva
10934】Dropping water balloons
【Link】:【Description】等价题意:某人在1..n内选一个数x;然后让你去猜;你可以问他是不是在哪个范围里;每次会告诉你YES或者NO;问你在最坏的情况下猜出答案需要猜多少次;且猜的数字大于x的次数不能超过k次.【Solution】动态规划.设f[i][j]表示前i个水球,做了j次试验;能得到的最大高度;这里的f[i][j];指的是,如果问的数字是1..f[i][j],的话,用i个水
adgnfega11455
·
2020-08-17 21:21
UVa
10817
题目大意某校有n个教师和m个求职者,已知每人的工资和能教的课程集合,要求支付最少的工资使得每门课都至少有两名教师教学。在职教师必须招聘。思路这题不太好想,搞了很久。。f[s1][s2]:s1表示课程集合{s1}都至少有一个教师教的情况。s2表示课程集合{s2}都至少有两个教师教的情况。每个求职者的pi,对于每个求职者,要么选,要么不选,就是01背包问题。对于s1,s2,可以根据当前枚举到的求职者课
BEconfidence
·
2020-08-17 21:21
UVA
UVa
11181 - Probability|Given(离散条件概率)
分析:“r个人买了东西”这个时间叫E,"第i个人买东西"这个时间叫Ei,则要求的是条件概率P(Ei|E).根据条件概率公式,P(Ei|E)=P(EiE)/P(E)P(E)依然可用全概率公式,例如,n=4,r=2有6中可能:1100,1010,1001,0110,0101,0011,其中1100的概率为P1*P2*(1-P3)*(1-P4),其他类似,设置A【k】表示第k个人是否买东西,(1表示买,
BEconfidence
·
2020-08-17 21:21
离散概率
紫书第十章
UVA
UVA
11181(C) ——Probability|Given (条件概率, dfs求组合)
题目连接:点击打开链接题目大意:有n个人去买东西,其中有r人买了东西,剩下的人只是逛了逛而已,现在给了你每个人买东西的概率,让你来求算每个人真正买到买东西的概率;简而言之,就是求在r个人买到东西的前提之下,A买了东西的概率解题思路:P(A|B)=P(AB)/P(B);P(AB)为买东西的人中有A的概率,P(B)为所有的情况的总概率,也就是全概率全概率的求算方法:找出所有的不同情况,然后分别求算其概
Minion_w
·
2020-08-17 20:48
例题整理
数学
【紫薯dp练习】从读题到放弃-
uva
10934 Dropping water balloons
首先,题目的意思是让你去扔气球,砸小孩,非常玄幻。【要点】为什么2的时候是14呢?关键在于我们虚晃一枪,先扔了50,如果没爆,那赚了,只需要测50就可以了(转移到了50的状态,下面的50都没用了,是不是非常眼熟?)即使爆了,我们还可以继续扔,继续诓?但是,50爆了,我们只能从1开始1234。。保不好要扔49次,因此我们要找一个最好的地方去扔,避免浪费,还有效。啊,想到是dp,不要正面去想啊,找一个
StrongerIrene
·
2020-08-17 20:46
#
动态规划
#
日常刷题
UVa
10934 Dropping water balloons
UVa
10934Droppingwaterballoons题目链接:
UVa
10934DroppingwaterballoonsProblemDescriptionIt’sfroshweek,andthisyearyourfriendshavedecidedthattheywouldinitiatethenewcomputersciencestudentsbydroppingwaterballoon
LOSER_LIGHT
·
2020-08-17 20:20
UVa
uva
11324(tarjan缩点 + DAG图上的简单dp)
思路:先缩点,再构图,最后dp。dp[u]=max(dp[u],dfs(v)+val[u]);#include#include#include#include#includeusingnamespacestd;constintmaxn=1e3+10;intlow[maxn],pre[maxn],sccno[maxn];intscc_cnt,dfs_colok;stacks;vectorG[maxn
KIJamesQi
·
2020-08-17 20:37
******图论******
-----DP-----
图论-强连通图
Uva
10934 详解 装满水的气球(Dropping water balloons)
因为给定气球数后,不同的尝试次数,值是固定的,所以先求出所有解节省时间。dp(i,j)=dp(i-1,j-1)+1+dp(i,j-1)可以理解为:假设当前在k层,1.如果该层气球爆炸,则这一层需要消耗一个气球,和一次尝试,所以前面k-1层消耗了i-1个气球和j-1次尝试。2.如果该层气球不爆炸,则这一层不需要消耗气球,但是需要消耗一次尝试,所以j需要减1。这类问题可以归结为猜数问题模型1:给你一个
zytjyh
·
2020-08-17 20:49
算法入门竞赛经典
UVA
1614 - Hell on the Markets 数学题 非贪心
题意:给定一个数组长度n,n=k,因此p∈[1,Sum(k)]。利用归纳假设从前k项中选择某些项使其值为p,将这些项从A中剔除,剩下的和即为S。第一步证明了存在性,接下来说明做法如何取到S:找到某项t,使得Sum(t)#include#include#defineintlonglongusingnamespacestd;constintmaxm=100100;intn,arr[maxm],sum[
Good_night_Sion_
·
2020-08-17 19:23
计算技巧
UVA
1614
Hell
on
the
Markets
数学题
ACM
拓展欧几里得详解 及其题目 POJ 1061 2115 2142
UVA
10673 10090
最近做了一些拓展欧几里得的题目呢,嘛,从一开始的不会到现在有点感觉,总之把我的经验拿出来和大家分享一下吧。普通的欧几里得是用于解决求两个数a,b的gcd的,但是我们知道,gcd是线性组合{ax+by|x,y∈Z}里的最小正元素(什么?不知道怎么来的?好吧。。。算法导论里数论算法那一章有证明),假若我们能够把这个x和y找出来,那么可以用来解决很多问题。(以下的gcd和lcm均指(gcd(a,b)和l
Good_night_Sion_
·
2020-08-17 19:22
数论
uva
108 - Maximum Sum
MaximumSumBackgroundAproblemthatissimpletosolveinonedimensionisoftenmuchmoredifficulttosolveinmorethanonedimension.Considersatisfyingabooleanexpressioninconjunctivenormalforminwhicheachconjunctconsist
滑头鬼之亨
·
2020-08-17 19:43
动态规划
UVA
10934(经典DP,“扔水球”)
problem思路题目大致意思就是:有n个水球,它们没有区别。现在从楼上扔它们,自然当楼层很高时,水球就会炸掉。而且水球炸是有一个临界点的,比如在3楼仍下去炸了,那在4,5,6…扔下去都会炸,12就不会炸。现在问,给你k个水球,最坏情况下至少需要扔多少次,就能确定这个临界点。如果只有一个水球,n层楼,那结果就是n次。因为只能从1楼开始试,最坏到n层。如果你第一次在中间试了,结果炸了,那就GG。如果
Feynman1999
·
2020-08-17 19:06
Basic
DP
上一页
45
46
47
48
49
50
51
52
下一页
按字母分类:
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
其他