自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lkb 的小屋

start again. //小蒟蒻也有大梦想

  • 博客(82)
  • 资源 (3)
  • 收藏
  • 关注

原创 usaco2016open gold3 248

<p class="MsoNormal" style="margin-top:0.0pt;margin-right:0.0pt;margin-bottom:0.0pt;margin-left:0.0pt;text-indent:0.0pt;text-align:justify;text-justify:inter-ideograph;line-height:normal;pag

2016-08-07 11:10:25 737

原创 usaco2016open gold2 closing

<p class="MsoNormal" style="margin-top:0.0pt;margin-right:0.0pt;margin-bottom:0.0pt;margin-left:0.0pt;text-indent:0.0pt;text-align:justify;text-justify:inter-ideograph;line-height:normal;pag

2016-08-07 11:10:23 321

原创 usaco2016open gold1 split

<p class="MsoNormal" style="margin-top:0.0pt;margin-right:0.0pt;margin-bottom:0.0pt;margin-left:0.0pt;text-indent:0.0pt;text-align:justify;text-justify:inter-ideograph;line-height:normal;pag

2016-08-07 11:10:20 334

原创 usaco2016open silver3 closing

<p class="MsoNormal" style="margin-top:0.0pt;margin-right:0.0pt;margin-bottom:0.0pt;margin-left:0.0pt;text-indent:0.0pt;text-align:justify;text-justify:inter-ideograph;line-height:normal;pag

2016-08-07 11:10:17 294

原创 集训第二周小结(4.17~4.23)

