2012年7月21日
摘要: http://61.187.179.132/JudgeOnline/problem.php?id=1231问题描述Farmer John的N(4 <= N <= 16)头奶牛中的每一头都有一个唯一的编号S_i(1 <= S_i <= 25,000). 奶牛为她们的编号感到骄傲, 所以每一头奶牛都把她的编号刻在一个金牌上, 并且把金牌挂在她们宽大的脖子上. 奶牛们对在挤奶的时候被排成一支\"混乱\"的队伍非常反感. 如果一个队伍里任意两头相邻的奶牛的编号相差超过K (1 <= K <= 3400), 它就被称为是混乱的. 比如说,当N = 阅读全文
posted @ 2012-07-21 08:19 淡·雅·墨 阅读(264) 评论(0) 推荐(0) 编辑
  2012年5月25日
摘要: 题目见:http://www.rqnoj.cn/Problem_349.html分析 所求为所需最小时间,而最短的时间又决定于最慢的人。对一个区间,分出j-1份(j个人)可以等价于,将区间分成两部分,一部分由j-1个人完成,另一部分有一个人完成,那么一定存在一个中间的位置取得最优值。据此可以写出转移方程f[i,j]:=max(f[k-1,j-1],s[i]-s[k-1])。其中,f[i,j]表示到第i本书分给j个人的最优值,s表示区间和。 由于本题对方案有特殊要求,所以不能简单的在动规过程中记录方案,动规中方案的记录,只是当前区间的最优方案,并不是满足题意的方案,所以必须从后向前去推,是每个人 阅读全文
posted @ 2012-05-25 16:42 淡·雅·墨 阅读(165) 评论(0) 推荐(0) 编辑
  2012年4月1日
摘要: http://poj.org/problem?id=3481 题目大意:给你一系列操作,0代表读入终止,1代表添加一个编号为k,权值为p的点,2代表输出权值最大点的编号并删除该点,3代表输出权值最小的点并删除该节点。 treap的操作方法就不具体说了,只解释一些地方,见代码program haha;type node = record ls,rs,r,data,num : longi... 阅读全文
posted @ 2012-04-01 09:12 淡·雅·墨 阅读(475) 评论(0) 推荐(1) 编辑
  2012年3月29日
摘要: 描述 Description 给你两个串A,B,可以得到从A的任意位开始的子串和B匹配的长度。给定K个询问,对于每个询问给定一个x,求出匹配长度恰为x的位置有多少个。N,M,K<=200000 输入格式 Input Format 第一行三个数 N,M,K,表示A的长度、B的长度和询问数。第二行为串A。第三行为串B。接下来K行,每行1个数X。 输出格式 Output Format 对于每个询问输出一... 阅读全文
posted @ 2012-03-29 10:46 淡·雅·墨 阅读(282) 评论(1) 推荐(0) 编辑
  2012年3月28日
摘要: 在一个笛卡尔平面坐标系里(则X轴向右是正方向,Y轴向上是正方向),有N(1 <= N <= 10)个矩形,第i个矩形的左上角坐标是(x1, y1),右下角坐标是(x2,y2)。问这N个矩形所覆盖的面积是多少?注意:被重复覆盖的区域的面积只算一次。输入格式:第一行,一个整数N。 (1 <= N <= 10)。接下来有N行,每行描述一个矩形的信息,分别是矩形的x1、y1、x2、y2。其中 -10^4 <= x1,y1,x2,y2 <= 10^4。输出格式:一个整数,被N个矩形覆盖的区域的面积。输入样例:planting.in20 5 4 12 4 6 2输出样例 阅读全文
posted @ 2012-03-28 17:41 淡·雅·墨 阅读(923) 评论(0) 推荐(0) 编辑
  2012年3月15日
摘要: 【题目描述】: Ymq和hy正在玩一个数字游戏,其中某人(恩~)暗暗请你帮助她获胜。这个游戏是这样的。一开始有一个数n(1<=n<=1000000),两个人轮流对n进行操作。每次可将n减去它的最大或最小的非零数位。比如3014最大的数位是4,最小的是1,于是它可以减去4或者1,分别产生3010和3013。直到n变成0时停止,谁将n变为0则获胜。 根据某种RP因素,游戏都由hy先做。 【输入说明】:... 阅读全文
posted @ 2012-03-15 12:28 淡·雅·墨 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 题目:http://61.187.179.132/JudgeOnline/problem.php?id=1090 本题首先要要看出是典型的区间动态规划,对于一个区间的最优值,是满足无后效性的(可以类比一下合并石子),那么就开始写方程了,用f[i,j]表示从i到j的最短长度。所以有f[i,j]:=min{f[i,k]+f[k+1,j],f[i,k]+2+数字长度}其含义为,ij区间的最小值,为两个拆开的长度之和或者是自身的折叠。 在判断折叠的时候,用倍数作为前提来卡区间,就可以很好地判断code:program third;var f : array[0..200,0..200] of ... 阅读全文
posted @ 2012-03-15 10:43 淡·雅·墨 阅读(359) 评论(0) 推荐(0) 编辑
  2012年3月14日
摘要: 1.路面修整(making the grade)http://poj.org/problem?id=3666http://61.187.179.132/JudgeOnline/problem.php?id=1592 首先需要预处理,即将所有的高度离散,转化为数组b,b[i]表示第i大的数 用f[i,j]表示到第i个点,更改后高度是第j大的数,则朴素的方程是f[i,j]:=min{f[i-1,k]+abs(a[i]-b[j]),其中需要枚举的变量是i,j,k(增减性通过控制k的大小,k小于j为增,大于j为减),时间复杂度为n3,显然会超时。 优化:扩大定义范围,即f[i,j]表示到第i个点,高度 阅读全文
posted @ 2012-03-14 18:15 淡·雅·墨 阅读(288) 评论(0) 推荐(1) 编辑
  2012年3月11日
摘要: 【问题描述】给出了一张有N个点M条边的加权有向无环图,接下来有Q个询问,每个询问包括2个结点X和Y,要求算出从X到Y的一条路径,使得密度最小(密度的定义为,路径上边的权值和除以边的数量)注意:题目描述有误,实际上是有环的【文件输入】第一行包括2个整数N和M。第2到第M+1行,每行三个数字A、B、W,表示从A到B有一条权值为W的有向边。第M+2行只有一个整数Q。接下来的Q行,每行有两个整数X和Y,表示一个询问。【文件输出】对于每个询问输出一行,表示该询问的最小密度路径的密度(保留3位小数),如果不存在从X到Y的一条路径,则输出“OMG!”【样例输入】3 31 3 52 1 62 3 621 32 阅读全文
posted @ 2012-03-11 16:53 淡·雅·墨 阅读(430) 评论(0) 推荐(0) 编辑
  2011年10月14日
摘要: 先看例题:Loongint的花篮【Description】Loongint要和MM结婚了。在两人的走进礼堂的红地毯两侧,需要摆一些装饰用的花篮,有一些不同高度的花篮,现在这些花篮被Loongint依照自己的美学观念编号为S1,S2,S3…Sn(两侧的花篮高度一样)。可Loongint的MM对这些花篮的摆放方式有不同的看法,她觉得满足以下条件的花篮摆放才是最好的。如果对于区间[Si,Sj](1<=i<j<=n)中任意的花篮都比Si高且比Sj低,那么这个区间称为一个美学区间。对于所有的美学区间,其长度(定义为j-i)都必须小于等于k,如果有长度大于k的美学区间,MM就会不高兴,L 阅读全文
posted @ 2011-10-14 12:08 淡·雅·墨 阅读(586) 评论(0) 推荐(1) 编辑