[HAOI2007] 上升序列
摘要:【问题描述】对于一个给定的S={a1,a2,a3,…,an},若有P={ax1,ax2,ax3,…,axm},满足(x1<x2<…<xm)且(ax1<ax2<…<axm)。那么就称P为S的一个上升序列。如果有多个P满足条件,那么我们想求字典序最小的那个。 任务 给出S序列,给出若干询问。对于第i个询问,求出长度为Li的上升序列,如有多个,求出字典序最小的那个(即首先x1最小,如果不唯一,再看x2最小……),如果不存在长度为Li的上升序列,则打印Impossible.【输入格式】 第一行一个N,表示序列一共有N个元素第二行N个数,为a1,a2,…,an第三行一
阅读全文
posted @
2012-10-30 01:17
怡红公子
阅读(379)
推荐(0)
[USACO Jan08] 化装晚会
摘要:万圣节又到了!Farmer John打算带他的奶牛去参加一个化装晚会,但是,FJ只做了一套能容 下两头总长不超过S(1 <= S <= 1,000,000)的牛的恐怖服装。FJ养了N(2 <= N <= 20,000)头按1..N顺序编号的奶牛,编号为i的奶牛的长度为L_i(1 <= L_i <= 1,000,000)。如果两头奶牛的总长度不超过S,那么她们就能穿下这套服装。FJ想知道,如果他想选择两头不同的奶牛来穿这套衣服,一共有多少种满足条件的方案。程序名: costume输入格式:第1行: 2个用空格隔开的整数:N 和 S第2..N+1行: 第i+1为
阅读全文
posted @
2012-10-29 19:51
怡红公子
阅读(993)
推荐(0)
Knights
摘要:一开始写了个爆搜,WA30原来是用二分图最大匹配来做,表示还不是很理解啊!建图的时候又出了问题,原来要考虑奇偶性。。。 1 #include<iostream> 2 #include<fstream> 3 #include<cstring> 4 #define fin cin 5 using namespace std; 6 //ifstream fin("cin.in"); 7 8 int n,m; 9 int color[30][30]={0},num[30][30]={0},f[900]={0},totx=0,toty=0; 10
阅读全文
posted @
2012-10-26 23:34
怡红公子
阅读(314)
推荐(0)
[NOIP2010冲刺十二] 圆圈舞蹈
摘要:【题目描述】 熊大妈的奶牛在时针的带领下,围成了一个圆圈跳舞。由于没有严格的教育,奶牛们之间的间隔不一致。奶牛想知道两只最远的奶牛到底隔了多远。奶牛A到B的距离为A顺时针走和逆时针走,到达B的较短路程。告诉你相邻两个奶牛间的距离,请你告诉奶牛两只最远的奶牛到底隔了多远。【输入格式】 第一行一个整数N,表示有N只奶牛。(2≤N≤100000)接下来2~N+1行,第I行有一个数,表示第I-1头奶牛顺时针到第I头奶牛的距离。(1≤距离≤maxlongint,距离和≤maxlongint)第N+l行的数表示第N头奶牛顺时针到第1头奶牛的距离。【输出格式】一行,表示最大距离。【样例输入】5 1 2 3
阅读全文
posted @
2012-10-26 01:11
怡红公子
阅读(292)
推荐(0)
[NOIP2010冲刺十二] 奶牛晒衣服
摘要:【题目描述】 在熊大妈英明的带领下,时针和它的同伴生下了许多牛宝宝。熊大妈决定给每个宝宝都穿上可爱的婴儿装。于是,为牛宝宝洗晒衣服就成了很不爽的事情。圣人王担负起了这个重任。洗完衣服后,你就要弄干衣服。衣服在自然条件下用1的时间可以晒干A点湿度。抠门的熊大妈买了1台烘衣机。使用烘衣机可以让你用1的时间使1件衣服除开自然晒干的A点湿度外,还可烘干B点湿度,但在1的时间内只能对1件衣服使用。 N件的衣服因为种种原因而不一样湿,现在告诉你每件衣服的湿度,要你求出弄干所有衣服的最少时间(湿度为0为干)。【输入格式】第一行N,A,B;接下来N行,每行一个数,表示衣服的湿度(1≤湿度,A,B≤500000
阅读全文
posted @
2012-10-25 20:53
怡红公子
阅读(468)
推荐(0)
KM算法模版
摘要:1 #include<iostream> 2 #include<cstring> 3 #define N 500 4 using namespace std; 5 6 int n,w[N][N]; 7 int lx[N],ly[N],f[N];bool vx[N],vy[N]; 8 9 int Search(int k){10 vx[k]=1;11 12 for(int i=1;i<=n;++i)13 if(!vy[i]&&lx[k]+ly[i]==w[k][i])14 {15 if(f[i]==-1||Search(f[i]))16 ...
阅读全文
posted @
2012-10-22 22:56
怡红公子
阅读(197)
推荐(0)
KM算法
摘要:引用1:KM算法是通过给每个顶点一个标号(叫做顶标)来把求最大权匹配的问题转化为求完备匹配的问题的。设顶点Xi的顶标为A[i],顶点Yi的顶标为B [i],顶点Xi与Yj之间的边权为w[i,j]。在算法执行过程中的任一时刻,对于任一条边(i,j),A[i]+B[j]>=w[i,j]始终 成立。KM算法的正确性基于以下定理: 若由二分图中所有满足A[i]+B[j]=w[i,j]的边(i,j)构成的子图(称做相等子图)有完备匹配,那么这个完备匹配就是二分图的最大权匹配。 这个定理是显然的。因为对于二分图的任意一个匹配,如果它包含于相等子图,那么它的边权和等于所有顶点的顶标和;如果它有的边不包
阅读全文
posted @
2012-10-22 21:59
怡红公子
阅读(414)
推荐(0)
休息中的小呆
摘要:Description 当大家在考场中接受考验(折磨?)的时候,小呆正在悠闲(欠扁)地玩一个叫“最初梦想”的游戏。游戏描述的是一个叫pass的有志少年在不同的时空穿越对抗传说中的大魔王chinesesonic的故事。小呆发现这个游戏的故事流程设计得很复杂,它有着很多的分支剧情,但不同的分支剧情是可以同时进行的,因此游戏可以由剧情和剧情的结束点组成,某些剧情必须要在一些特定的剧情结束后才能继续发展。为了体验游戏的完整性,小呆决定要看到所有的分支剧情——完成所有的任务。但这样做会不会耽误小呆宝贵的睡觉时间呢?所以就请你来解决这个问题了。小呆会给你一个剧情流程和完成条件的列表,其中第一行有一个数n.
阅读全文
posted @
2012-10-20 22:48
怡红公子
阅读(381)
推荐(0)
tarjan算法模版
摘要:1 #include<iostream> 2 #define num 5000 3 #include<cstring> 4 using namespace std; 5 6 int n,m; 7 int f[num]; 8 9 10 typedef struct{11 int u,v,next;12 }z;z edg[num];13 int edgs=0,head[10000];14 void Addedg(int a,int b){15 edgs++;16 edg[edgs].u=a;edg[edgs].v=b;17 edg...
阅读全文
posted @
2012-10-17 19:48
怡红公子
阅读(230)
推荐(0)
间谍网络
摘要:描述 Description由于外国间谍的大量渗入,国家安全正处于高度危机之中。如果A间谍手中掌握着关于B间谍的犯罪证据,则称A可以揭发B。有些间谍接受贿赂,只要给他们一定数量的美元,他们就愿意交出手中掌握的全部情报。所以,如果我们能够收买一些间谍的话,我们就可能控制间谍网中的每一分子。因为一旦我们逮捕了一个间谍,他手中掌握的情报都将归我们所有,这样就有可能逮捕新的间谍,掌握新的情报。我们的反间谍机关提供了一份资料,包括所有已知的受贿的间谍,以及他们愿意收受的具体数额。同时我们还知道哪些间谍手中具体掌握了哪些间谍的资料。假设总共有n个间谍(n不超过3000),每个间谍分别用1到3000的整数来
阅读全文
posted @
2012-10-17 19:47
怡红公子
阅读(271)
推荐(0)
题目:心灵的抚慰
摘要:题目描述背景 Background病毒问题解决后,神牛们的心灵久久不能平静。有个神牛因此已经“乱了”。他脑子中满是程序(否则怎么会成为神牛呢),而且他可以从一个程序联想到一些相似的程序。比如从程序1联想到2,从2联想到4,从4联想到6,从6联想到9……躺就像搜索一样一步一步越陷越深。不过同一种联想他只会联想一次。比如1、2之间他进行了一次联想,那么他不会再重新联想1到2,或2到1。眼看他又要乱了,有人突然想到,如果他刚开始时想到的程序能够经过联想若干次后联想回到原程序,那不就乱回来了吗?由于神牛马上就要开乱,请在1秒内告诉他,他需要想哪个程序,以便乱回来。题目描述 Description给出一
阅读全文
posted @
2012-10-07 16:45
怡红公子
阅读(361)
推荐(0)
题目:11月15日的快乐
摘要:题目描述背景 Background终于到了一年一度的11月15日,神牛OIer 们又可以去刷题了。今年参加NOIP的人特别多。某省的参赛地点排满了长队。人们在路上惊奇的发现,有很多老同学、老朋友也参加了比赛。一路上,人们谈笑风生,兴奋不已……考完了NOIP,大家又一路同行回到了各自的家,开始了狂欢夜。多么令人期待和兴奋的一天!不过其实,人们最高兴的还不是遇见老朋友,而是结交新朋友。可是结交新的朋友就需要很多时间,而除了考试之外时间并不多。例如小L,他在NOIP的入口处等待开门时,决定趁机和其它市县的牛们多套近乎。可是队伍太长,且人们都很自觉的站成仅仅一列,而小L又很想多交不同地方的朋友,因此小
阅读全文
posted @
2012-10-06 22:03
怡红公子
阅读(288)
推荐(0)
题目:自然的雪糕
摘要:题目描述题目背景话说某天小岛从超市里买了许许多多的..雪糕....本来他打算存在冰箱里慢慢享用的...结果这件事情被寝室里的adx发现了...于是不幸的事情发生了...题目叙述小岛回忆起了当时de场景...那时...寝室里包括自己一共聚集了 n 个人...我从超市里共买了 m 袋不同种类的雪糕.....醒来之后身边一支雪糕也没有了.....我还可以隐约知道...每个人都不会一支雪糕也不拿...小岛想知道自己的雪糕现在会在哪...那么当时的情况下...一共有多少种不同的可能呢..?数据规模对于30% 的数据,n <= 10,m <= 20。对于100%的数据, n <= 100
阅读全文
posted @
2012-10-06 20:18
怡红公子
阅读(257)
推荐(0)
rect
摘要:题目描述给定N个矩形。请删掉一个,使得其余n-1个矩形的公共部分(即这n-1个矩形的交)的面积最大。对于30%:N <= 100, 所有的坐标的绝对值 <= 200对于60%:N <= 1000对于100%:N <= 100000,所有的坐标的绝对值 <= 10^9时限:1s内存限制:256MB输入格式第一行一个整数N,表示矩形的个数接下来N行每行四个整数x1, y1, x2, y2,表示这个矩形左上角、右下角的坐标。输出格式一个整数表示最大的公共部分面积。如需输出64位整数,请使用cout或者printf("%I64d")。longlong参
阅读全文
posted @
2012-10-01 22:09
怡红公子
阅读(316)
推荐(0)