
ACM_LA
京城一十三
你在凝视深渊的时候 深渊也在凝视着你
展开
-
LA3942字典树+递推
题意: 给你一个字典,最多4000个单词,每个单词长度最多是100,然后给你一个串,问你这个子串可以被那些单词组合的组合数,比如字典里有4个单词a b ab cd,然后给你一个串abcd则abcd = a+b+cd,ab+cd一共两种组合。输出组合数对20071027取余(白书上写错了写的是20071207)思路: 我们可以找到一个递推公式,d[i] = s原创 2015-01-01 12:23:54 · 713 阅读 · 0 评论 -
LA3644简单并查集判环
题意: 有n个化合物,每个化合物是两种元素组成,现在要装车,但是一旦车上的化合物中的某几个化合物组成这样一组关系,有n个化合物正好用了n中元素,那么就会爆炸,输入的顺序是装车的顺序,对于每个化合物只要他装上去会爆炸,那么就不能装他(不要考虑成最优什么的,题意的意思是直接模拟),问有多少个化合物不能装车?思路: a个化合物正好由a中元素组成只有一种可能,那就是原创 2014-12-13 20:17:24 · 744 阅读 · 0 评论 -
LA3027简单带权并查集
题意: 有n个点,一开始大家都是独立的点,然后给出一些关系,a,b表示a是b的父亲节点,距离是abs(a-b)%1000,然后有一些询问,每次询问一个节点a到父亲节点的距离是多少?思路: 可以直接简单带权并查集就能搞定,核心代码是这样,设s_x[i]表示i到自己父亲节点的距离,然后//处理并查集的时候int finds(int x){ if(原创 2014-12-13 20:16:48 · 483 阅读 · 0 评论 -
LA3135简单多路归并(优先队列)
题意: 有N个任务,每个任务都有自己的时间间隔(就是每t秒请求执行一次)和任务id,这n个任务公用一个cpu,每次我们都执行时间靠前的,如果相同时间内有多个任务,就执行任务id小的,要求模拟出执行的前n个任务都是谁。思路: 这个是不是就是操作系统里的FCFS算法啊!这个要模拟可以用优先队列去做,开一个结构体,有三个变量,一个是id,一个是时间间隔t,另一个是总原创 2014-12-13 20:16:38 · 785 阅读 · 0 评论 -
LA4851餐厅(求好的坐标的个数)
题意: 有一个m*m的格子,左下角(0,0)右上角(m-1,m-1),网格里面有两个y坐标相同的宾馆(A,B),每个宾馆里面有一个餐厅,一共用n个餐厅,第1,2个都在宾馆里,3,4...在其他位置,你现在要在空余坐标上建立一个自己的餐厅,餐厅必须建立在最有利的位置上,什么样的位置算是有利的位置?如果你要在C这二个点建立一个餐厅,假如你要比D这个餐厅的位置有利那么你到A宾馆里里面的原创 2014-11-21 16:26:23 · 1133 阅读 · 0 评论 -
LA3403天平难题(4个DFS)
题意: 给出房间的宽度r和每个吊坠的重量wi,设计一个尽量宽但宽度不能超过房间宽度的天平,挂着所有挂坠,每个天平的一段要么挂这一个吊坠,要么挂着另一个天平,每个天平的总长度是1,细节我给出题目中的几个图来方便理解:思路: 敲了将近两个小时,数据比较小,也就是说只要找到解决方法,一般就可以直接AC了,首先我们可以搜索枚举天平的状态,就是总的天平的框架的样子,也就原创 2014-11-21 16:24:09 · 577 阅读 · 0 评论 -
LA3989女士的选择
题意: 给你n个男士n个女士,然后给你每个男士中女士的排名,和每个女士中每个男士在他们心中的排名,问你是否可以组成稳定的舞伴,如果存在以下情况(1)男生u和女生v不是舞伴,他们喜欢对方的程度都大于各自当前舞伴的程度,他们就可能抛弃自己现在的舞伴,这样的话匹配就不是稳定的。输出稳定的时候每个男生所匹配的女生。思路: 哎!本来就是一个最基本的稳定婚姻问题,输入输原创 2014-11-21 16:22:29 · 830 阅读 · 0 评论 -
LA3971组装电脑
题意: 你有b块钱,想要组装一台电脑,给你提供一些零件,每种零件提供一个或几个,组装电脑的前提是每种零件只能也必须选择一个,每种零件都有自己的种类,名字,价格,还有品质,要求是在能配成电脑的前提下所有零件中最小的品质最大(品质越大越好)。思路: 最小的最大,第一反应就是二分,这个题目也不例外,我们只要二分品质就行了,品质的数据感觉比较大,但是直接去枚举应该也原创 2014-11-21 16:21:19 · 747 阅读 · 0 评论 -
LA3905流星
题意: 在一个二维平面上有n个流星,每个流星有自己的初始位置和速度,有一个照相机,张相机的可视范围是一个矩形框,左下角(0,0)右上角(w ,h),然后问你相机的矩形内出现的最多的流星数是多少? 思路: 感觉是一道很不错的题目,想到流星数目,第一反应就是可以把他转化成时间段,我们求出每个流星的进入相机时间,和出相机时间,这样就会得到一个时间段,流星的最大原创 2014-11-21 16:20:19 · 823 阅读 · 0 评论 -
LA3902网络
题意: 给你一棵树,所有叶子节点都是客户端,其他的都是服务器,然后问你最少在多少个服务器上安装VOD能使所有的客户端都能流畅的看视频,流畅看视频的条件是每个客户端距离他最近的安装VOD的服务器的距离不能超过k,而且题目已经给你在一个服务器上安装好了VOD。思路: 自己没想出来,说下白书上的思路,第一个就是说当遇到无根树的时候,一般情况下把无根树变成有根数会有利于原创 2014-11-21 16:19:32 · 619 阅读 · 0 评论 -
LA3708墓地雕塑
题意: 有N个墓碑,等距离的分布在一个圆形墓地的周围,然后又要添加m个墓碑,最后要求所有的墓碑还是等距离,添加的墓碑可以放在任意位置,问之前的N个墓碑的最少移动距离之和是多少?思路: 现在我们猜想,如果之前的n个墓碑至少有一个是不动的,那么来了m个墓碑之后的所有墓碑的位置都已经固定了,现在就是看要把之前的n个墓碑都放在哪个位置,现在有一个结论就是说每个墓碑放原创 2014-11-21 16:18:46 · 1340 阅读 · 0 评论 -
LA3635派
题意: 有F+1个人来分n个圆形派,每个人分到的必须是一个整块的派,形状无所谓,每个人分到的必须一样多,给你每个派的半径,问每个人能分到的最大派的面积是多少。思路: 虽然不是求最小的最大或是最大的最小,但是这个题目依然可以用二分去做,我们枚举每个人分到的最大面积,这样就可以算出来这些派最多能够满足几个人的要求,然后去判断二分的方向,一开始eps写的有点小,T原创 2014-11-21 16:13:57 · 656 阅读 · 0 评论 -
LA3602DNA序列
题意: 给你一个一些DNA序列(只有ACGT)然后让你构造一个序列,使得所有的序列到他的Hamming距离最小,所有的序列包括构造的序列长度都是N,Hamming表示两个序列的不同字符位置个数,比如ACCT AACA 第二个和第四个位置不同,所以距离是2.思路: 简单题目,我们一位一位构建,每一位都是独立的,我们选择出现次数最多的字母(如果最多的不止一个,那么我原创 2014-11-21 16:13:00 · 508 阅读 · 0 评论 -
LA3415保守的老师
题意: 有n个学生,老师要带他们出去玩,但是老师比较保守,怕他们之间萌生爱意,所以带出去的所有同学必须至少满足四个条件中的一组,问最多能带多少人出去玩。思路: 比较简单二分图的最大独立集元素个数,我们直接把可能产生爱意(四个都不满足)的连上边,然后一遍匈牙利,最后输出n-匹配数就行了,为什么是这样我就不证明了,比较经典简单的问题。#includ原创 2014-11-21 16:12:09 · 598 阅读 · 0 评论 -
LA3177长城守卫
题意: 有n个人围成一个圈,每个人都有r[i]个礼物,任意两个相邻的人的礼物不能有重复的,问满足所有相邻不重复的最少礼物种数是多少?就是问最少多少种礼物能让任意相邻的两个人的礼物不重复。思路: 比较有意思的一个题目,首先这个题目很多人包括我的第一反应就是任意两个相邻的和中最大的那个和,但是这样只适应偶数的情况,那么我们就分两种情况来考虑,首先是偶数,偶数比较简单原创 2014-11-21 16:11:32 · 972 阅读 · 0 评论 -
LA3403 天平难题
题意: 给出房间的宽度r和每个吊坠的重量wi,设计一个尽量宽但宽度不能超过房间宽度的天平,挂着所有挂坠,每个天平的一段要么挂这一个吊坠,要么挂着另一个天平,每个天平的总长度是1,细节我给出题目中的几个图来方便理解:思路: 敲了将近两个小时,数据比较小,也就是说只要找到解决方法,一般就可以直接AC了,首先我们可以搜索枚举天平的状态,就是总的天平的原创 2014-11-06 22:01:06 · 745 阅读 · 0 评论 -
LA4636积木艺术
题意: 有一些1*1*1的单位正方体积木,现在要摆积木,每一块积木有两种方法,要么放在地面上,要么放在别的积木的正上方,现在给你摆好积木的正面图和侧面图,问你最少用了多少块积木。思路: 比较有意思也比较容易想到,而且题目中给的几个图看完估计就能想到怎么做了,光看文字的时候第一组测试数据我都没模拟过去,哎!看完图会发现一个问题,假如我们看正面图,我们看到的是一原创 2014-11-02 11:33:07 · 650 阅读 · 0 评论 -
LA3266田忌赛马
题意: 田忌和齐王赛马,两个人每人n匹马,每个马都有自己的速度,赢一场得到200分,输一场失去200分,平则不得分,问田忌可能得到的最高得分是多少?思路: 又是一个比较经典的贪心小题目,这个题目很容易想到,就是我们先排序,然后我们这样想,如果我们是田忌,对方是齐王,首先我们可以拿最快的那个马和他最快的那个马比一下,如果能赢,那么直接比赛,得到一分,这个不用质原创 2014-11-02 11:31:41 · 781 阅读 · 0 评论 -
LA3213加密
题意: 白书上有些题的题意说的太蛋疼了,这个题的意思是说有两种加密方式,一种是交换位置,另一种是一一映射,交换位置是指如ABCD 可以加密成DCBA 也可以加密成ACBD就是把某些字母的位置改变了,至于是谁和谁交换随意,而一一映射是指ADD 可以加密成 BCC但不可以加密成ABC,然后现在有一种新的加密方式就是前面两个的合成版,现在问题来了,给你两个字母串(只有大写字母)问其中一个是原创 2014-11-02 11:30:30 · 798 阅读 · 0 评论 -
LA3029最大子矩阵
题意: 给你一个n*m的矩阵,让你找一个最大的'F'矩阵,输出他的面积*3。思路: 比较经典的题目了,现在想起来比较好想,以前的话想着很费劲,最早先用瓶颈法在杭电上过了一个数据范围比较小的,今天的这个目测瓶颈法过不去,瓶颈法的时间复杂度是O(n^3)的,今天的这个我们可以用另外一个也是比较经典的一个方法,时间复杂度是O(n^2),思路是我们可以枚举每个矩形向原创 2014-11-02 11:29:40 · 632 阅读 · 0 评论 -
LA2965侏罗纪(异或和为0的最大数字个数)
题意: 给你n个字符串,让你在里面找到一个字符串集合使得这些字符串中所有的字母出现的次数和为偶数,输出集合的最大个数,和ASCII最小的解。思路: 考虑到每个字符串中所有的字符都是有大写字母组成的,我们可以把每个字符串都用一个26位长的二进制数表示,比如第一位表示A,那么当第一位为0的时候就是说明A出现了偶数次,1表示出现了奇数次(直接异或),那么我们要找到原创 2014-11-02 11:29:27 · 1561 阅读 · 0 评论 -
LA2678最短子序列
题意: 给你一个正整数序列,问你在里面找到一个最短的子序列,要求子序列的和大于等于k,输出序列长度。思路: 这个序列的每个数字都是正整数,那么就比较好想了,我们可以直接枚举终点,然后每次当当前和大于等于k的时候就把前面的markid(markid初始为1)点缩进,得到前端(我的是得到前端的下一个,这个无所谓,就是一个加不加1的事),然后更新最小值就行了,这样原创 2014-11-02 11:27:23 · 1807 阅读 · 1 评论