11 2012 档案

摘要:数据结构队列栈堆邻接矩阵邻接表边集数组线段树基础算法搜索分治贪心递推各种排序 快排 冒泡 归并 拓扑哈希表并查集图论算法最小生成树(kruskal)prim我不会 = =强连通分量tarjan单源最短路spfa dijkstra全图最短路floyd二分图最大匹配匈牙利算法最近公共祖先lca 离线tarjan算法DP简单线性动规最大子段和、最大子矩阵和字符串距离背包问题合并石子平方版树形动规 阅读全文
posted @ 2012-11-08 11:38 villefort 阅读(177) 评论(0) 推荐(0)
摘要:poj1330.1470.1986Run(1s,256MB)Drj最近要锻炼身体,他将要跑过的地点记成若干个点,有些点之间可以相互到达,他记了一些可以直接到达的点对劳累值。可是DRJ又不是很想锻炼,所以他想知道一些点对之间的最大劳累值最小是多少,请你帮帮他。输入: 第一行两个数n,m 表示有n个点m条边 接下来m行 每行3个数x,y,z 表示点x,y之间有一条劳累值为z的路。 接下来一行p 表示有p组询问。 接下来p行每行两个数 a,b 表示询问a,b之间最大劳累值最小的值是多少。输出; P行,每行一个数表示某两点最大值最小是多少SAMPLEINPUT OUTPUT4 6 11 2 3 ... 阅读全文
posted @ 2012-11-08 11:22 villefort 阅读(187) 评论(0) 推荐(0)
摘要:Blueelf【题目描述】 比特星球的源水晶掌控着星球的能量,却因为黑星人入侵的缘故流落到地球,比特星人蓝多多为了挽救比特星,孤身一人来到地球寻找源水晶,与此同时,黑星特种部队“球奸”黑心博士也密切地关注着蓝多多的动向…… 源水晶是一块有2n条边的凸多边形的水晶,他被划分为2n-2个三角能量块,每个能量块要么与3个能量块相邻,要么与1个能量块相邻,明显后者即是边界能量块(编号1~n)。 相邻两个能量块会产生反应,而是交界边拥有反应值,同时任意两个能量块也会有共鸣,如果1号能量块与2号能量块反应,2号能量块与3号能量块反应,那我们说1号能量块与3号能量块共鸣,此次共鸣值为1、2号的反应值加上2、 阅读全文
posted @ 2012-11-06 22:19 villefort 阅读(456) 评论(0) 推荐(0)
摘要:lyp的密码(lyp)【题目描述】众所周知,lyp喜欢以用各种方式折磨别人为乐,这次,他趁wars不在时在他的电脑上挂了一把神奇的锁,这把锁需要一串巨长无比的数字密码才可以解开,这个密码由lyp自己保管,这样wars就没法Kingdom Rush了。但wars设法从lyp的脑袋中挖出了有关密码的信息,这些信息是一列非负整数{An}。而解开密码锁的方式是首先输入这列这数的逆序对数,而后依次会在wars的电脑屏幕上显示两个数字p,q,你则需要输入将整数列中第p个整数替换成q后整个数列的逆序对数,这样的询问会有m个。当然,这样的替换只对这一次的询问有效。现在wars急着去打Kingdom Rush, 阅读全文
posted @ 2012-11-06 22:16 villefort 阅读(364) 评论(0) 推荐(0)
摘要:题目首先是xqz的这道排列,记得去年一考排列我就balabala了。。。其实这道只是披着排列的外衣。我们可以发现,如果把一个数插到前面,我们肯定可以保证它被放到应该放的位置。那么我们最多移动n-1次,这是最坏情况,可以发现造成这种情况的原因是a的顺序和b的顺序是反的,于是我们可以把问题转化。视目标序列为一个递增的序列,将下标作为该元素的值,然后在当前序列中将元素赋值为数字对应的下标。现在问题就变成了在当前序列中找到从第一个元素开始的最长的一个在原序列中是升序的连续的子序列,假设它的长度为k,那么答案即为n-k。View Code 1 program Neayo; 2 const 3 ... 阅读全文
posted @ 2012-11-06 22:06 villefort 阅读(217) 评论(0) 推荐(0)
摘要:题目(第四题第五题)题目有两个操作,x/2和x-1,很容易就想到和二进制有关,但具体关系是什么呢。可以考虑x/2和x-1都是左移的操作,于是就可以发现X开头的有趣数列中的数都是x的二进制前缀。例如 111 110 11 10 1 0那么判断[a,b]中的有趣数列是不是含有k,只需要把k当做前缀然后取和区间[a,b]相交的部分就可以了。这个程序写得好丑= =。View Code 1 program Neayo; 2 const 3 inf='sequence.in'; 4 ouf='sequence.out'; 5 var 6 i,j,t:lon... 阅读全文
posted @ 2012-11-06 17:10 villefort 阅读(188) 评论(0) 推荐(0)
摘要:题目首先是一个数据范围为2000的,这个可以用平方算法做。要使它成为一个非降序列的合并次数最小,我们可以贪心地想到要使合并后的值尽量小,不然就会导致后面需要的合并次数增多。我们用c[i]记录前缀和,f[i]表示以i结尾的这一段序列的最后一个元素的值,g[i]表示到i为止的合并次数,那么就可以得到一个转移方程。f[i]=c[i]-c[j](f[j]<=c[i]-c[j])g[i]=g[j]+i-j-1;因为c[i]-c[j]在downto的过程中是单调递增的,所以只要找到一个可以转移的就可以break了。View Code program Neayo;const inf='sequ 阅读全文
posted @ 2012-11-06 16:11 villefort 阅读(234) 评论(0) 推荐(0)
摘要:并(sequence)3.1 题目描述给定一个序列,你每次可以合并相邻两个元素,新的元素为这两个元素的和。你需要使得若干次合并之后的序列非降,求最小合并次数。3.2 输入格式第一行一个数 n,表示序列长度。接下来一行 n个正整数,表示这个序列。3.3 输出格式一行一个数,表示最小合并次数。3.4 输入样例58 2 7 3 13.5 输出样例33.6 数据范围对于 30%的数据:n ≤ 100对于 100%的数据:n ≤ 1500 ,序列元素大小不超过 1000 。CCL的消遣(CCL)[题目描述] AS we know,CCL是一个很无聊很无聊很无聊的人.有一天,CCL注意到地面上有很多棍子, 阅读全文
posted @ 2012-11-06 15:44 villefort 阅读(566) 评论(0) 推荐(0)
摘要:2.1 题目描述路上挂着一些灯,第 i 个灯坐标为(xi, yi) 。每个灯的照射范围为一个三角形,半张角为 zi 。你有一架飞机,但是只能飞固定高度。由于未知原因(目测秋锅农气过重),飞机只能在光下飞行。你的任务是找一个最大的高度来从 L 飞到R 。如图,红线所示高度是一个合法高度,但是不是最高的。2.2 输入格式第一行三个数 n,L,R ,其中n 是整数,表示灯的个数。接下来 n行,每行 3 个实数x, y, z ,描述一个灯。2.3 输出格式一行一个数,表示最大高度。至少保留 6 位小数。你的答案正确,当且仅当与标准输出相对误差或绝对误差不超过 10− 。2.4 样例输入2 3.2 7. 阅读全文
posted @ 2012-11-06 15:20 villefort 阅读(185) 评论(0) 推荐(0)
摘要:1.1 题目描述春宵和秋锅比赛现农。春宵说:我的农气值有:这么大,你是不可能比我大的。秋锅笑而不语。他在后面加了一个: (mod M) 。然后,他问春宵:你的农气值现在是多少呢?(好冷的题目。。)1.2 输入格式一行 3 个数,依次为M,K,N 。1.3 输出格式一行 1 个数,表示春宵的农气值。1.4 样例输入98 3 41.5 样例输出21.6 数据范围对于 20%的数据:N,M,K ≤ 10^3对于 40%的数据:N,M ≤ 10^3,K ≤ 10^18对于 80%的数据:M ≤ 10^5,N,K ≤ 10^18对于 100%的数据:0 < M ≤ 3 × 10^6,N, 阅读全文
posted @ 2012-11-04 21:58 villefort 阅读(468) 评论(0) 推荐(0)
摘要:2.1 题目描述给定一个无自环重边的无向图,求这个图的三元环1的个数以及补图2的三元环个数。2.2 输入格式第一行 2 个数n,m ,分别表示图的点数、边数。接下来 m行,每行两个数 u, v ,表示一条连接u, v 的无向边。2.3 输出格式一行两个数,依次表示原图的三元环个数以及补图的三元环的个数。2.4 样例输入5 51 21 32 32 43 42.5 样例输出2 12.6 数据范围对于 30%的数据:n ≤ 100对于 60%的数据:m ≤ 500对于 100%的数据:n ≤ 105,m ≤ 1052.7 评分方式如果你两个数均输出正确,得 10分。否则如果两个数中任意一个正确或者两 阅读全文
posted @ 2012-11-04 21:29 villefort 阅读(912) 评论(0) 推荐(0)