那些年_ACM
文章平均质量分 72
Usopp_Dream
为梦而战
展开
-
poj2485-最小生成树(prime+kruskal)
最小生成树 记录该最小生成树上的一个最长的路径 scanf接收数据//kruskal 不断加没有加进最小的边 保证 两个点至少一个没加进点集#include#include #includeusing namespace std;int father[505];int fun(int x){ return x==father[x]?father[x]:fun(father[x])原创 2011-11-01 20:46:50 · 515 阅读 · 0 评论 -
2012蓝桥杯初赛试题(本科组)
由于篇幅较长,解析放在下篇博文里。在此,谢谢DD提供题。第一题:微生物增殖假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。 一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。 现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。 如果原创 2012-04-07 20:53:35 · 1876 阅读 · 0 评论 -
资料整理
周五出发去武汉,华中区程序设计大赛,虽然是作为机动名额去的,但是也要加油!!!争取拿牌,加油!!!整理一下以前的资料【以前写在百度空间的】Prufer编码——构造方法如下:从树中去掉编号值最小的叶子节点(仅与一条边邻接的节点),以及与它邻接的边后,记下与它邻接的节点的编号。在树中重复这个过程,直到只剩下一个节点(总是编号为n的节点)为止。记下的n-1个编号序列就是树的Prufer编码。ca原创 2012-04-24 10:52:48 · 743 阅读 · 2 评论 -
nyoj151/poj1006中国剩余定理
很早就知道中国剩余定理了,也写过这类题,以前却都是暴力写过的。今天终于用定理写了一次。剩余定理是关于:求某个数X,它对三个数(x,y,z。互素)取余分别为a,b,c。解法为:先计算出某个最小整数(px),它能整除另外两个数(y,z),但对该数(x)取余为1。然后累加三个最小整数(px,py,pz)与对应余数的积。累加和对三个数的最小公倍数取余结果即为所求X。证明:令T1=px*原创 2012-05-03 18:27:16 · 867 阅读 · 0 评论 -
ACM中Java使用总结
Java在ACM中的主要应用是大数类【个人见解】。做个小总结,留作模板用。类名默认为Main。输入:声明一个输入对象cin;Scanner cin=new Scanner(System.in);输入一个int值:Int a=cin.nextInt();输入一个大数:BigDecimal a=cin.nextBigDecimal();EOF结束:while(cin.hasNe原创 2012-05-04 11:41:47 · 1694 阅读 · 0 评论 -
poj1981-单位圆最多覆盖点
计算几何题。昨天的比赛题,这类题数据不会特别大,只要能推出公式,就能解。比赛时,只顾着找模版,没有认真去分析题。期间想到过解题思路,由于不自信,没有去实现!!!!解题思路:根据最远两点确定圆心,判断圆内最多的点数。不断修改圆心,记录最大的点数。遍历一遍就是答案。 趁着这几天总结一下学过的一点计算几何,加油!!!。#include#include#includeusi原创 2012-05-08 17:17:16 · 1771 阅读 · 5 评论 -
hdu 题目分类(转)
原文地址:题目分类(转)" style="text-decoration:none; color:rgb(76,107,115)">hdu 题目分类(转)作者:czm09051001 这个就不用说了吧 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点)转载 2014-03-05 12:45:35 · 769 阅读 · 0 评论 -
hdu2553-N皇后问题.回溯
第一次写回溯,给出回溯定义。个人理解:类似于递归,但要检查所有的状态。权威解释:回溯法也称试探法,它的基本思想是:从问题的某一种状态(初始状态)出发,搜索从这种状态出发所能达到的所有“状态”,当一条路走到“尽头”的时候(不能再前进),再后退一步或若干步,从另一种可能“状态”出发,继续搜索,直到所有的“路径”(状态)都试探过。这种不断“前进”、不断“回溯”寻找解的方法,就称作“回溯法原创 2012-04-20 14:07:26 · 712 阅读 · 0 评论 -
hdu-3033 又见0-1背包
这个是稍微复杂的0-1背包,或者可以说是二维背包的变形。总之,就是一个特殊背包,特殊在哪呢?稍后分析题意:某人要买鞋,有k个品牌,每个品牌有j个款,每款都有标价和价值,要求已经M元内,每个品牌至少买一双鞋的最大价值和。分析:难点1 每个品牌至少一双,很令人纠结呀。其实的其实,可以这样想,k个品牌,可以直接理解为重量为k,只要k全部填满,即为k个品牌至少一个。理解了这个就不难原创 2012-03-16 12:00:12 · 793 阅读 · 3 评论 -
hdu2416-很好的搜索
一个很不错的搜索,刚看到题的时候一直没明白题意。两天后,也就是昨天下午终于理解了题意,英语不好 好惭愧题意:给出一个图,门都在边界上。只能从一个门进去。选择耗费的最小时间。‘*’是不能走通的墙'.'是走廊,不耗费任意时间'1'-'9'是需耗时1-9才能翻过的墙,如果使用一个炸弹炸毁,则不耗费任意时间'#'、'A'-'Z'是门,可以带1-26个炸弹。#是0个炸弹的门。分析原创 2012-04-14 16:44:10 · 1925 阅读 · 0 评论 -
非常郁闷的--hdu2653(有心的朋友帮帮忙)
这个题真的非常郁闷,错了一下午、、、、、明明思路非常的正确,怎么修改就是WA、、、题意:由起点到终点的最小时间。需要注意的是如果遇见@则此次只能fly并且@的下一步也只能fly。分析:看到题就明白是个有特殊条件的BFS。写好后一直WA,才知道每个状态需要记录power,三维数组记录状态。写好后就开始了悲剧的找错时光、、、、漫长的一下午过去了,晚上也好一会了,还是没有发现究竟原创 2012-04-11 20:11:20 · 762 阅读 · 0 评论 -
m个数分成n个数的和
http://acm.nyist.net/JudgeOnline/problem.php?pid=176题意很简单,有两种想法,做题过程中,自己想到了第一种解法,但是没能用代码实现,第二种是看自己的博客的时候,发现和斯特林数很像。对于一个数m,分成n组,首先假定确定第一位,如果是1,则剩余的n-1位数的和是m-1;第一位是2,剩余的n-2位数的和是m-2;注意,这里第一位数不能超过m/原创 2011-12-23 14:37:32 · 1652 阅读 · 0 评论 -
hdu1372-Knight Moves--搜索
看了大半天的题,没看出来怎么个走法、、、、只看见棋盘了、、、一遍一遍的看样例,还是不知道作者要让我怎么走,好吧,有道翻译没有发现眉目。好奇、、、、别人都是怎么知道是--象棋中马的走法(马走“日”象走田车走直路炮翻山。。。)题意:迄今仍在好奇中。分析:看见shortest,就知道BFS。看见某个大牛用DFS写的,核心代码就三句。代码:#include#include原创 2012-04-10 15:35:11 · 642 阅读 · 0 评论 -
hdu-1253——三维BFS+剪枝
题意很明了,搜索,有六种走法上,下,左,右,前,后。只是该题需要加上剪枝。N[A-1][B-1][C-1]==1或者A+B+C-3>T的时候直接输出-1即可。能节省400ms左右题意:从0,0,0走到A-1,B-1,C-1.6个走法。分析:最小步数,BFS。这个不用优先队列还能节省一定的时间。代码:#include#include#include#incl原创 2012-04-10 21:56:17 · 625 阅读 · 0 评论 -
nyoj-517 求1-n的最小公倍数
清明节放假去玩了,回来后做的第一个题。表示很没有手感。明天上午蓝桥杯比赛、、、、怎么办呢 、、、题意:求1-n所有数的最小公倍数。n的范围是【1-100】分析:仔细观察会发现,【1-n】的最小公倍数,是【1-n-1】的最小公倍数乘以n的所有素因子中没有被【1-n-1】包含的素因子。例如:【1-7】的最小公倍数是2*3*2*5*7,8=2*2*2,(8中2出现3次,【1-7】的素原创 2012-04-06 15:10:21 · 1662 阅读 · 0 评论 -
欧拉函数、欧拉定理、费马小定理
生病了,耽搁了两天。明天开始继续和队友们一起奋战。。。总结一下,自己以前学过的数论方面的知识。今天小小的搜索一下,计算机数论真的是很庞大的一个领域。推荐一本书《计算数论》。准备买了、这里先浅议下欧拉定理和欧拉函数。很久以前以为他俩一个意思()欧拉函数:定义:用于计算 p(n),比n小的所有与n互质的数。计算公式:p(n)=n*(1-1/p1)*(1-1/p2)....*原创 2012-03-22 21:48:54 · 2315 阅读 · 0 评论 -
ACM心得——(写的很好,留着警示自己)
这个非原创、、、、、但是,为了让更多人看到,无奈的原创一下、、、写的很好,虽然真正学习算法(说的好听是学算法,不好听就是A题)近一年了,但是,学习的效率非常低,最近才稍稍掌握点技巧。这篇文章不知道是哪位大牛写的,在朋友的博客中看到了,觉得很有借鉴作用,就粘了过来,共勉。。。。加油!!!吖飒~~~~ 刻苦的训练我打算最后稍微提一下。主要说后者:什么是有效地训练? 我想原创 2012-03-21 08:38:17 · 3850 阅读 · 15 评论 -
代为转载、、、、位运算
这是数学模型老师布置的一个作业题,发现用C语言可以很好的解决,只可惜那个水货老师看不懂!怎一个“悲”字了得!!!题目: 任意拿出黑白两种颜色的棋子共八个,排成一个圆圈.然后在两颗颜色相同的棋子中间放一颗黑色棋子,在两颗颜色不同的棋子中间放一颗白色棋子,放完后撤掉原来所放的棋子.再重复以上的过程,这样放下一圈后就拿走前次的一圈棋子,问这样重复进行下去各棋子的颜色会怎样变化呢?转载 2011-11-13 13:21:08 · 429 阅读 · 0 评论 -
hdu-2199、hdu2899、hdu2141、hdu2289二分,牛顿迭代
额、、、、第一次解高次方程,吓着自己了。看了很多资料(跑偏了,找各种数学公式去了、、、、正在筹备总结学过的各种数论知识点)。加油!!!吖飒~~~~hdu2199题意:求解8x^4+7x^3+2x^2+3x+6-m=0;这个方程式。分析:二分法比较容易。代码比较好写。开始一直觉得二分肯定超时,没敢写代码。后来,写了写才知道直接AC。时间分析,x属于【0-100】,即使是浮点数,也原创 2012-03-21 16:13:38 · 865 阅读 · 0 评论 -
poj1797--djikstra
djikstra的稍微变形,找的是最大载重,转移方程稍微变形/////dijkstra#include #include#includeusing namespace std;int map[1005][1005];int temp[1005];//记录某点到1的最大载重bool flag[1005];int min(int a,int b){ if (a>b) return原创 2011-11-03 09:17:58 · 469 阅读 · 0 评论 -
poj-1094拓扑排序
拓扑排序的原理 很早就知道了 但是 这个很简单的拓扑排序题 却写了好久、、、、对于各种标记不是很明朗。拓扑排序的原理:在一个图中(有向图),存在入度为0的点,把该点去掉,并删除该点所在的边,再找入度为0 的点,直到所有的顶点全被确定一个顺序。如果过程中入度为0的点大于一个,说明拓扑序列不唯一。拓扑排序的应用:一个有向图,一些的节点必须在另一些节点前面,适用于要求有某种顺序的题代原创 2011-11-07 16:50:09 · 570 阅读 · 0 评论 -
矩阵乘法在程序中的使用----如有错误欢迎指出
矩阵的乘法在程序中作用有很多的体现。前两天接触的那个题,可以使用矩阵连乘,然后,二分计算快速解答。由于是第一次接触,花了好一会才明白点所以然,这里小小的总结一下。首先,使用矩阵连乘的好处:可以实现快速计算。其次,如何把问题转化成矩阵连乘的形式。这里举例说明。拿fibonacci举例。fibonacci公式:F[n]=F[n-1]+F[n-2];可以先观察下这个式子:原创 2012-03-06 17:02:18 · 776 阅读 · 3 评论 -
2012蓝桥杯初赛题解析(本科组)
今天上午的蓝桥杯比赛让我正视了很多以前没有注意的问题,也找到了很多自以为会了,其实是盲点的知识点。10个题都不难,放到平时,如果是在oj上,肯定能全部AC,可是比赛的时候,写的并不好。尤其是最后一个题,发现了个循环节,多么兴奋呀,最后的最后在交代码的时候,我把num[0]改成了1.悲剧了 25分!!!!伤心呀!!!欲哭无泪呀!!!最后的最后,有三题好像没有交上,缠监考老师了好久,一直给原创 2012-04-07 21:26:35 · 2543 阅读 · 8 评论 -
1584-蜘蛛牌
浮躁、、、又开始浮躁了、、、、昨天一天明显坐不住,虽然一直在想题,也一直在跑题【自我检讨】。沉下心,在努力一把,加油!!!昨天晚上听了听ZYC的报告,深觉自己好不努力。感触:罗列知识清单,把基础知识全罗列出来,各个击破。还有,长处有一个就足够了,好好发扬。另,昨天整理资料的时候发现,解题报告写得非常烂,这方面的能力要加强。言归正传,题意:单色蜘蛛纸牌的玩法,只有1-10张牌原创 2012-04-25 11:47:06 · 1420 阅读 · 0 评论 -
hdu3959-求期望
期望:对于一个数值x,x出现的概率是p,那么x的期望值就是x*p;题意:比较不好理解,expected number of times we will need to throw dice to determine the judge.选出裁判需要掷骰子的次数的期望。m^x>=n;即每个人提供长为x的序列,序列总长m^x。掷骰子x次选出裁判的概率p=m^x/n;那么x的期望值为:x*p原创 2012-05-06 19:03:27 · 852 阅读 · 0 评论 -
hdu2276-nyoj300矩阵快速幂
又写次矩阵模乘,表示看了解题报告后,才知道是矩阵题。练得题少的缘故。应该看懂题就能分析出是什么题。勤加练习,加油!吖飒~~~~hdu2276,数据比较水,很快就AC了,nyoj一直TLE,后来用结构体写AC啦。大概是初始化和函数的调用浪费的时间。题意:一个环形排列的灯,灯的左侧灯状态为1,改变该灯的状态。否则不改变。n轮过后,所有灯的状态。递推矩阵为:1 1 0 0 0 0 0原创 2012-05-08 17:07:15 · 721 阅读 · 0 评论 -
数论小知识(错排、斯特林)
斯特林数:参考维基百科stirling数第一类Stirling数是有正负的,其绝对值是n个元素的项目分作k个环排列的方法数目。给定s(n,0) = 0,s(1,1) = 1,有递归关系S(n,k) =S(n − 1,k − 1) + (n-1)S(n − 1,k)第二类Stirling数是n个元素的集定义k个等价类的方法数目。给定S(n,n) =S(n,1) = 1,有递归关系原创 2011-12-01 18:35:20 · 1233 阅读 · 0 评论 -
poj-3259——bellmanford
题意很明显:判断是否有负权回路。bellman_ford的算法实现过程:首先明确一点 迄今 还不知道 判断完是否有负权后 怎么计算最短路。——有负权 没有最短路。无负权,dis中的最小距离即是所解判断负权的过程:定义一个一维数组,存放的是每个点的最小距离(到源点的最小距离)(每次更新与其相连的两个点,最终存放的是该点在整个图中的最小距离),更新每个点的最小距离,如果某个点能更新n次说明原创 2011-11-06 13:39:39 · 629 阅读 · 0 评论 -
逆序数--归并排序-nyoj117
归并排序的题 只需要记录排序的次数。 递归法实现 归并排序 #include#includeusing namespace std;int a[1000005];long long sum;void smerge(int x,int mid,int y)//归并{ int i,j,k=x; int n1=mid-x+1; int n2=y-mid;原创 2011-11-08 21:14:52 · 617 阅读 · 0 评论 -
nyoj-30 Go finishing 经典贪心
题目地址话说,这个题从去年就想写了。解题报告都看了不知道多少遍,一直没能写出来(鄙视一下自己)。今天下了决心一定要写出来,果然、、、、花了一番心思后,终于AC啦!啦啦啦 嘿嘿 。。。吖飒!加油~~~~题意(英文题,当初翻译了好久才明白题意,痛心呀,My English):佳佳去钓鱼,池塘在一条直线上,每个池塘能钓到的鱼按di递减,从池塘i到i+1需要ti的时间。问佳佳最多能钓到的鱼原创 2012-03-20 18:17:32 · 1005 阅读 · 0 评论 -
hdu1072-Nightmare
又做了一个搜索,这个稍微有点复杂,不过还是被我AC啦。。。下面还有一个类似的,一并总结在这。1072:题意:从起点到终点在爆炸前到达的最小时间。其中,0是墙壁,1可达,2起点,3终点,4爆炸时间重置为6.并且,可以重复经过某点,因此走过的路不能修改状态。作为优化,要修改等于4的点,否则会一直无限循环下去。另外有种优化,记录每个点的剩余最大时间,剩余时间小于当前点的不加进状态原创 2012-04-11 14:05:01 · 723 阅读 · 0 评论 -
nyoj301-递推求值(矩阵模乘)
前段时间学了学矩阵模乘,大致明白了这个原理。第一次来做这种题,表示写的非常头疼!确切说是调试的很头疼!昨天下午写好的代码,提交后---WA,下载了测试数据,昨天晚上开始调试,就在刚刚还是测试数据都不对,无奈的提交一下,竟然AC、、、、、、、传奇、、、、、神奇、、、、、叹为观止的机器原因又一次重演了。。。。。。搞不清、、、、试试别人的代码全部都是测试数据都不对、、、、、好吧、、、、、原创 2012-03-20 15:18:47 · 942 阅读 · 3 评论 -
hdu1251 字典树
很是头疼指针,今天写了写发现其实没那么难、、、如果心中充满了对某事物的畏惧,那么这个事情就很难完成,要有藐视困难的决心,和战胜困难的毅力!吖飒!加油~~~题意:统计某个前缀出现的次数。分析:很明显需要用字典树写,节省空间节省时间的有效方法。这里洗需要解决一个问题,记录前缀出现的次数,也就是说,建树时,如果该字母出现过,data+1,如果没出现,data=1;查找的时候,原创 2012-03-26 09:42:08 · 538 阅读 · 0 评论 -
hdu1075--还是字典树
嘿嘿 ~~~~开心开心~~~~这个是独立完成的(还是花了好一段时间,调试了大半天),。题意:给你一个字典,翻译文章。注意:题中可能出现abc可翻译为bcd ,需要翻译的文章中出现ab的话,还是输出ab(在这里错了好久,才发现)分析:几乎是字典树的模板,把翻译存储为一个字符串。有各种边界条件需要处理。代码:#includeusing namespace std;s原创 2012-03-26 18:12:56 · 624 阅读 · 0 评论 -
hdu1058 Humble Number
数据超级BT的一个题,WA了 想不明白为什么错,看看别人的AC代码才知道,对于211这样的输出要用th,221要用st。那叫一个泪%>_题意:依序打印出因子只有2,3,5,7的数。这个题在这章一拿到题就想DP动态方程,楞了半天,怎么想都觉得不是DP。开始的时候想着从1-2000000000依次用筛选法,比较无奈的,无限超时。优化了一下还是不行。后来的后来就想到因子只有4个,何不计算出所原创 2012-03-08 20:56:06 · 540 阅读 · 0 评论 -
hdu-ACM Step 3.1递归求解2041,2044,2046,2018,2050,2501,2045,2604
这章全是递推求解专题很类似DP现在分析各题的递推公式:3.1.1超级楼梯http://acm.hdu.edu.cn/showproblem.php?pid=2041C[j]=C[j-i]+C[j-2] ///////////////C[1]=1,C[2]=1(此处没想通,为什么C[2]=1,不过题目很明显给出了)可以理解为在要到第j层,可以从j-2层迈两阶,j-1层迈一阶。原创 2012-03-03 23:52:01 · 827 阅读 · 0 评论 -
hdu1160&&1087
很久没写DP了(大概一年之久),由此可鉴,没有付出足够的努力呀在思考过程中一直警醒自己 不能看解题报告,于是乎,艰苦的独立完成了,虽然是俩简单的DP,但收获不小,吼吼~~~~~~Super Jumping! Jumping! Jumping!这个题意是,一维空间上求和最大的一个可以不连续的序列,输出最大和。推导DP的动态方程时,只需要找比当前值小的和的最大值加上当前的值,即原创 2012-03-08 10:25:27 · 494 阅读 · 0 评论 -
hdu2604-Queuing-矩阵
http://acm.hdu.edu.cn/showproblem.php?pid=2604题意是,有个长度为N的队列,男女一起站队,不能有男男男(fff)或者男女男(fmf)出现在对列.队列的排列方法有多少。这个题出在这章,开始还以为是递归求解的题,就想着推公式。想了半天没有什么名目,有点急功近利,看看网上才知道可以用矩阵的解法。现在依自己的看法分析分析这俩解法DP解法:当N原创 2012-03-04 16:52:44 · 601 阅读 · 0 评论 -
hdu1134、1130-Catalan数
新年的第一篇博文给自己加油 !!告别寒假的安逸 为梦想迈出一小步、、、、http://acm.hdu.edu.cn/showproblem.php?pid=1134题意:2N个人依序站成一圈,两两组成一队,不能交叉,组合的组数http://acm.hdu.edu.cn/showproblem.php?pid=1130题意:给定N个节点,能构成多少种不同的二叉树。代码一样原创 2012-02-28 14:45:16 · 652 阅读 · 0 评论 -
hdu-1063 Exponentiation大数问题
这个题题意很简单 ,求浮点数R的N次方。刚看到这个题,直接就开数组模拟大数乘法,写了半天Memory Limited Exceed.不过由此知道了int型数组的最大长度是8*10^7,char 型2*10^7后来就想到了数据不会太多,就转成了每输入一次,计算一次。写呀写呀,一直WA。各种特殊数据嗄。写的头大。删了重写了很多次。也许是以前写题的时候没有全心的投入吧,细节的部分一多就会慌张,原创 2012-03-02 17:24:03 · 740 阅读 · 0 评论