
算法
veryoldman
这个作者很懒,什么都没留下…
展开
-
Konig定理:最大匹配==最小顶点覆盖
Konig定理:二分图的最小顶点覆盖数等于最大匹配数。证明:比如最大匹配是M。为了求最少的点让每条边都至少和其中一个点关联。M个点是足够的。就是说他们覆盖最大匹配的那M条边后,假设有某边e没被覆盖,那么把e加入后会得到一个更大的匹配,出现矛盾。M个点是必需的。匹配的M条边,由于他们两两无公共点,就是说至少有M个点才能把他们覆盖。原创 2012-02-13 13:34:50 · 1521 阅读 · 0 评论 -
HCPC 2011 Spring Online Contest解题报告
HCPC 2011 Spring Online Contest解题报告A题 RPNF悲了个催,这种题一直是令我纠结的一种题,表达式求值。。。应该找个时间把这类的正解学下,不能总是现场YY。。。一个堆栈操作的过程,1.遇到字母直接输出2.遇到运算符或者左括号op,从栈顶开始,依次与op比较,若优先级大于op,则出栈输出,直到栈为空或者栈顶操作符优先级小于op或者栈顶为'('然后op进原创 2012-02-13 14:53:26 · 4471 阅读 · 0 评论 -
衡阳八中1026windy数解题报告
1026: [SCOI2009]windy数Descriptionwindy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。windy想知道,在A和B之间,包括A和B,总共有多少个windy数?Input包含两个整数,A B。Output一个整数。Sample Input【输入样例一】1 10【输入样例二】25原创 2012-02-13 13:58:22 · 2577 阅读 · 2 评论 -
【专辑】单调队列+斜率优化的DP
【专辑】单调队列+斜率优化的DP这里有个不错的总结,我只是做个补充。单调队列两个单调一是队列中的数据,其相对位置与原数列中的是相同的,即位置的单调性一是队列中数据大小的单调性这样就使得每次最大的元素都在队首,实现O(1)的查找,由于每个元素出队入队仅一次,所以平坦复杂度是O(1),所以总的复杂度就是O(n)。这样就能解决很多其他数据结构要O(nlogn)及以上的复杂原创 2012-02-14 17:12:28 · 885 阅读 · 0 评论 -
HOJ 2691 Nail III解题报告
Nail III墙上有n个钉子,编号为1, 2, …, n。其中钉子i的横坐标为i,纵坐标初始为xi。可以进行如下操作:s t v:若在高度为v处放一块横坐标范围是[s,t]的水平木板,它将下落到什么高度?换句话说,求出钉子s, s+1, s+2, …, t的纵坐标中,不超过v的最大值。如果这些钉子的高度全部大于v,则木板将落到地上,高度为0。注意,在T操作时,水平木板只是用来测试的“临时原创 2012-02-15 02:48:50 · 592 阅读 · 0 评论 -
C++第二次试验
这是.h文件#ifndef SALARY_H_INCLUDED#define SALARY_H_INCLUDEDclass basic{ protected: double workingAge, workingTime; static double saleroom; public: virtual void inpu原创 2012-02-14 17:05:14 · 1117 阅读 · 0 评论 -
2011 Spring Trainning Contest SLPC
额,几天没来博客了,得写点东西……先说上周六的这场比赛。又是水过了简单题目,稍微难的就没有想出,然后其他题目又懒得看了……这其实是学长挂的组队赛的,题目不算很难(因为我总感觉我能做出来的就是简单题目,事实上一直如此),大部分单个人参赛的都A掉了4、5道题目,而HIT_IF、HITDPS则A掉了11道,差一道AK……两个好牛的队伍啊……先将我A掉的题目的题解写一下:(有点废话,没A掉原创 2012-02-14 17:15:58 · 2155 阅读 · 0 评论 -
hoj Secret Message 解题报告
Secret Message 这是一道trie树题目,题意是给了个字典,然后再给你单词,看与字典里多少词匹配。这里的匹配意思是:较短的那个词是较长那个词的前缀。这里有个trick就是,同样的单词可能出现多次。(我在这里wa了几回)#include #define N 224288using namespace std;struct data{ int r,l,原创 2012-02-14 17:18:15 · 453 阅读 · 0 评论 -
程序设计实践课
今天的程序设计实践课,一佳学长现场演示了上次huffman的问题,写的是个简洁、飘逸啊,指针用的是个灵活。。。同步敲的代码如下,由于一些地方没跟上,所以可能略有些不同:#include #include #include #include using namespace std;const int N = 10050;struct node{ int value;原创 2012-02-15 02:49:15 · 580 阅读 · 0 评论 -
汤氏思考题解答
汤氏思考题:http://blog.renren.com/blog/348686342/802082372原文摘录:汤氏动脑题:假设一个教室里有300个座位,有300个同学且每人拥有一个固定的座位,我们三个是最早进教室的并且随便坐在了别人的座位上,那么这时这个座位的同学来了之后也只能坐在其他人的座位上,进而影响更多的人。请从概率论的角度分析,仅由最初我三个人坐在别人位置上而导致300人到齐原创 2012-02-16 01:43:42 · 1460 阅读 · 2 评论 -
rand5产生rand7
以下的randN代表随机产生0~N的数,每个数出现的概率相等。从rand7产生rand5比较简单,当rand7得到6或者7时再次运行rand7,直到小于6时输出。但是从rand5产生rand7就没有这么方便了。可以考虑rand5产生更大的rand。考虑另一个问题,如果有个rand9的程序,要随机产生0~999的数,这时思路很清晰,先rand百位,然后rand十位,然后rand个位。原创 2013-09-25 20:02:01 · 1332 阅读 · 0 评论 -
hoj 1225 Supermarket
SupermarketA supermarket has a set Prod of products on sale. It earns a profit px for each product x in Prod sold by a deadline dx that is measured as an integral number of time units starting from原创 2012-02-13 14:12:50 · 492 阅读 · 0 评论 -
spoj227. Ordering the Soldiers
SPOJ Problem Set (classical)227. Ordering the SoldiersProblem code: ORDERSAs you are probably well aware, in Byteland it is always the military officer's main worry to order his soldie原创 2012-02-13 14:08:14 · 650 阅读 · 0 评论 -
HOJ2688 Color Segment
Color Segmentlilu又开始画画了,爸爸给他买了很多很多的画笔,他很高兴,于是就开始在一条带子上乱画,带子长度为L,是用L个单位长度的带子连在一起形成的,标号从1开始。由于过于兴奋,所以只是机械的做一个动作,就是将连续的一些带子涂上一种颜色。爸爸看见了,感觉他在浪费画笔,于是问了一些问题,如果他回答正确就可以继续画,否则将被没收画笔。问题是要询问一段连续的带子上有多少个色带原创 2012-02-13 14:04:49 · 405 阅读 · 0 评论 -
hoj 1372 方程的解数
方程的解数Problem 已知一个n元高次方程:k1x1p1 + k2x2p2 + ... + knxnpn = 0其中:x1, x2, …,xn是未知数,k1,k2,…,kn是系数,p1,p2,…pn是指数。且方程中的所有数均为整数。假设未知数1≤ xi ≤M, i=1...n,求这个方程的整数解的个数。 Input 文件的第1行包含一个整数n。第2行包含一个原创 2012-02-13 14:22:03 · 534 阅读 · 0 评论 -
HOJ 1026 Run Away
Run Away One of the traps we will encounter in the Pyramid is located in the Large Room. A lot of small holes are drilled into the floor. They look completely harmless at the first sight. But when原创 2012-02-13 13:46:27 · 547 阅读 · 0 评论 -
hoj 2503 Bribing FIPA
Bribing FIPADescriptionThere is going to be a voting at FIPA (F��d��ration Internationale de Programmation Association) to determine the host of the next IPWC (International Programming World Cup)原创 2012-02-13 14:02:47 · 2536 阅读 · 0 评论 -
POJ2002 Squares
SquaresDescriptionA square is a 4-sided polygon whose sides have equal length and adjacent sides form 90-degree angles. It is also a polygon such that rotating about its centre by 90 degrees gives原创 2012-02-13 14:10:16 · 558 阅读 · 0 评论 -
hoj 2608 Assemble
AssembleRecently your team noticed that the computer you use to practice for programming contests is not good enough anymore. Therefore, you decide to buy a new computer.To make the ideal comp原创 2012-02-13 14:26:31 · 656 阅读 · 0 评论 -
《阿里巴巴集团杯》2011(春)HIT ACM程序设计竞赛 解题报告
传送门A题 Best Fit Ring题意:修改某点值,求最大区间和当时一直想用树状数组做,结果还是没做出来。正解应该是线段树来做,mark下,以后做。//待做B题Seven Roads待做//待做C题Shortest Path题意:数轴上有n个点,从0..n-1,每个点处有个x[i],表示在此点可以一步到达[i,i+x[i]]中任意一整点处原创 2012-02-13 14:41:30 · 2693 阅读 · 0 评论 -
hdu 3565 Bi-peak Number解题报告
Bi-peak NumberProblem DescriptionA peak number is defined as continuous digits {D0, D1 … Dn-1} (D0 > 0 and n >= 3), which exist Dm (0 Di+1 (m A number is called bi-peak if it is a concatenation原创 2012-02-13 13:55:16 · 1501 阅读 · 0 评论 -
AVL树
虽然没有SBT树平衡,但是还是比较平衡的,也较好理解。#include #include typedef struct node{ struct node * lchild; struct node * rchild; int data; int height; int num;}node;int getNum(node *p){ i原创 2012-02-13 13:33:31 · 344 阅读 · 0 评论 -
RMQ的ST算法
RMQ:查询区间最大值或者最小值可以用线段树做,但每次查找都是O(log(n)),总体是O(qlog(n))ST算法可以达到O(nlog(n))的预处理,O(1)的查询思路是:f[i][j]表示i开头的长度为2^j的区间内的最大值,转移方程为f[i][j] = max(f[i][j-1],f[i+(1<<(j-1))][j-1]),查询[l..r]时原创 2012-02-13 13:36:44 · 348 阅读 · 0 评论 -
运煤问题
你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手里有一列烧煤的火车,这个火车最多只能装1000吨煤,且其能耗比较大——每一公里需要耗一吨煤。请问,作为一个懂编程的煤老板的你,你会怎么运送才能运最多的煤到集市?怎样能使到达集市时剩余的煤最多?思考一下,都可以怎么运?通过思考,我们可以得到以下几个限制条件或者说结论:1. 1次是运原创 2013-09-25 19:51:32 · 2195 阅读 · 1 评论