
ACM
ljhandlwt
这个作者很懒,什么都没留下…
展开
-
中山大学保研机试的一道题
数位dp原创 2017-07-12 15:38:17 · 3260 阅读 · 11 评论 -
sicily 6084 Times17
二进制题意:输入n,输出17*n.输入和输出都是二进制码形式数据范围:串长度思路:先把输入的二进制串变成10进制,再乘17,再重新从十进制变回二进制?这样太麻烦了,1000位的二进制码意味着你的十进制要高精度一个数x乘17,可以等于16x+x,对于二进制来说,乘16是一件很简单的事,左移四位补零就是了.所以方法就是把输入的串加四个零,然后模拟原创 2015-11-10 15:48:57 · 377 阅读 · 0 评论 -
sicily 9160 ESEJ
栈题意:给定的字符串只会有AB这两种字符美丽的字符串:所有的字符都要配对,且A和A配对,B和B配对,存在某种配对的方式使得不同的配对不会有相交的情况(就是只会相离或包含)给你n个字符串,问有多少个美丽字符串数据范围:n思路:这就是一题栈的教学题,就像括号匹配一样,不能有相交.不过这里的字符既可以当左括号,又能当右括号扫描字符串,维护一个栈.扫原创 2015-11-10 19:38:43 · 458 阅读 · 0 评论 -
sicily 9094 Cows in a Row
水题题意:给你一个n个元素的数组,你可以去除数组中所有等于某个值的元素,问去除后满足以下条件的最长区间条件:区间里的元素全部相等数据范围:n思路:n枚举每个位置,去除它和等于它的其他元素,然后暴力求最长等值区间.暴力就是,记录上一个不是去除的元素的值last和维护一个计数器cnt.如果当前元素是要去除的元素,那continue.如果当前元原创 2015-11-10 19:36:44 · 543 阅读 · 0 评论 -
sicily 8843 Ranking and Friendship
区间统计题意:两个人是好朋友的话,要满足下面的条件条件:1.她们的排名相差不超过k 2.她们的名字的长度要一样按排名输入n个人的名字,问有多少对好朋友数据范围:n思路:暴力的话,复杂度是O(nk).暴力的做法是枚举每个人,然后往前扫描到相差k名为止,也就是扫描[i-k,i-1]这个区间我们维护一个大小为20的长度数组,数组第x个元素记录了[i原创 2015-11-10 19:32:05 · 397 阅读 · 0 评论 -
sicily 8842 Mirko's Exam
逆序题意:给你两个数组,每个数组有n个字串(两个数组的字串是一样的,只是顺序不同)若果第二个数组的某对字串,在第一个数组也是同样的序(顺序或逆序的意思),那么就加一分问总分和有可能的总分上限数据范围:n思路:就是求顺序对嘛,也就是求逆序对数嘛输入第一个数组的时候,建一个映射,每个串就映射到它是第几个输入的.然后输入第二个数组的时候,在映射中找原创 2015-11-10 19:29:17 · 276 阅读 · 0 评论 -
sicily 2015 A New Year Gift
二分答案题意:有n种珍珠,每种珍珠i有ai颗.一条链子由m颗不同种的珍珠组成.给出n,m,数组a.问最多能合成多少条链子数据范围:n思路:暴力的方法也不简单啊.这里的珍珠优先度是先用数量最多的m颗珍珠,而且合成一条链子之后要重新选择最多的m颗,因此暴力的复杂度是O(mk),k是能合成的链子数.显然这链子数要到几十w不是问题,加上m大一点,就超时了原创 2015-11-10 19:25:09 · 489 阅读 · 0 评论 -
sicily 1875 Small tree
树的bfs题意:给你一棵有根树,树的边有权值。树上每个点有两个属性,分别是到根的距离dist和到根的路径的边数num。你需要选取一个集合,使得它满足以下条件1.任意两个点的公共祖先只有一个,也就是只能是根2.集合所有点的dist之和除以num之和要最大输出这个dist之和除以num之和数据范围:点数思路:首先条件1就是说集合不能选根,避免了0原创 2015-11-10 19:23:17 · 345 阅读 · 0 评论 -
sicily 1558 He is Offside!
水题题意:足球越位的问题,假如进攻球员离对方龙门柱的距离比离龙门柱第二近的防守球员离龙门柱的距离要近的话,那么他就是越位给你若干个进攻球员和防守球员离龙门柱的距离,问是否有进攻球员越位数据范围:球员数思路:水题,直接按升序排序,那么直接考虑进攻方离门柱最近的人,和防守方离门柱第二近的人.判断他们离柱子的距离是谁大,是防守方大的话,这个进攻队员就越位了.否原创 2015-11-10 19:19:45 · 363 阅读 · 0 评论 -
sicily 1544 Integer Generator
数位题意:给你一个数位系统(0到9),然后给你一个数串.判断其是否合法(含有数位系统没有的字符即是不合法,或者有前导0).如果合法的话,输出其这个数串在这个数位系统的下一个数串数据范围:数位系统size数串长度未知思路:判断合不合法很容易,关键是这个下一个子串是怎么理解.样例给了很多提示,数位系统是1,数串是1.那答案是11.如果按一进制去理原创 2015-11-10 19:17:15 · 418 阅读 · 0 评论 -
sicily 14550 Interesting Integers
斐波拉契数列,枚举题意:fib[i]=fib[i-1]+fib[i-2].给出n,现在要使f[0]和f[1]尽量小(0第一关键字是f[1],第二关键字是f[0]数据范围:样例数t思路:斐波拉契数列也是一个指数函数,就算f[0]=f[1]=1,要爆10^9,只需到f[44].第一想法是枚举f[0]和f[1],然后把未超过n的项算出来,看有无等于n的原创 2015-11-10 20:04:06 · 387 阅读 · 0 评论 -
sicily 10625 TRENER
水题题意:给你n个只有小写字母的字符串,统计所有字母在字符串开头的数量.如果有>=5的就输出,如果没有则特殊输出数据范围:n思路:水题,开个数组,扫描每个字符串,更新数组.最后扫一遍数组即可总结:水题原创 2015-11-10 20:01:45 · 365 阅读 · 0 评论 -
sicily 10571 MISA
水题,模拟题意:给你一个教堂的平面图,图上只有人和空位,相邻(八格)的人会握手.而主人公会最后到教堂选一个位置和尽量多的人握手,如果没有位置则主人公不去做礼拜.问最大的握手人数数据范围:平面行列数思路:首先那些人的握手次数是固定的,整个图遍历一遍即可得到.然后遍历所有空格,找出周围八格最多人的空位,然后握手数加这个值总结:遍历平面图原创 2015-11-10 19:59:43 · 388 阅读 · 0 评论 -
2015acm区域赛北京
A.Xiongnu's Land二分答案题意:R*R的平面上给你n个矩形,你要找到一条竖直的直线x=k,使得直线左边的矩形面积和大于等于右边的矩形面积和,而且它们的差值要尽量小,并且k要尽量大题目保证矩形不会相交数据范围:R思路:二分答案,判定条件是差值小于0.但这样求得的答案是不对的,它求得的是差值尽量小,并且k尽量小的答案.原创 2015-11-16 07:59:03 · 1072 阅读 · 0 评论 -
2015acm区域赛长春
F.Almost Sorted Array(hdu 5532)LIS题意:给你一个数组,问你是否能去掉其中一个元素,使得剩下的是一个非递增序列,或非递减序列数据范围:n思路:非递增和非递减分开处理(下面用单增来代替非递减)判断能否单增,暴力地从左往右扫,扫到不满足单增的相邻两项,判断下是删除左边还是删除右边。然后继续扫,能扫到结尾就是ok,又原创 2015-11-03 15:30:18 · 916 阅读 · 0 评论 -
2015acm区域赛沈阳
B.Bazinga(hdu 5510)kmp题意:给你n个字符串,你要找到最大的下标i,使得存在j数据范围:n思路:这个条件十分的奇怪,暴力的话,就算用上kmp,O(L)时间匹配,复杂度也达到了O(n2*L)。后来又想了自动机后缀数组什么的,都不行,最后发现是维护下标+kmp一开始让j=0,然后遍历i。对于每个原创 2015-11-03 00:07:11 · 1266 阅读 · 0 评论 -
sicily 9162 RAZLIKA
单调队列题意:给你一个n个元素的数组a,一个整数k,你要在数组中删去其中k个元素,使得剩下的元素的最大差值+最小差值最小数据范围:n思路:使一个最大值最小,通常是二分答案.但一看这数据范围,只能用O(n)的算法了这里有一个挺强的结论:如果将这个数组排序之后,删除两边的元素,也就是保留的元素是中间的一段连续的区间,这样必定能出最优解当初想了一个原创 2015-11-10 19:43:45 · 500 阅读 · 0 评论 -
sicily 9456 Clumsy Cows
栈题意:给你一个串,只有'('和')'.问至少转换多少个括号,使得这个串是括号匹配的,即没有交差的括号对数据范围:串的长度思路:栈的练习题,只是由于只有圆括号,因此直接记录栈的size,而无需一个实体栈从左往右扫描串,如果是左括号就进栈,右括号就栈顶出栈.如果此时栈空,那么它就要变成左括号进栈了,记得更新答案扫描完后可能剩了一些左括号,然后把原创 2015-11-10 19:47:35 · 371 阅读 · 0 评论 -
sicily 9562 SUME
水题,解方程组题意:有一个正整数数组a,但不会给你给你一个二维数组b,b[i][j]的值是a[i]+a[j].且b[i][i]=0(但不代表a[i]是0)要求输出数组a(题目确保a有唯一解)数据范围:2思路:知道a[0]+a[1]=x,a[0]+a[2]=y,a[1]+a[2]=z,则a[0]不就求出来了,a[0]=(x+y-z)/2.然后利用b[0原创 2015-11-10 19:48:46 · 347 阅读 · 0 评论 -
sicily 10330 Cutting Sausages
gcd题意:给你n条三文鱼,要把它们切成能分成等量的m份求最少切的刀数数据范围:n,m思路:刚开始理解错了题意,还以为是万年大水题本题可理解为一条香肠,要等分成m份,只是它本来已被切成n份了那么,等分切m份,可能就会切到本来就切好的n等分点.那么问题就变成有多少个m等分点和n等分点是重合的,不就是gcd(n,m)嘛(包括了香肠末端)原创 2015-11-10 19:51:24 · 445 阅读 · 0 评论 -
sicily 10359 Valuable Jewellery
贪心题意:背包问题,n个物品,有重量有价值.不同的是,有k个背包,每个背包有重量上限,且最多只能放一个物品.问最大价值数据范围:n,k思路:每个背包最多只能放一个物品,那这题一下子就水了贪心,背包用一个map存放,物品按价值递减排序.扫描每个物品,每次在map里找这个物品的质量的下界,有的话就更新答案,维护map,无的就只能放弃了总结:贪心,原创 2015-11-10 19:53:45 · 1067 阅读 · 0 评论 -
sicily 10570 VOLIM
水题,模拟题意:8个人,围着坐.一开始有一个人拿着一个箱子,箱子里有一堆问题.拿着箱子的人从箱子拿出一个问题,如果他能答出来,那么他就把箱子给下一个人,进行相同操作如果他不能答出来或者答错,则要再从箱子里拿出一个问题来答箱子会在3分30秒爆炸,现在告诉你一开始拿箱子的人k,n条答问题的记录,问最后箱子在谁的手上爆炸了一条记录包括从拿出问题开始到答题的时间,和答题状态(答原创 2015-11-10 19:54:59 · 384 阅读 · 0 评论 -
sicily 1513 Decoding
模拟题意:有一种加密方法1.首先把A到Z变成0到26,再变成五位的二进制串,另外空格用00000表示.用这样的方法把字符串变成一个长二进制串.2.给一个二维平面,然后从左上角开始往右按照转圈向内的顺序填写二进制码,最后空余的位置补0.3.逐行从左往右地扫描每个位置,得到一个长二进制串给出二维平面的长宽,还有(3)的长二进制串,问最开始的字符串数据范围:平原创 2015-11-10 19:12:27 · 370 阅读 · 0 评论 -
sicily 1140 国王的遗产
dfs题意:给你一颗n个节点的树,操作k次.每次要剪掉一条边产生两棵树,然后删去其中一棵树.要求删去的树的节点数最大但不超过当前节点数的一半,如果有不止一条边被剪后,使得删去的树一样大,那么选择树的所有节点编号字典序更小的来删数据范围:n思路:这个数据范围下勉强水过.每次操作随便找一个根,然后dfs,类似树形dp,记录下某个节点作为子树的根的总节原创 2015-11-10 19:08:27 · 1253 阅读 · 0 评论 -
sicily 1282 Computer Game
字符串匹配题意:给两个数组a,b.要在b中找到和a相同的子串,並输出左端点下标,没有找到则特殊输出数据范围:数组a的size思路:就是字符串匹配嘛,写个kmp就完了.看到元素大小总结:kmp拯救世界原创 2015-11-10 19:06:41 · 440 阅读 · 0 评论 -
URAL 1206 Sum of Digits of the Sum of Numbers
计数题意:定义一函数s(x)表示x的每个位加起来的和。现在给你k,问你能找到几个数对(a,b),使得s(a+b)=s(a)+s(b),其中a和b都要是k位数,(a,b)和(b,a)视为不同的数对,a和b不能有前导零数据范围:k思路:s(a+b)=s(a)+s(b),稍稍思考一下就发现,这个等式的意思就是a+b,每位都没有进位,因为只要一进位,s(a+b)的值原创 2015-11-04 19:28:11 · 502 阅读 · 0 评论 -
URAL 1205 By the Underground or by Foot?
最短路题意:二维平面上给你起点和终点,还有n个特殊点。点与点之间的距离就是欧几里得距离。然后给你若干条特殊边,特殊边关联的只会是特殊点。在特殊边上移动速度是特殊速度(距离还是欧几里得距离),而在非特殊边上移动就是一般的速度。问从起点到终点的最短时间数据范围:n思路:就是一个最短路的问题,O(n2)建图。所有的点互相连边,权值是距离除以普通的速度,然后建特殊边原创 2015-11-04 19:26:02 · 425 阅读 · 0 评论 -
URAL 1203 Scientific Conference
dp题意:给你n个区间,你要选择最多的区间,使得它们相互没有交集,有一个点相交也算有交集数据范围:n思路:这是经典的区间问题啊先对区间排序,按右端点升序,然后设dp[i]表示扫描到第i个区间的时候的最优解,显然这个dp数组满足单调性。而排序的目的,在于假如我要第i个区间的时候,它的前一个区间不会是第i+1,i+2..个原创 2015-11-04 19:25:11 · 443 阅读 · 0 评论 -
URAL 1204 Idempotents
扩展欧几里得题意:给你一个数n,输出所有符合条件的正整数x,其中n=pq,p和q是两个不同的质数条件:x*x%n=x数据范围:样例数思路:原本打算O(√n)卡过去的,但数据组数卡了我...首先认为题目的模就是模运算而不是同余,这样的话,不存在x>=n的答案,因为x*x模了n之后的值不可能大于等于n,x也不会是负数,因为x*x是正的,模n得到的答案原创 2015-11-04 14:05:12 · 538 阅读 · 0 评论 -
URAL 1201 Which Day Is It?
日期,模拟题意:给你一个日期,你要输出这个日期所属月份的月历,并在这个日期加上[]数据范围:1600思路:万年模拟题,要对应星期地输出月历,我们就要知道这个月1号是星期几,也就相当于要知道这年的1月1号是星期几。如果今年是闰年,那么下年的1月1号的星期就比今年的多二,平年就多1。我们先随便算出1600.01.01是星期几,然后不断加,加到你要的年份,原创 2015-11-04 13:59:53 · 507 阅读 · 0 评论 -
hiho 1228 Mission Impossible 6
模拟题意:写一个文档编辑器,编辑一个字符串.输入是一个操作字符串,只会有字母.小写字母代表输入,大写字母代表特殊的操作.字符串的长度有上限,任何操作导致字符串超过上限会被忽略S:转换输入模式,有插入模式和修改模式,默认是插入模式.插入模式下输入会把小写字母插入到光标前,修改模式是把输入的字母覆盖到光标的右边的字母,然后光标右移一格L:光标往左移,在最左则不动R:光标往右原创 2015-11-06 12:12:35 · 579 阅读 · 0 评论 -
hiho 挑战赛16 A.王胖浩与三角形
水题题意:给你三角形的三条边,再给你一个长度L。你要增加三条边的长度,总的增加量是L,使得变大的三角形面积最大数据范围:边长思路:显然这种题感觉就是三条边一样长就是最大的,所以我们先对三条边排序,然后先加最短的那条,加到和中间那条一样长,然后再一起加这两条,加到和最长的那条一样长,最后再三条一起加当然,如果加到一半发现不能加了,就不用再加了知原创 2015-11-04 21:20:29 · 936 阅读 · 0 评论 -
hiho 挑战赛16 B 王胖浩与环
因数,前缀和题意:给你一个循环数组,你要将它截成k段,然后每段有一个区间和,所有的区间和求gcd,就是优美程度,你要使得优美程度最大。k不是输入的,而是你要输出截1段,2段...n段的最优值数据范围:n思路:我算了一下,暴力dp要O(n4)...注意到,这个优美程度肯定是数组所有元素的和的因子(这个不难证明),那么我们可以把问题反转过来考虑,考虑要截原创 2015-11-04 21:21:12 · 713 阅读 · 0 评论 -
poj 1790.The Game
模拟题意:给你五子棋的棋盘局势,问现在谁赢了题目保证不会两个人同时赢,不过可能会出现没有人赢得情况题目补充如果连珠超过了5颗不算赢如果某人赢了,要输出赢的5连珠的最左的一颗的坐标,没有最左则输出最上数据范围:棋盘=19*19思路:该题没有超时的问题,就是看你怎么模拟的了枚举每个点作为可能输出的坐标(则它要是最左,或者打竖的最上),4个方向原创 2015-11-26 09:23:05 · 422 阅读 · 0 评论 -
URAL 1207 Median on the Plane
极角排序题意:给你n个点,你要找到两个点,使得过它们的直线能把剩余的点平分成相等的两份。题目保证n是偶数,不存在三点共线数据范围:n思路:裸的极角排序,先对点xy坐标排序,得到左下角的点,然后计算每个点和这个点相连的直线的极角,然后极角排序,输出左下角的点和极角排序后中间的那个点由于没有三点共线,因此不会存在不同的点有相同的极角总结:极角排序原创 2015-11-04 19:30:15 · 600 阅读 · 0 评论 -
hdu 5443 The Water Problem
水题题意:给你一个数组,然后有q次询问。每次询问给你一个区间,求区间元素的最小值数据范围:n思路:就像名字一样,水题啊!n这么小,连O(nlogn)的线段树都不用写。直接O(nq)暴力求min即可总结:暴力求区间min原创 2015-11-05 22:23:31 · 307 阅读 · 0 评论 -
hdu 5461 Largest Point
水题,决策树题意:给你a,b和一个t数组,要在t数组里选出两个数使得ati2+btj最大数据范围:a,b,ti的绝对值思路:a,b和0的关系要分情况讨论谁选什么数,写一棵决策树吧a>0b>0:1.a选最大,b选次大 2.a选次大,b选最大 3.a选最小,b选最大b=0:1.a选最大或最小ba=0:b>0:b选最大b=0:0原创 2015-11-06 12:06:41 · 299 阅读 · 0 评论 -
sicily 1375 Balanced lineup
统计,哈希散表题意:n只牛,每只牛的品种可能是0或1,每只牛有一个x坐标。在x轴上,一个区间如果区间内两种牛品种数相同,称为对称区间。问对称区间左端点和右端点的牛的距离的最大值数据范围:n思路:n先按x坐标排序,把牛的品种想象成-1和1,那么一个区间是对称的当且仅当区间和是0,也就是左端点前缀和=右端点前缀和。我们先求前缀和,然后求下标数原创 2015-11-10 15:52:51 · 783 阅读 · 0 评论 -
sicily 1137 河床
线段树题意:给你一个n个元素的数组,和一个整数k.求一个符合以下条件的最大的区间条件:区间里任意两个元素的差值不能超过k数据范围:n思路:暴力的话枚举每个左端点,然后往右扫,维护最大值和最小值,扫到使得max-min>k的时候就停止掉.这样做的复杂度理论上是O(n2).不过这里好像可以水过正确的做法是用线段树.考虑某个固定的左端点,那么右端点的下原创 2015-11-10 15:41:58 · 426 阅读 · 0 评论 -
sicily 3980 二进制转十进制
进制转换题意:给你二进制码,要求转换成十进制码输出数据范围:串长度思路:串长度k进制转十进制的方法是,从高位到低位,不断乘k,然后加上这一位.思想就是秦九韶算法总结:秦九韶算法原创 2015-11-09 20:52:44 · 387 阅读 · 0 评论