ACMer
小悟空
这个作者很懒,什么都没留下…
展开
-
2011 大连网络赛 The 36th ACM/ICPC Asia Regional Dalian Site —— Online Contest 解题报告
2011 大连网络赛 The 36th ACM/ICPC Asia Regional Dalian Site —— Online Contest 解题报告昨天我们出了四个题,郁闷的我要死,好吧,结果就这样了,不在抱怨,下一场加油吧,祝愿下面的每一场都可以出现,阿门!昨天我的发挥还算正常。题目传送门:http://acm.hdu.edu.cn/search.php?field=prob原创 2011-09-04 13:51:55 · 4390 阅读 · 2 评论 -
2012金华邀请赛 Problem D. Garden 线段树题目
又是一个线段树问题,做了那么多的线段树,遇到这个题,还真是好难为我啊,看了好久都没看出来怎么做!看了很久思维只局限在单点更新上,怎么想都是死胡同,直到,突然闪电击中了大脑,然后,然后,原来这个题是区间更新,(#‵′)靠。具体的思路是:每个点和其后面的k个点的和算作一个点,然后,更新的时候,更新影响到的点,查询的时候,查询需查询区间的多有相应的点的最值即可!这个题的关键是区间更新,一个点原创 2012-08-21 20:47:40 · 1760 阅读 · 0 评论 -
DP 优化系列
我知道,我现在写这篇文章还很不成熟,因为我很多东西弄得还很不怎么样,但是我还是想写一下。国家集训队论文中有大量关于DP优化的论文:毛子青的《动态规划算法的优化技巧》、朱晨光的《从《鹰蛋》一题浅析对动态规划算法的优化》、杨哲的《凸完全单调性的一个加强与应用》等。特别是毛子青大牛的论文,值得一看!还要说明的是,周源的《浅谈数形结合思想在信息学竞赛中的应用》一文,谈到了数形结合、单调队列、和下凸折线原创 2012-08-22 11:19:54 · 3687 阅读 · 0 评论 -
ACM大牛!!!!!!
出处: http://blog.sina.com.cn/s/blog_625b89630100mk7z.html 因不在新浪博客上活动了。。。未向作者表明此次转载的冲动。。。故表明出处。。望莫怪。。。。。wywcgs:亦称Lord Wu,俗名吴垠,2009级厦门大学智能科学与技术学院研究生,本科就读于哈尔滨工业大学。因其深厚的算法功底与独到的思维方转载 2012-08-30 10:39:39 · 5242 阅读 · 2 评论 -
priority_queue用法
priority_queuepriority_queue调用 STL里面的 make_heap(), pop_heap(), push_heap() 算法实现,也算是堆的另外一种形式。先写一个用 STL 里面堆算法实现的与真正的STL里面的 priority_queue用法相似的priority_queue, 以加深对 priority_queue 的理解#include #incl转载 2012-08-18 09:25:10 · 549 阅读 · 0 评论 -
灵活而神奇的 伸展树!
首先推荐一篇文章,http://www.notonlysuccess.com/index.php/splay-tree/ 这个是胡浩大牛的文章,推荐原因很简单!第一,上面有很多经典论文,第二,有很多经典题目。故推荐 胡浩的文章中提到的那几篇论文中已经将伸展树将的非常清楚了!我说说我的感受,伸展树是一种非常灵活的数据结构,原因就是,伸展树可以将你想要的点转移到任意一个地方,这样的话,添加、原创 2012-08-01 09:41:21 · 1320 阅读 · 0 评论 -
线段树 矩形并周长 picture
线段树 我还是首推胡浩大牛的博客http://www.notonlysuccess.com/线段树中扫描线一直是我比较吃力的一种题。矩形面积并,周长并,特别是周长并,一直无法解决,想不明白,现在终于做出来一个周长并的题目了, 是不是我的线段树水平又有了一点提高呢?代码不长,写起来老麻烦了!周长并与面积并不同的是,周长并需要记录竖着的边的情况。也就是说,需要记录边的合并问题,代码中分别使原创 2012-08-01 10:07:47 · 1979 阅读 · 0 评论 -
k-d树学习
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4347k-d树在acm界好像不是很常见的样子,至于到底会不会考到我也不清楚,我遇到的题目有两个,第一个是今年长春邀请赛的时候的D题,题解是这么说的D:(Fire Station Problem),7,本意为KD tree 过,但是由于坐标比较小实际上部分队伍水过没找到当时的网址,抱歉。还有一原创 2012-08-11 11:56:52 · 3387 阅读 · 0 评论 -
稳定婚姻问题
poj 3487 http://poj.org/problem?id=3487题目大意:现在有n个男士,n个女士,他们要组合家庭每一个男士都对每一位女士有一个喜好值,同样每一个女士对每一个男士也有一个喜好值现在要求一种组合方式,让婚姻稳定!怎样才能稳定呢??如果存在一个男士和一位女士,他们不是夫妻,但是对对方的喜好度都大于现在的伴侣,那么这个婚姻是不稳定的,容易理解吧那么怎原创 2012-08-06 17:31:55 · 2317 阅读 · 0 评论 -
[Algorithm]01分数规划
【关键字】0/1分数规划、最优比率生成树、最优比率环【背景】 根据楼教主的回忆录,他曾经在某一场比赛中秒掉了一道最优比率生成树问题,导致很多人跟风失败,最终悲剧。可见最优比率生成树是多么凶残的东西,但是这个东西只要好好研究半天就可以掌握,相信你在看了我写的这篇总结之后可以像楼教主一般秒掉这类问题。因为网上对于01分数规划问题的详细资料并不是太多,所以我就结合自己的一些理解总结这转载 2012-08-04 21:18:30 · 1433 阅读 · 1 评论 -
2011 Multi-University Training Contest 3 - Host by BIT No Gambling 也就是hdu 3863
这个题我是见识了博弈的妙处,虽然我不懂博弈,但是当我按照队友的想法a了这个题的时候,我很是吃惊,甚至敲得时候我都没有底气,好吧,废话少说,先看题!原题传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3863 No GamblingTime Limit: 2000/1000 MS (Java/Others) Memory Limit:原创 2011-08-30 09:26:22 · 1241 阅读 · 0 评论 -
开始的数学
数学真的太深奥了开始看数学了,第一本书,组合数学引论 作者: 孙淑玲,许胤龙 这本书挺好的,学到了好多的东西下面介绍一下这几天做的题,不知为什么,感觉这几个题都太”奇怪“了poj 1150 The Last Non-zero Digit题目大意:求n!的最后一位非零位的数字是什么这个题的数据规模有点大,10^8,也就是说暴力是不行的了这个题的思路是,在n!里面取出2原创 2011-10-19 21:35:46 · 637 阅读 · 0 评论 -
poj 1845 Sumdiv 美妙的数学
原题连接 : http://poj.org/problem?id=1845题目大意:求A^B的所有约数之和%9901刚开始学习数学,觉得这个题实在是太美妙了,有素数筛,有快速幂,有等比数列1+pi+pi^2+pi^3+...+pi^n的快速求和具体的分析过程是这样的首先,A可以写成是p1^a1*p2^a2*...*pn^an,的形式,其中p1,p2,...pn是素数原创 2011-10-22 20:50:42 · 703 阅读 · 0 评论 -
zoj 3211 Dream City 动态规划
原题连接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3211这个是我看到的很经典的动态规划问题,状态转移很经典啊解题思路: 一颗斜率(b)小的树,如果这次不用,那么他再也不会用到了。我是这么理解的……这样的话,就产生了一个顺序,也就是可以dp的顺序我表达的不好,如果还是不懂,看代码吧,看完了就懂了原创 2011-11-05 18:17:08 · 1613 阅读 · 0 评论 -
poj 1430 Binary Stirling Numbers 题解
poj 1430 Binary Stirling Numbers 这个题的解法真是不少啊,首先这个题我以前做过http://gisyhy.blog.163.com/blog/static/12939034320104603214437/这个是以前见过的解题报告。里面的思路可以很好的解决问题,但是难点在于里面的思路难想而且容易推错,但是我推导了很久才推导正确。 那么还有更好的思路么?有啊,原创 2012-02-10 10:26:32 · 1710 阅读 · 0 评论 -
Codeforces Round #109 (Div. 2) D. Colliders 数学
一直觉得codeforces上的题解法都很新奇,这个也不例外,说说题意,最大10^5的数,进行10^5次操作,每一次进行加入或者删除一个数,加入时:只有与已加入的数互素才能加入,不能加入的,输出原因(与某个不互素,或者,已经加入)。删除时:输出删除成功,或者尚未加入。这个题看起来不简单,经过分析之后,我发现,对于10^5这么大的数,只能最多有7个不同的素数的幂的积的形式,要使互素,也就是说原创 2012-02-26 16:17:58 · 1164 阅读 · 0 评论 -
状态压缩总结
ps:一年前写在qq空间的,今天把它移到这儿吧。。。状态压缩 好几天没写日志了,今天总结一下状态压缩。 前几天发的那个位运算基础好好,多多看看有意。由于我的计算机组成学的不咋地,所以我的位运算有点吃力。写一下老师课件上的几个常用操作吧! a |= 1 a &= ~(1 (a & 1 > bit & 1) != 0 //测位原创 2012-08-22 18:25:41 · 822 阅读 · 0 评论 -
【贪心】拟阵论 贪心策略的数学基础
今天看到topcode上的一个题目,题解直接说是拟阵,然后就是一大通的证明。好奇的我今天就看了看拟阵的知识。 拟阵可以用来研究贪心算法,他是贪心算法的数学基础,可以这么说,一个问题如果他可以转换为拟阵,那么一定可以用贪心算法进行求解;但是并不是所有的可用贪心算法求解的问题都能转换为拟阵。——主要是用来求解最优问题。 相关资料:2007年国家集训队论文 浙江省杭原创 2012-08-23 17:57:11 · 2509 阅读 · 0 评论 -
The University of Chicago Invitational Programming Contest 2012 解题报告
这套题应该是由于每一个题目的时限都比较长,所以,被杭电用来测试系统了。也就是2012 ACM/ICPC Asia Regional Online Warmup。也就是hdu 4257-4266这套题的测试数据及代码:http://serjudging.vanb.org/?p=359这套题,今天我做了四个,还有一个,想做没时间了!开始的时候,状态不好,浪费了很多时间!hdu 435原创 2012-08-25 19:46:57 · 1412 阅读 · 0 评论 -
对于ACM的热爱
今生我是第一次喜欢上一件东西,我也不知道为什么,对于ACM,我觉得如果我放弃了,我会痛心好久的ACM,已经成为我无法割舍的东西今年我们五场网络赛都没有出线,很悲哀的事情,我们的队员都努力了很久,用老师的话说,我们很可怜!!我们学校总共参加了两届了,我们是第二梯队啊,我们的第二梯队当的不称职啊,我们没有取得理想的成绩!!至今,我们还是没有超越学长们!说句实话,我确实存在着原创 2011-10-19 20:10:06 · 1333 阅读 · 24 评论 -
hdu 4249 A Famous Equation【DP】【Fudan Local Programming Contest 2012 E】
题目大意:给一个a+b=c的表达式,但是a、b、c中部分位的数字丢失,并用?代替,问有多少种方案使得这个表达式成立。这个应该也属于动态规划的思想。其实思路还是比较较简单的。当低位进的数,和向高位进的数确定了,那么使得本位的等式成立的状态最多可以用10^3的时间复杂度确定。有了这个子状态,问题就好解决了。代码写的比较挫,贴别是枚举的时候,特别的繁琐。注意不能有前导0,但是只有一位原创 2012-11-08 10:26:27 · 1368 阅读 · 0 评论 -
hdu 4248 A Famous Stone Collector【DP】【Fudan Local Programming Contest 2012 D】
题目大意:给n堆不同颜色的石头,给定每堆石子的数量,问,能够组成多少串满足:Two patterns are considered different, if and only if they have different number of stones or have different colors on at least one position.解题思路:开始的时候没有思路,原创 2012-11-08 10:17:20 · 1215 阅读 · 0 评论 -
SGU 407-Number of Paths in the Empire【DP】
题目大意:如图,给定n个点形成环,中间一个点0,每个点到0连一条边,问从0开始,经过m条边有多少条路径使得回到0点,每个点每条边都可以经过多次。输出路径数思路:这个题目如果不考虑数据规模的话,用矩阵乘法可以解这个题,详见矩阵的十种应用,那个适用于100个点的任意图。这个题n这个题并没有把结果取余,哎,这样的话,答案就是个好几千位的数了。囧。。。时间复杂度还得算上两个数相加的时间!!原创 2012-11-07 10:54:51 · 949 阅读 · 0 评论 -
UVALive 4725 Airport 【DP】
题目连接该题的dp状态是dp[i][j] 表示前i时间第一个停机坪有j个飞机飞出时的最大值。由于只有两个停机坪,所以选择的第一个的只确定了,那么第二个也就确定了。当然,本题还存在飞机不够飞的情况,这个可以提前处理点(0,0 且前面的飞机都飞光了)仔细想想 虽然麻烦点,但是并非不可解。#include #include #include using namespace std原创 2012-10-19 21:30:51 · 1167 阅读 · 0 评论 -
UVALive 4847 Binary Search Tree【树型dp】
题目大意:给定一个1-n的排列,依次将这些数插入到二叉排序树中,问总共有多少个排列使得构成的二叉树和给定的排列构成的二叉树相同本题的思路就是:先构成要求的二叉排序树,然后再在树上进行dp状态转移为:dp[rt] = dp[lson]*dp[rson]*c(lson,sum);lson 表示左子树的点的个数,sum表示左右子树点的个数之和。c(a,b) 表示b中过选择a个的组合数。状原创 2012-10-19 21:16:29 · 1070 阅读 · 0 评论 -
UVALive 4844 String Popping【记忆化搜索】
题目大意:给定一个a、b构成的字符串,每次可以消去长度不小于2的连续相同字符,问给定字符能否消成空串。思路:首先我的思路就是搜索,当然暴搜的话超时。然后我就想着记忆搜索的状态,让状态变少!我记录的状态时:剩余字母的数量和ab变成01后二进制数值,打包成pair#include#include#include#include #include using namespace原创 2012-10-19 21:06:02 · 1226 阅读 · 0 评论 -
zoj 3656 Bit Magic【2-sat】【2012 长春现场赛】
题目大意:给定数组b[][],b数组是有下面代码生成的void calculate(int a[N], int b[N][N]) { for (int i = 0; i < N; ++i) { for (int j = 0; j < N; ++j) { if (i == j) b[i][j] = 0; else if (i % 2 == 1 && j % 2 == 1) b[原创 2012-10-16 21:42:15 · 670 阅读 · 0 评论 -
zoj 3662 Math Magic 【dp】【2012 长春现场赛】
题目大意:问有多少组满足,个数为k个,和为n最小公倍数为m解题思路:首先我想到这个可能是dp,状态为前i个数组成和为j最小公倍数是k的方案数,但是这个时间复杂度和空间复杂度都很高。最后我的优化是将最小公倍数这个状态改变一下,事实上可以用到的数并不多,最多也就32个,(eg:10: 1 2 5 10)这样的话,我就解决了问题.但是我写的总是超时,后来分析了很久,原来这个其实最大的一组数据状态原创 2012-10-16 21:25:10 · 1065 阅读 · 1 评论 -
zoj 3659 Conquer a New Region【并查集】【2012长春现场赛】
最近好多题目都是树型结构,我最开始想到的是树型dp,但是完全没有思路,结题报告给的是并查集,看着解题报告想了好久,才看懂什么意思。按边排序,从大到小插入,每条边将两个集合连起来,而新加的边是两个集合所有边最小的,那么两个集合中的点交叉的通路最小的边就是新加的,那只要枚举两个集合,a,b是a并入b更优还是b并入a更优就行了。集合内部点已经计算出,相互的只要知道集合中元素的个数就好了。原创 2012-10-17 10:02:00 · 873 阅读 · 0 评论 -
hdu 2865 Birthday Toy 及我对polya的总结
hdu 2865 Birthday Toy 及我对polya的总结 一直想总结一下这两天学的东西,今天借这个题总结一下。 正如上篇所说的: 组合计数问题中经常遇到两种困难,第一找出问题通解的表达式,第二是区分讨论问题中哪些应该看成相同的。换句话说,我们就可以将polya 问题分成两部分来分析,从代码上来说,我们也可以分成两部分来分析不同的实现。 从区分哪些是相同的问题上原创 2012-01-26 13:49:54 · 2258 阅读 · 1 评论 -
二分图全解
http://dsqiu.iteye.com/blog/1689505转载 2012-10-10 10:28:03 · 802 阅读 · 0 评论 -
2012 ACM/ICPC Asia Regional Changchun Online 解题报告
hdu 4276 The Ghost Blows Light这个题是树形dp比赛的时候一直超时,囧,最后将代码进行了优化,然后就过了我的思路是,先将1到n的边先走,将走过的边时间改为0,然后其他的边都得走二次!剩下的就是简单的tree dp了,当时的代码太乱了!以至于超时!#include #include #include #include using names原创 2012-09-08 20:28:28 · 2779 阅读 · 1 评论 -
Little Elephant and Array 线段树
题目 前几篇文章中出现了“靠”等字眼,一次偶然的机会百度到了一篇转载自我的文章,转载者将问中的包含“情绪”的语句全部删掉了,我这才注意到,最近我变得很容易情绪不好!!我错了,我想起了高中一老师说的“心静如水,激情似火”!看来我需要修炼的东西还很多啊…… 题目大意:给定10^5的一个数组,(10^5次)查询给定区间中出现次数和这个数的值相同的数的个数例如:原创 2012-09-04 20:10:34 · 798 阅读 · 0 评论 -
codeforces 220c Little Elephant and Shifts
很少遇到经典的题目,这个不算经典但是却也非常精彩。题目题目大意:给定两个两个1-n的排列,定义两个排列的距离为:所有相同数字之间距离的最小值,More formally, it's such minimum|i - j|, that ai = bj.定义Acyclic shift number i (1 ≤ i ≤ n) of permutationb consis原创 2012-09-05 11:38:19 · 1255 阅读 · 0 评论 -
HDU 3038 How Many Answers Are Wrong
题目大意:有n次询问,给出a到b区间的总和,问这n次给出的总和中有几次是和前面已近给出的是矛盾的??做了好长时间了,现在整理一下首先说明的是,这个是并查集的一种应用,刚开始的时候我还以为是线段树之类的东西呢。但是苦思无解,最后还是看了解题报告,原来是并查集,看完解题报告,我发现,有一组数据我一直想不明白,10 31 2 23 4 22 4 100呵呵,我傻了,我以为1到原创 2012-03-22 09:53:40 · 4259 阅读 · 0 评论 -
hdu 4196 Remoteland 一种思考
我不是很喜欢弄解题报告这样的东西,所以,我做过的题好多都忘了,就好像没做过。这个题,难度并不是很难,但是,却是让我有了另一种思考,以前我一直在想,acm考的到底是什么??知识点??不像啊,好多的题目我根本就不是知识点,我根本就没法下手,根本就不可能做出来,我要怎么做才能提高自己的水平呢?在迷茫中我苦苦的做题,毫无进展,如何才能出了那些“没有知识点”的题目??到现在我也没有答案,今天看到的这个题原创 2012-04-06 09:16:06 · 1082 阅读 · 1 评论 -
十个利用矩阵乘法解决的经典题目
这篇文章很经典,我是从这儿http://www.matrix67.com/blog/archives/276/看到的! 好像目前还没有这方面题目的总结。这几天连续看到四个问这类题目的人,今天在这里简单写一下。这里我们不介绍其它有关矩阵的知识,只介绍矩阵乘法和相关性质。 不要以为数学中的矩阵也是黑色屏幕上不断变化的绿色字符。在数学中,一个矩阵说穿了就是一个二维数组。一个n行m列的矩转载 2011-08-24 10:23:56 · 776 阅读 · 3 评论 -
hdu 2292 Minimum Heap 动态规划
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=2292这个题原来第一次读我以为是数学解决,后来一直想不出来听说是动态规划才想明白,由于这个题中只有1000个点,所以数组我开的很大当对一颗子树进行编号的时候,不管是哪些数字,编号方案树都是一样的都是一样的,没有区别,所以对于每一个点,他的方案树就是其两子树的方案数之积 乘以 将其所有子树中节原创 2011-08-24 19:08:11 · 756 阅读 · 0 评论 -
hdu 2291 Five in a Row, Again
hdu 2291 Five in a Row, Again好几天了,这个题做完了一只没有总结,今天总结一下原题传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2291这个题我用的是状态压缩的dp,方法很笨,但是能ac,呵呵先看看我查这个题解题报告时觉得不错的一个资料,其中给出了五种解法:原文出自http://hi.baidu.com/原创 2011-08-26 09:26:13 · 1057 阅读 · 1 评论 -
zoj 2912 hdu 2376 Average distance 树形
题目大意:求出任意两点之间的距离,并求其平均值这个题我们是在组队训练的时候做的,看到这个题,队友马上就给我了,简单,但是由于数据类型的选择,和精度的问题,我们到最后都没有A,可惜啊,这是比较简单的一个题,有了思路就好办了,但是,不提了,分析题目吧看到这个题的时候可能无从下手,当想到每条边用多少次之后就比较简单了,一条边用的次数是其左边点的个数乘以右边点的个数,简单了吧,我用的是树的邻接原创 2011-08-26 10:17:46 · 1338 阅读 · 0 评论