虽说应该明天才算正式结束本周的集训,不过这星期的绝大部分内容可以说都已经完结了,因此提早一天写。这个星期的训练跟上星期有所不同,更加侧重usaco。17号晚上回来,继续做上星期剩下的usaco 2016 february contest的题目。第二天,也就是星期一,也是一样。个人感觉做usaco套题有一个好,几个难度不同的级别中有同一道难度递增(其实不一定递增,偶尔会出现银牌版比铜牌版还简单的情况

2016-08-07 11:10:15 372

原创 usaco2016open silver2 diamond

Diamond Collector(Silver) 奶牛Bessie很喜欢闪亮亮的东西(Baling~Baling~),所以她喜欢在她的空余时间开采钻石!她现在已经收集了N颗不同大小的钻石(N),现在她想在谷仓的两个陈列架上摆放一些钻石。    Bessie想让这些陈列架上的钻石保持相似的大小,所以她不会把两个大小相差K以上的钻石同时放在一个陈列架上(如果两颗钻石的大小差值为K,那么它们可以同时放

2016-08-07 11:10:12 1150

原创 usaco2016open silver1 reduce

Sliver1农夫约翰的N(5头牛被定在了平面内的不同的位置。他想用栅栏(平行于x和y轴)围住所有的牛。他想这个栅栏尽可能小(牛在边界上也被视作围住)。他因为牛奶产量低而感到经费紧张,所以他想卖掉三头牛再围起剩下的牛。请算出栅栏围出的最小面积。输入:第一行输入n剩下2-n+1行,输入每头牛的位置。输出:最小面积。示例input:61 17 810 98 124 10050 7output:12==

2016-08-07 11:10:09 416

原创 usaco2016open bronze3 reduce

Bronze3农夫约翰的N(3≤N≤50000)头牛被定在了平面内的不同的位置。他想用栅栏(平行于x和y轴)围住所有的牛。他想这个栅栏尽可能小(牛在边界上也被视作围住)。他因为牛奶产量低而感到经费紧张,所以他想卖掉一头牛再围起剩下的牛。请算出栅栏围出的最小面积。输入:第一行输入n剩下2-n+1行,输入每头牛的位置。坐标在1...40000范围内。输出:最小面积(矩形)。示例input:42 41 

2016-08-07 11:10:07 688

原创 usaco2016open bronze1 diamond

Diamond Collector(Bronze) 奶牛Bessie很喜欢闪亮亮的东西(Baling~Baling~),所以她喜欢在她的空余时间开采钻石!她现在已经收集了N颗不同大小的钻石(N),现在她想在谷仓的陈列架上摆放一些钻石。    Bessie想让这些陈列架上的钻石保持相似的大小,所以她不会把两个大小相差K以上的钻石同时放在陈列架上(如果两颗钻石的大小差值为K,那么它们可以同时放在陈列架

2016-08-07 11:10:04 911

原创 USACO 2016 February Contest, Silver Problem 3. Milk Pails

FJ最近刚收到了解决M(1他可以选择执行如下操作k(1他可以在任意一个桶中装满牛奶。他可以倒空任意一个桶他可以将一个桶里的奶倒入另一个桶中,直到倒空或另一个桶被倒满尽管FJ意识到他可能不能在两个桶中刚好装下M个单位的牛奶,但请你算出他经过操作后,两桶牛奶的和同M的差值最小是多少。输入(pails.in):第一行输入四个数:X,Y,k,M。输出(pails.out):经过操作后,两桶牛奶的和同M的最

2016-08-07 11:10:01 791

原创 USACO 2016 February Contest, Silver Problem 2. Load Balancing

FJ的N头牛都站在FJ的二维农场上的一些明显的坐标(x1,y1)...(xn,yn)上(1FJ想选择a和b使得出现在这四块区域里的牛的个数是“平衡的”,即没有一块区域里有太多的牛。如果使得M是四块区域里牛的数量的最大值,那么FJ想让M最小。请帮助他决定M的最小值。输入格式 (balancing.in):第一行的输入是一个整数N,下面N行每行包含一只牛的位置,即其的x和y坐标。输出格式 (balan

2016-08-07 11:09:58 630

原创 USACO 2016 February Contest, Bronze Problem 3. Load Balancing

FJ的N头牛都站在FJ的二维农场上的一些明显的坐标(x1,y1)...(xn,yn)上(1FJ想选择a和b使得出现在这四块区域里的牛的个数是“平衡的”,即没有一块区域里有太多的牛。如果使得M是四块区域里牛的数量的最大值,那么FJ想让M最小。请帮助他决定M的最小值。前五个数据,B不超过100。在所有的数据里,B不超过1,000,000。输入格式 (balancing.in):第一行的输入是一个整数N

2016-08-07 11:09:55 851

原创 USACO 2016 February Contest, Bronze Problem 2. Circular Barn

作为当代建筑学的一个狂热粉丝,农夫John搭建了一个形状是完美的圆的谷仓。在谷仓的内部,围成一个环的n(3    农夫John想ri头奶牛最后处于第i个房间(1输入格式(cbarn.in)第一行仅一个整数n。接下来的n行每行是一个整数ri,意思是第i个房间需要ri头奶牛在里面。输出格式(cbarn.out)输出仅一个数,即奶牛走过距离总和的最小值。输入样例:547864输出样例:48样例解释:如样

2016-08-07 11:09:53 1079

原创 USACO 2016 FEBRUARY CONTEST, BRONZE PROBLEM 1. MILK PAILS

Farmer John收到一份要M单位牛奶的订单(1≤M≤1,000),他需要正好填满。不幸的是,他的优等挤奶机正好坏了,除此之外,他只有三个牛奶桶,大小分别为整数X, Y和M(1≤X- 他可以用X单位的牛奶装满最小的(大小为X)桶至顶部并把它倒入大小为M的桶,只要这不会导致牛奶溢出大小为M的桶。- 他可以用Y单位的牛奶装满中等大小(大小为Y)的桶至顶部并把它倒入大小为M的桶,只要这不会导致牛奶溢

2016-08-07 11:09:50 1350

原创 集训第一周小结

4.10~4.16,在石门中学的集训,第一周就这么过去了。这个星期,先是把市选的题目重做了一遍,然后就是usaco,usaco,usaco。。。而且usaco还都是学生自己翻译,wjw神犇每次都没有给机会我,所以自己试着翻译了一题发现果然自己英文还是。。太low。试题中的很多生词、词组和句式都不认识,见过的很少,翻译几乎全程借助google。这是题外话。大概是从星期二开始,做usaco2016op

2016-08-07 11:09:47 639

转载 计算几何中的精度问题(转)

lkb注:今天的GDOI模拟赛day3中,第一题circle貌似卡精度,引发了lkb在内一堆选手的不爽。。。于是找到网上的这篇文章,共同学习,与各位共勉。================================计算几何头疼的地方一般在于代码量大和精度问题,代码量问题只要平时注意积累模板一般就不成问题了。精度问题则不好说,有时候一个精度问题就可能成为一道题的瓶颈,简直“画龙点睛”。这些年的题

2016-08-07 11:09:45 357

原创 最大值求和(summax)

【题目描述】为了研究大奖赛的概率问题,数学家推出这样一个问题:有编号是1到N的小球,每个小球上面有数字 ai。把从N个球选K个的所有方法都列出来,每种取法都得到 K个球上的K个数字,其中最大的作为这组数字的代表。请计算这些代表的和。【输入格式】第1行:2个整数N和K(1 ≤ N ≤ 10,000,1≤ K ≤ 50 )。第2行:N 个整数,第 i个整数ai,表示编号i小球上的数字(1 ≤ ai ≤

2016-08-07 11:09:42 2187

原创 K 叉树( ktree )

【题目描 述】有一个巨大的 K 叉树,从上到下,从左到右编了 N 个号,这 N 个点就是一个 K叉完全树。例如 K=3,N=9:你需要回答 Q 个问题:从 x 节点到 y 节点最少要经过几条边?【输入格式】第 1 行输入整数 N (1 ≤ N ≤ 10^15(表示有 15 个 0)) , K (1 ≤K ≤ 1,000) ,Q(1 ≤ Q ≤ 100,000) 。下面 Q 行,每行两个整数 x

2016-08-07 11:09:39 4508

原创 组题(pro)

【试题来源】 2016年广东省青少年信息学佛山市选拔赛初中组(上午)【题目描述】 GDOI2016 将于 4 月 30 日至 5 月 3 日在四会中学举行,为了准备这次比赛,评委们正忙着出题。题目难度分为“简单题” 、 “中等题” 、 “难题”三个等级。评委们已经出好了 E 道简单题,M 道中等题,H 道难题。然后评委们又出了 EM道“简中”题和 MH 道“中难”题。所谓的“简中题”是指该

2016-08-07 11:09:37 835

原创 市选总结

3月27日,在石门实验学校举行了今年gdoi的市选。昨天出了最终成绩,我的分数是238/800,可以说不低也不高。但,跟同是初一的同学一比较,还是显出差距所在。这次选拔赛的题目似乎还是比较注重考察思维,高级数据范围/算法似乎没有过多涉及(当然下午最后一题除外。。)在这种情况下,我考得并不能够说特别好,甚至可以说是比较差。考前我注重攻的是图论方面,想着多复习一点,说不定很有可能会考到。因此也做了一些

2016-08-07 11:09:34 344

原创 next_permutation函数

这是STL库中一个求一个序列的下一个排列的函数,可以遍历全排列,要包含头文件。类似的,prev_permutation函数可以求上一个排列。在cplusplus.com上给出了一个例子:// next_permutation example#include // std::cout#include // std::next_permutation, std::sortint ma

2016-08-07 11:09:31 186

原创 Dijkstra算法

【最短路径问题】对在权图G=(V,E),从一个源点s到汇点t有很多路径,其中路径上权和最少的路径,称从s到t的最短路径。【三角形定理&松弛】我们知道三角形的特性:任意两边之和大于第三边。因此,在求解过程中,若对于顶点x和顶点y不符合该特性,即可对它们进行“松弛”。//设dis[x]为源点s到顶点x的最短距离// adj[x][y]为顶点x、y之间的距离dis[y]=min(dis[y],dis[

2016-08-07 11:09:28 363

原创 angryA (USACO 2016 JAN Bronze)

在正文之前先说点题外话。寒假以来,由于自身的种种原因,我在OI方面没有用功,既没有刷题也没有进行总结,甚至连题库和博客都没有登录过,在此要认真检讨。而且今天的创新班也让我发现自己开始出现的一些弊病:心态方面,方法和习惯等等。为什么自己开始出现这些问题?如何解决?还是要靠良好的心态为基础。希望新的学期里戒骄戒躁,坚持刷题和写博客,日积月累慢慢进步。毕竟身边厉害的同学和学长很多,自己没有任何借口来偷

2016-08-07 11:09:26 480

原创 最长上升子序列问题的几种解法

先说点题外话:为了期末考试备战,好久没碰OI了,博客荒废了三周。一心全力备考,结果还是差之毫厘失之千里。放假之后因为考砸颓了两天,来创新班之后精神终于好多了。言归正传。最长上升子序列问题是信息学竞赛中的经典问题。为了方便,我们约定,取它的英文Longest Increasing Subsequence的首字母缩写LIS代称之。LIS问题的大意是:有一个长度为n的数字序列,求它的所有子序列中长度最大

2016-08-07 11:09:23 682

原创 现阶段学习计划

时间:寒假期间(1)自学内容:线段树的各类应用及深入研究(2)对于做题中遇到的问题和一些发现,及时写总结(3)熟练线段树的基本操作,多刷题(4)多写博客目标:搞定线段树

2016-08-07 11:09:20 238

原创 C++中数组下标访问负数的方法

众所周知,在C++中数组下标是从0开始的,不像pascal可以定义负数下标。因此如果我们调用a[-1]会越界,轻则返回一个奇怪的数字,重则直接运行时错误。但是在解决实际问题时,有时还是难免要利用到下标进行直接访问和操作,而有时就会遇到下标可能有负数的情况。这里介绍三种对策。访问该数组时下标统一加上一个常数。例如:下标访问范围从-100到+50,那么取下标的下限(lowerlimit)的绝对值作为加

2016-08-07 11:09:17 4436

原创 最小生成树(kruskal算法)

问题:详见最小生成树之prim算法算法描述:前提条件:MST一定无环,以确保不产生浪费。每次选择一条权最小的边e。若将e加入MST中会产生环,则放弃e;否则将e加入MST中。如果已经加了N-1条边,结束;否则执行2。怎么判断是否形成环?可以用并查集实现。将已选的顶点放入一个集合中,若当前边e的两个顶点一个在集合内,一个在集合外则说明不会形成环。时间复杂度:O(|e|log2|e|)这里给出一个例子

2016-08-07 11:09:15 273

原创 最小生成树(prim算法)

在实际生活中我们常常会遇到这样一些问题:有若干个需要连接的点(不妨假设为一些村庄)和若干条连接着两个点的边(在村庄间修公路),而这些边会有不同的权值(可设为修路所需的费用不同)。现在要连通这些所有的点,并使权值和最小。这类问题在现实生活中很广泛,如修公路、架设电网,等等。在信息学竞赛中,这种问题有专门的称谓“最小生成树”(Minimum Spanning Tree,简称MST)。今天介绍一下MST

2016-08-07 11:09:12 1495

原创 poj1611 -- The Suspects

题意:编号为0的同学得了病,会传染给所有与他同一小组的人。给定M个小组的成员名单(一个人可以加入多个小组),求多少人生病了。分析:在同一集合里就会被传染,并查集。代码:# include # include const int SIZEN=30000+5;const int SIZEM=500+5;int n , m , f[SIZEN] ;int _find ( int ) ;

2016-08-07 11:09:09 217

原创 洛谷1111 -- 修复公路

题意:有N个村庄和M条双向公路,给定每条公路连着的两个村庄和修完这条公路的时间。问最早什么时候任意两个村庄能够通车。分析:通车的村庄在同一个集合里,本质上也是并查集。先按时间排序,修公路的顺序按时间从早到晚。每修一条公路就判断整个图是否连通。代码:# include # include const int SIZEN=1000+5;const int SIZEM=100000+5;st

2016-08-07 11:09:07 350

原创 洛谷1551 -- 亲戚

题意:有N个人和M个亲戚关系,规定若i是j的亲戚则i的所有亲戚都是j的亲戚。有P次询问某两人是否具有亲戚关系。分析:具有亲戚关系的人都在同一个集合里,符合并查集的性质。本题数据范围不大,N代码:# include const int SIZE=5000+5;int n , m , p , f[SIZE] ;int _find ( int ) ; //求集合的根void _union

2016-08-07 11:09:04 307

原创 smoijs1261 -- 夺宝奇兵

题意:有N个房间,每个房间仅有一把能打开它的钥匙。每个房间内有若干钥匙。求最少炸几个房间能开全部房间。分析:显然如果房间i内有房间j的钥匙,我们认为i和j是在同一个集合里的,反之亦然。问题即为求房间集合的个数。代码:# include const int SIZE=50000+5;int N , f[SIZE] ;int _find ( int ) ; //求集合的根void _un

2016-08-07 11:09:01 362

原创 smoijs1262 -- 朋友

题目大意:有N个人,M个朋友关系。如果A和B是朋友,B和C是朋友,则A和C也是朋友。求最大的朋友集团人数。分析:用并查集解决。初始集合每个人只“和自己是朋友”,每读入一条朋友关系就判断两人是否已经在同一个集合里。如果两人不在同一集合中则合并。代码:# include #define max(x,y) x>y?x:yconst int SIZE=30000+5;int N , M , f

2016-08-07 11:08:58 295

原创 poj2823 -- Sliding Window

题目大意:有一个长度为n(n≤10^6)的数列,依次查询区间[1,k],[2,k+1],[3,k+2]……[n-k+1,n]的最值。显然,每次直接求k个数的最值,时间复杂度达到O(n*k),会TLE。所以,我们要换位思考。其实我们可以很容易地发现:第一次查询时,建立一棵范围为[1,k]的胜者树即可。而第二次我们要做的就是:把第1个元素从这棵树中删去,把第k+1个元素插入这棵树中。这一过程可以简化为

2016-08-07 11:08:56 343

原创 poj3264 -- Balanced Lineup

题目大意:给定n(1 ≤ N ≤ 50,000)个数,每次求指定区间内的最大值减去最小值的差。分析:这道题目实际上就是一道简单RMQ,可以用st算法解决,也可以用胜者树。st算法代码如下:# include # define max(a,b) a>b?a:b# define min(a,b) a<b?a:bconst int SIZE = 50000+5 ;int N , Q , l

2016-08-07 11:08:53 346

原创 Winner Tree-胜者树

胜者树是一种数据结构,特点如下:它是一棵完全二叉树。也就是说,除最后一层外,每一层上的节点数均达到最大值;在最后一层上只缺少右边的若干结点。这棵树的所有叶子结点是原始数据(见下文样例)。对于所有非叶子结点,取两个儿子中更优秀的值,就是父亲结点的值,故名胜者树。由于胜者树是完全二叉树,因此如果把根结点编号为1,第二层的结点分别是2、3,第三层是4、5、6、7……那么我们就能发现:每一个非叶子结点的左

2016-08-07 11:08:50 1740

原创 推销员

这道题一开始以为是dp,但似乎大家都是用贪心解决。事实上只要贪得正确,100分是没有问题的。先用θ(n)找出最大值,然后,先根据推销疲劳值再根据距离进行排序,依次累加求和即可。该算法的时间复杂度为θ(n+nlog2n)。# include # include const int SIZE = 100005;struct Tnode { int S , A , sum ; voi

2016-08-07 11:08:47 394

原创 现阶段学习计划

时间:12月至1月中旬(1)自学内容:胜者树,并查集,哈希。(补创新班上个学期的内容。);堆排序。(2)认真总结今年NOIp,写解题报告。(3)熟练掌握dp入门,多刷题。(4)多写博客。目标:争取尽量跟上创新班。

2016-08-07 11:08:45 365

原创 跳石头

初看题目时并没有什么头绪,只想到了θ(n2)的暴力。后来老师提醒我们,答案是“最短跳跃距离”是可以枚举的,而且具有单调性,完全可以二分答案,时间复杂度只要θ(nlog2n)。具体的做法是:每次尝试一个最短距离值,并判定这个距离值有多少相邻的岩石能满足,如果是一种可行的方案就加大距离,否则缩小距离。但要注意,在计算时要考虑最后一块不可移动的岩石。# include const int SIZE

2016-08-07 11:08:42 380

原创 RMQ

“RMQ (Range Minimum/Maximum Query)问题是指:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j”——某百科看完上面这段文字,我们就可以知道所谓RMQ的作用了。它是一种求区间最值的算法。简单回忆一下,平时我们求区间最值的时候是怎么做的呢?对于一般的选手,在没有学过RMQ之前,一般都会第一时间想到用朴素的方法去解决,也就是:# include #def

2016-08-07 11:08:39 336

noip复习手册

noip复习用手册,内含大量实用资料及常用算法和策略。

2017-12-16

植树节宣传程序

Huntfire开发的植树节宣传程序,可能会被报毒。

2014-03-16

Huntire Pascal Games Installer 吓人版

Huntfire开发的Pascal Games Installer,此版本为吓人版。

2014-03-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除