08 2014 档案

摘要:转载自:http://blog.csdn.net/shiqi_614/article/details/8228102之前做了些线段树相关的题目,开学一段时间后,想着把它整理下,完成了大牛NotOnlySuccess的博文“完全版线段树”里的大部分题目,其博文地址Here,然后也加入了自己做过的一些题... 阅读全文
posted @ 2014-08-31 15:42 水门 阅读(484) 评论(0) 推荐(0)
摘要:hdu 3867Light and Shadow(线段扫描 极角排序)转载自:http://blog.csdn.net/accry/article/details/6676009题意:原子弹爆炸,一些互不相交的线段,求能辐射到的线段个数(可以将原子弹爆炸点视为泛光源)分析:以辐射源为中心对周围的点按... 阅读全文
posted @ 2014-08-30 14:01 水门 阅读(905) 评论(0) 推荐(0)
摘要:题目链接题意:给定n长的序列 m个操作序列默认为 1, 2, 3···n操作1:D [l,r] 把[l,r]区间增长 :( 1,2,3,4 进行 D [1,3]变成 1,1,2,2,3,3,4 )操作2:Q [l,r] 问区间[l,r] 上出现最多次数的数 的次数分析:会线段树,但是做题的时候没想到... 阅读全文
posted @ 2014-08-26 20:03 水门 阅读(227) 评论(0) 推荐(0)
摘要:题目链接题意:给你一个数组,让你生成两个新的数组,A要求每个数如果能在它的前面找个最近的一个是它倍数的数,那就变成那个数,否则是自己,C是往后找,输出交叉相乘的和分析:这个题这种做法是O(n*sqrt(n))的复杂度,极限数据绝对会超时,但是这个题的数据有点水,所以可以过。用vis【i】数组表示离数... 阅读全文
posted @ 2014-08-26 19:12 水门 阅读(164) 评论(0) 推荐(0)
摘要:题目链接题意:有n座塔,每座塔的攻击范围为[l,r],攻击力为d,有k个怪兽从这些塔前面经过,第i只怪兽初始的生命力为hp,出现的位置为x,终点为第n个格子。问最后有多少只怪兽还活着。分析:这个题刚开始是想用线段树,但是这个题会超时,线段树是O(nlogn)的复杂度,应该是卡的输入输出,所以看别人的... 阅读全文
posted @ 2014-08-26 16:03 水门 阅读(302) 评论(0) 推荐(0)
摘要:题目链接题意:H*W(W,H 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define LL __int64 8 #define eps 1e-8 9 const int maxn = 100+10; ... 阅读全文
posted @ 2014-08-24 21:21 水门 阅读(274) 评论(0) 推荐(0)
摘要:题目链接题意:一个女孩打比赛,每次比赛结果若在前200名则能给她的rating加上50分,否则将会将去100分(rating最小为0,最大为1000----能够进入前200的概率为p)。为了能够达到1000分,这个女孩使用两个帐号进行比赛,每次使用rating低的那个帐号比赛,直到有一个帐号rati... 阅读全文
posted @ 2014-08-24 16:37 水门 阅读(347) 评论(0) 推荐(0)
摘要:题目链接题意:有n个数,范围是[0, 10^18],n最大为100,找出若干个数使它们异或的值最大并输出这个最大值。分析:一道高斯消元的好题/我们把每个数用二进制表示,要使得最后的异或值最大,就是要让高位尽量为1,高位能不能为1就必须用高斯消元判断了。1. 根据数的二进制表示,建立方程组的矩阵,结果... 阅读全文
posted @ 2014-08-23 09:50 水门 阅读(329) 评论(0) 推荐(0)
摘要:题意:给n个点,保证图联通,给点相连的距离,求一个最多的点,这些点之间的距离都是相同的。分析:下面的代码是我们房间第一的大神的,写的很简洁,我的思路和他的一样,但是我不知道错哪了。思路是暴力枚举,最多有10个点,先用floyed计算出每两点之间的距离,然后用位运算暴力枚举,枚举每个点是否加入进去,并... 阅读全文
posted @ 2014-08-22 11:22 水门 阅读(194) 评论(0) 推荐(0)
摘要:题目链接题意:给定一个数组记录两队之间分差,只记分差,不记谁高谁低,问最终有多少种比分的可能性分析:类似cf的题目,比赛的时候都没想出来,简直笨到极点。。。。。最后的差确定,只需要计算和的种类,有多少种就是多少。 1 #include 2 #include 3 #include 4 #incl... 阅读全文
posted @ 2014-08-21 21:44 水门 阅读(220) 评论(0) 推荐(0)
摘要:题目链接BLittle Dima and Equation题意:给a, b,c 给一个公式,s(x)为x的各个位上的数字和,求有多少个x.分析:直接枚举x肯定超时,会发现s(x)范围只有只有1-81,所以枚举一下就行。在做题的时候,用了pow()错了3次,反正以后不用pow了,还是手写吧。会有误差。... 阅读全文
posted @ 2014-08-21 09:27 水门 阅读(187) 评论(0) 推荐(0)
摘要:题目链接题意:输入提供9个钟表的位置(钟表的位置只能是0点、3点、6点、9点,分别用0、1、2、3)表示。而题目又提供了9的步骤表示可以用来调正钟的位置,例如1 ABDE表示此步可以在第一、二、四、五个钟调正,如原来是0点,那么调正后为3点。问经过那些步骤可以导致9个钟的位置都在0点。分析:这个本来... 阅读全文
posted @ 2014-08-20 20:51 水门 阅读(414) 评论(0) 推荐(0)
摘要:题目链接题意:输入一个素数p和一个字符串s(只包含小写字母和‘*’),字符串中每个字符对应一个数字,'*'对应0,‘a’对应1,‘b’对应2....例如str[] = "abc", 那么说明 n=3, 字符串所对应的数列为1, 2, 3。题目中定义了一个函数:a0*1^0 + a1*1^1+a2*1... 阅读全文
posted @ 2014-08-20 19:36 水门 阅读(283) 评论(0) 推荐(0)
摘要:题目链接题意:公司被吞并,老员工几乎全部被炒鱿鱼。一共有n种不同的工具,编号1-N(代码中是0—N-1),每种工具的加工时间为3—9天,但是现在老员工不在我们不知道每种工具的加工时间,庆幸的是还保留着一些对工人制造工具的记录,对于每个老员工,他的记录包括,他开始工作的时间(在某个星期的星期几),被炒... 阅读全文
posted @ 2014-08-20 15:09 水门 阅读(352) 评论(0) 推荐(0)
摘要:题目链接题意:给平均成绩和科目数,求可能的最大学分和最小学分。分析:枚举一下,可以达到复杂度可以达到10^4,我下面的代码是10^5,可以把最后一个循环撤掉。刚开始以为枚举档次的话是5^10,但是这个又不要求顺序,所以只是枚举个数就行了。。 1 #include 2 #include 3 #in... 阅读全文
posted @ 2014-08-19 21:44 水门 阅读(256) 评论(0) 推荐(0)
摘要:题目链接题意:有20个数字,0或1。如果改变一个数的状态,它左右两边的两个数的状态也会变反。问从目标状态到全0,至少需要多少次操作。分析:和上一题差不多,但是比上一题还简单,不多说了,但是在做题的时候犯了一个非常二的错误。。看图吧。先输入了a[0]又,初始了a[]【】数组 1 #include ... 阅读全文
posted @ 2014-08-19 11:00 水门 阅读(166) 评论(0) 推荐(0)
摘要:题目链接题意:4*4的黑白棋,求把棋全变白或者全变黑的最小步数。分析:以前用状态压缩做过。 和上题差不多,唯一的不同是这个终态是黑棋或者白棋,但是只需要把给的初态做不同的两次处理就行了。感觉现在还只是会套模板,不能独立的思考,好伤心。。。。 1 #include 2 #include 3 ... 阅读全文
posted @ 2014-08-19 10:21 水门 阅读(292) 评论(0) 推荐(0)
摘要:题目链接题意:一个n*n 的木板 ,每个格子 都 可以 染成 白色和黄色,( 一旦我们对也个格子染色 ,他的上下左右 都将改变颜色);给定一个初始状态 , 求将 所有的 格子 染成黄色 最少需要染几次? 若 不能 染成 输出 inf。分析:和1222差不多,唯一的区别是这个题还要求 最短的步数,其实... 阅读全文
posted @ 2014-08-18 17:00 水门 阅读(236) 评论(0) 推荐(0)
摘要:题目链接题意:给定N(N 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define LL __int64 8 const int maxn = 30+10; 9 using namespace std;... 阅读全文
posted @ 2014-08-18 15:15 水门 阅读(432) 评论(0) 推荐(0)
摘要:题目链接看了好长时间这个题了,也大体弄明白了这个解题的步骤,但是这个方程的过程和为什么这么列还是不太清楚。。嗯,有点无奈题意:给一个确定的5*6放入矩阵,每个格子都有一个开关和一盏灯,0表示灯没亮,1表示灯亮着。让你输出一个5*6的矩阵ans[i][j],ans[i][j] = 1表示按下开关,an... 阅读全文
posted @ 2014-08-18 09:12 水门 阅读(211) 评论(0) 推荐(0)
摘要:题目链接题意:给一个n个数的序列a1, a2, ..., an ,这些数的范围是0~n-1, 可以把前面m个数移动到后面去,形成新序列:a1, a2, ..., an-1, an (where m = 0 - the initial seqence)a2, a3, ..., an, a1 (wher... 阅读全文
posted @ 2014-08-16 20:20 水门 阅读(170) 评论(0) 推荐(0)
摘要:题目链接题意:给出数组A,定义f(l,r,x)为A[]的下标l到r之间,等于x的元素数。i和j符合f(1,i,a[i])>f(j,n,a[j]),求i和j的种类数。我们可以用map预处理出f(1, i, a[i])和f(j, n, a[j]),记为s1[n], s2[n]。这样就变成求满足s1[i]... 阅读全文
posted @ 2014-08-16 19:32 水门 阅读(430) 评论(0) 推荐(0)
摘要:照着czyuan的那个模板,手敲了一遍,存一下。貌似今天一整天就看了一下高斯消元的知识,然后看了模板,又手敲了一遍。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define LL... 阅读全文
posted @ 2014-08-15 21:35 水门 阅读(277) 评论(0) 推荐(0)
摘要:转载自:http://hi.baidu.com/czyuan_acm/item/dce4e6f8a8c45f13d7ff8cdaczyuan先上模板: 1 /* 用于求整数解得方程组. */ 2 #include 3 #include 4 #include 5 using names... 阅读全文
posted @ 2014-08-15 14:50 水门 阅读(277) 评论(0) 推荐(0)
摘要:题目链接题意:给你个x,k次操作,对于第i次操作是:要找个nx,使得nx是>=x的最小值,且能整除i,求k次操作后的数分析:经过打表找规律,会发现最后的x/i,这个倍数会趋于一个固定的值,求出这个固定的值和K相乘就可以了,为什么会趋于固定的值呢,因为最后虽然i在不断增长,但是x也是在增长的,每次的倍... 阅读全文
posted @ 2014-08-14 21:33 水门 阅读(238) 评论(0) 推荐(0)
摘要:题目链接题意:有一个n*m的田地,里边有k棵树,每棵树的位置为(xi,yi),含有能量值ci。之后又q个询问,分三种;1)1 a b,将a行和b行交换2)2 a b,将a列和b列交换3)3 a b,询问(a,b)位置的果树的能量值。分析:由于n和m很大,而k很小,所以可以用map离散化。每次交换行或... 阅读全文
posted @ 2014-08-14 09:35 水门 阅读(261) 评论(0) 推荐(0)
摘要:题目链接题意:给出一条长为n个单位长度的直线,每通过一个单位长度需要t秒。有3种塔,红塔可以在当前格子每秒造成x点伤害,绿塔可以在之后的格子每秒造成y点伤害,蓝塔可以使通过单位长度的时间增加z秒。问如何安排3种塔的顺序使得造成的伤害最大,输出最大伤害值。分析:比赛的时候实在是没有想出来有三种不同的 ... 阅读全文
posted @ 2014-08-13 21:36 水门 阅读(218) 评论(0) 推荐(0)
摘要:题目链接题意:给出n个矩形,每个矩形给左下 和 右上的坐标,求围成的周长的长度。分析:首先感谢大神的博客,最近做题经常看大神的博客:http://www.cnblogs.com/kuangbin/沿x轴离散化。和之前的矩阵面积并有点像。但是一定要去重,否则会错 1 #include 2 #in... 阅读全文
posted @ 2014-08-10 21:32 水门 阅读(229) 评论(0) 推荐(0)
摘要:题目链接题意:给一些矩形,给出长和高,其中长是用区间的形式给出的,有些区间有重叠,最后求所有矩形的面积。分析: 给的区间的范围很大,所以需要离散化,还需要把y坐标去重,不过我试了一下不去重 也不会出错,所有的区间都能列出来,只是在查找的时候费点事。给的矩形相当于在同一水平线上的,也就是y1坐标相当于... 阅读全文
posted @ 2014-08-10 15:44 水门 阅读(195) 评论(0) 推荐(0)
摘要:题目链接题意:中文题意。分析:纯手敲,与上一道题目很相似,但是刚开始我以为只是把cnt》=0改成cnt>=2就行了,、但是后来发现当当前加入的线段的范围之前 还有线段的时候就不行了,因为虽然现在都不等于2,但是之前的那个线段加上现在的已经覆盖2次了。 1 #include 2 #include... 阅读全文
posted @ 2014-08-09 16:50 水门 阅读(188) 评论(0) 推荐(0)
摘要:题目链接BFedya and Maths按照题目的公式求数,有一个规律4的倍数为4,然后就是大数取模,但是我还二的把strlen(s)放到了循环上,导致了每次循环都要算一次,最后超时。本来很简单的,, 简直惨。。。 1 #include 2 #include 3 #include 4 #inc... 阅读全文
posted @ 2014-08-09 11:20 水门 阅读(240) 评论(0) 推荐(0)
摘要:题目链接题意:给定n个矩形,求面积并,分别给矩形左上角的坐标和右上角的坐标。分析:映射到y轴,并且记录下每个的y坐标,并对y坐标进行离散。然后按照x从左向右扫描。 1 #include 2 #include 3 #include 4 #include 5 #include 6 ... 阅读全文
posted @ 2014-08-08 21:43 水门 阅读(407) 评论(0) 推荐(0)
摘要:题目链接题意:成段染色,初始为0,每次改变一个区间的颜色,求最后每种颜色分别有多少段。颜色按照从小到大输出。分析:改变了代码的风格,因为看了学长的博客。直接用数组,可以只是记录节点的编号,因为节点编号确定了,则l,r也就确定了。 1 #include 2 #include 3 #include ... 阅读全文
posted @ 2014-08-08 12:44 水门 阅读(256) 评论(0) 推荐(0)
摘要:题目链接题意:只有这两种操作Cabc" means addingcto each ofAa,Aa+1, ... ,Ab. -10000 ≤c≤ 10000."Qab" means querying the sum ofAa,Aa+1, ... ,Ab.代码风格更新后: 1 #include 2 #... 阅读全文
posted @ 2014-08-07 10:35 水门 阅读(168) 评论(0) 推荐(0)
摘要:题目链接题意: n个挂钩,q次询问,每个挂钩可能的值为1 2 3, 初始值为1,每次询问把从x到Y区间内的值改变为z。求最后的总的值。分析:用val记录这一个区间的值,val == -1表示这个区间值不统一,而且已经向下更新了,val != -1表示这个区间值统一, 更新某个区间的时候只需要把这个区... 阅读全文
posted @ 2014-08-06 19:01 水门 阅读(180) 评论(0) 推荐(0)
摘要:题目链接题意:给n个数,求交换k次相邻的数之后的最小的逆序数对。用分治的方法,以前在poj上做过这种题,昨天比赛的时候忘了。。。。下面的归并排序还是以前的模板。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #includ... 阅读全文
posted @ 2014-08-06 09:52 水门 阅读(237) 评论(0) 推荐(0)
摘要:题目链接题意:给两个矩阵a, b, 计算矩阵a*b的结果对3取余。分析:直接计算时间复杂度是O(n^3),会超时,但是下面第一个代码勉强可以水过,数据的原因。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include... 阅读全文
posted @ 2014-08-05 20:01 水门 阅读(190) 评论(0) 推荐(0)
摘要:题目链接题意:有N个人排队,给出各个人想插队的位置和标识,要求输出最后的序列。分析:因为之前的序列会因为插队而变化,如果直接算时间复杂度很高,所以可以用线段树逆序插入,把序列都插到最后一层,len记录该区间里还剩余多少位置,插入的时候就插到剩余的第几个位置,比如1,2已经插入了,如果再想插入第3个位... 阅读全文
posted @ 2014-08-05 10:13 水门 阅读(210) 评论(0) 推荐(0)
摘要:题目链接中文题意,与上题类似。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 const int maxn = 200000+10; 8 using namespace std; 9 int a[m... 阅读全文
posted @ 2014-08-04 20:29 水门 阅读(197) 评论(0) 推荐(0)
摘要:题目链接线段树掌握的很差,打算从头从最简单的开始刷一波, 嗯。。就从这个题开始吧! 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 const int maxn = 50000+10; 8 using... 阅读全文
posted @ 2014-08-04 17:23 水门 阅读(150) 评论(0) 推荐(0)
摘要:题目链接分析:完全背包的变形,每一层的d[]数组代表这一层的这个数新加入以后所构成的val的种类。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 const int maxn = 500+10; 8... 阅读全文
posted @ 2014-08-04 15:25 水门 阅读(227) 评论(0) 推荐(0)
摘要:题目链接题意:一个m个面的骰子,抛掷n次,求这n次里最大值的期望是多少。(看样例就知道)分析:m个面抛n次的总的情况是m^n, 开始m==1时,只有一种现在增加m = 2, 则这些情况是新增的那个的第一次的结果的后面最大的都是新增的,之前的这些的分支也加上这个数,而且这个数是这一支里最大的,也就是说... 阅读全文
posted @ 2014-08-02 11:03 水门 阅读(228) 评论(0) 推荐(0)
摘要:题目链接题意:在有费用k限制的条件下,求从1到n的最短距离,如果最短距离相同求费用最小的,边为有向边,其中可能有多个相同的源点和目标点,但是距离和费用不同。分析:用bfs和邻接表来把每一个边搜一下,因为用了优先队列,所以先到n的一定是最小的 。 1 #include 2 #include 3 #... 阅读全文
posted @ 2014-08-01 21:42 水门 阅读(235) 评论(0) 推荐(0)
摘要:题目链接题意:给一个数组a,从中选择一些元素,构成两个数组s, t,使s数组里的所有元素异或等于 t数组里的所有元素 位于,求有多少种构成方式。要求s数组里 的所有的元素的下标小于 t数组里的所有的元素的下标。分析:比赛的时候,刚开始脑子很乱,后来想了一下思路也敲了,发现自己的程序结果不对自己一点一... 阅读全文
posted @ 2014-08-01 11:07 水门 阅读(228) 评论(0) 推荐(0)