中等难度
文章平均质量分 72
mosquito_zm
这个作者很懒,什么都没留下…
展开
-
HDU4597:Play Game(记忆化搜索(dp))(博弈)
Alice and Bob are playing a game. There are two piles of cards. There are N cards in each pile, and each card has a score. They take turns to pick up the top or bottom card from either pile, and the sc原创 2016-08-21 13:58:57 · 427 阅读 · 0 评论 -
Codeforces Round #428 (Div. 2) E 推理+求最大团(中途相遇法)(状态压缩)(代码能力)
题目链接答案:Lemma : Let G be a simple graph. To every vertex of G we assign a nonnegative real number such that the sum of the numbers assigned to all vertices is 1. For any two connected vertice原创 2017-08-14 22:19:02 · 347 阅读 · 0 评论 -
动态规划优化整理
1.四边形优化 m(i, j)状态方程满足:i i = j: 0i > j: INF对于i 令s(i, j)为对应决策变量的最大值,即m(i, j)通过s(i, j)达到最优, 并且s(i, j)最大s(i, j) = MAX(i如果m(i, j)满足四边形定理, 则s(i, j) 于是m(i, j) = MIN(s(i, j-1) 2.斜率优化此处以d转载 2017-07-07 13:25:25 · 332 阅读 · 0 评论 -
2017 Multi-University Training Contest - Team 3 1005 计算贡献值
题意:给出n个点n - 1条边组成的树,每条边有权值,现在问你把2 3 ... n 这n - 1个点分成k部分,这k部分都是两两不相交的,然后在k部分中每一部分添加1这个点,然后求出每部分的最小生成树,要求k部分的最小生成树的权值和最大,求出这个值思路:以1为根建树,算每一条边的贡献,如果这条边下面有x个结点,如果x >= k那么这条边会被算k次,否则就是x次,相当于把这些点放到不同的集合转载 2017-08-02 11:13:59 · 468 阅读 · 0 评论 -
二分图大讲堂——彻底搞定最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖、带权最优匹配
匹配文本内容框架:§1图论点、边集和二分图的相关概念和性质§2二分图最大匹配求解匈牙利算法、Hopcroft-Karp算法§3二分图最小覆盖集和最大独立集的构造§4二分图最小路径覆盖求解§5二分图带权最优匹配求解Kuhn-Munkers算法§6小结每章节都详细地讲解了问题介绍,算法原理和分析,算法流程,算法实现四部分内转载 2016-09-03 21:46:26 · 396 阅读 · 0 评论 -
最大权闭合图 [网络流]最大权闭合图(转载)
最大权闭合图[网络流]最大权闭合图(转载)来自: http://hi.baidu.com/%C6%AE%BB%A8%C4%EA%B4%FA/blog/item/45d4bb1765e7044721a4e960.html以下内容参考 胡伯涛 《最小割模型在信息学竞赛中的应用》,感谢他为我们提供这么优秀的论文。看不懂以上论文的同学,可以试试看一下以下内容转载 2016-08-26 19:37:02 · 402 阅读 · 0 评论 -
Educational Codeforces Round 19 F(dp+队列优化)
网址:http://codeforces.com/contest/797/problem/F显然,要先排序。我们可以先处理出所有老鼠到所有洞的距离,p[i][j]表示第j只老鼠到第i个洞的距离。由于我们每次求的时候都是一段区间的老鼠到一个洞中,所以我们可以通过求前缀和优化计算。对于p[i][j],其前缀和为d[i][j],表示前j只老鼠都进入i洞中所需要的花费。在实际运算中,因为我原创 2017-07-07 12:42:10 · 345 阅读 · 0 评论 -
Codeforces346B Lucky Common Subsequence(KMP+dp)
题目链接题解:对于LCS问题,我们的正解是用dp解决。而本题目中还有了一个数组是不能够包含的,所以我们可以给dp新增加一维。dp[i][j][k]表示A串前长度为i的子串,B串前长度为j的子串,能匹配到的C串的最长位置为k时的最长长度。转移时,与LCS问题类似。对于k的转移,就是要判断当前为是否可以继续匹配到C中k的下一位中去,如果可以,就加1,不可以,就根据失配函数进行转移,知道可以原创 2017-07-15 12:29:55 · 423 阅读 · 0 评论 -
hdu4507(数位dp,较复杂)
这题麻烦就是要求数的平方和。我们先考虑求和的问题,一个区间,数位dp能在一些约束下计数,现在要这些数的和。其实组合数学搞搞就可以了:如 现在枚举的某一位pos,我统计了这一位枚举i的满足条件的个数cnt,其实只要算i对总和的贡献就可以了,对于一个数而已第pos位是i,那么对求和贡献就是i*10^pos,就是十进制的权值,然后有cnt个数都满足第pos位是i,最后sum=cnt*i*10^pos转载 2017-07-04 22:45:55 · 440 阅读 · 0 评论 -
BestCoder #92 C (dp)(要学会表示状态啊)
题目链接以下几段摘自官方题解:大家要学会分析状态啊喂!多思考多开脑洞,分析出状态之后,就是一个DP或者记忆化搜索,自然就可以写出来啦!首先,因为字符不是'2'就是'3',所以我们可以把字符串当做一个全部都是'3'的串,然后有若干的'2'插入到了某些位置。显然,我们交换相邻的'2'与'2'或者相邻的'3'与'3'是没有意义的,我们只会进行相邻'2'与'3'之间的交换。原创 2017-04-16 15:10:42 · 312 阅读 · 0 评论 -
codeforce Round #404 D(数学,思路,范德蒙恒等式)
题目链接题意: 问你一共有多少个子串,满足下列条件: ①长度为偶数 ②前一半是( ③后一半是) ④子串不必要连续。 题解:我们O(n)枚举分界线,那么对应左侧有n个(,右边有m个) 则答案为C(i,n)*C(i,m)。而由范德蒙不等式可得结果。PS:求组合数时可以先将所有阶乘都预处理出来,在直接求即可代码如下:#include #inclu原创 2017-04-02 14:25:51 · 704 阅读 · 0 评论 -
网络流24题之太空飞行计划——最大权闭合子图
题目链接:太空飞行计划[网络流24题] 太空飞行计划 ★★☆ 输入文件:shuttle.in 输出文件:shuttle.out 简单对比 时间限制:1 s 内存限制:128 MB 【问题描述】W 教授正在为国家航天中心计划一系列的太空飞行。每次太空飞行可进行一系列商业性实验而获取利润。现已确定了一个可供选择的实验集合E={E1,E2,…,Em},和进行这些实验需要使用的全部原创 2016-09-03 21:24:21 · 384 阅读 · 0 评论 -
hdu 1024 最大M子段和 Max Sum Plus Plus(dp)(中等难度)
hdu 1024 最大M子段和 转载▼ Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 4521 Accepted Submission(s): 1476Problem Descrip转载 2016-08-11 20:59:42 · 427 阅读 · 0 评论 -
hdu 4778 Gems Fight! (状态压缩dp+博弈)
题目链接:题目链接题意: 有 G 种颜色的宝石,放在 B 个袋子里(每种颜色可以放多个)。 两人轮流选袋子(每个袋子只能被选 1 次),每次将选出来的袋子中的宝石放到 cooker 中,cooker 可能会起反应。 反应条件是 cooker 中出现 S 个一样颜色的宝石,而且一旦起反应,每 S 个一样颜色的宝石就会获得 1 个魔法石(同时反应)。 作为奖励,每次反应结束后当前玩家可以再选一个原创 2016-08-21 10:50:53 · 338 阅读 · 0 评论 -
树链剖分
“在一棵树上进行路径的修改、求极值、求和”乍一看只要线段树就能轻松解决,实际上,仅凭线段树是不能搞定它的。我们需要用到一种貌似高级的复杂算法——树链剖分。 树链,就是树上的路径。剖分,就是把路径分类为重链和轻链。 记siz[v]表示以v为根的子树的节点数,dep[v]表示v的深度(根深度为1),top[v]表示v所在的重链的顶端节点,fa[v]表示v的父亲,son[v]表示转载 2017-11-20 15:03:09 · 176 阅读 · 0 评论