08 2014 档案
URAL 1152. False Mirrors (记忆化搜索 状压DP)
摘要:题目链接题意 :每一颗子弹破坏了三个邻近的阳台。(第N个阳台是与第1个相邻)射击后后的生存的怪物都对主角造成伤害- 如此,直到所有的怪物被消灭,求怎样射击才能受到最少伤害。思路 : 状压,数据不是很大,可以爆一爆,或者DFS下去就行,枚举每一种状态。 1 //1152 2 #include 3 #... 阅读全文
posted @ 2014-08-31 20:48 枫、 阅读(218) 评论(0) 推荐(0) 编辑
POJ 1113 Wall(Graham求凸包周长)
摘要:题目链接题意 : 求凸包周长+一个完整的圆周长。因为走一圈,经过拐点时,所形成的扇形的内角和是360度,故一个完整的圆。思路 : 求出凸包来,然后加上圆的周长 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 const... 阅读全文
posted @ 2014-08-29 10:19 枫、 阅读(233) 评论(0) 推荐(0) 编辑
HDU 1392 Surround the Trees (Graham求凸包周长)
摘要:题目链接题意 : 让你找出最小的凸包周长 。思路 : 用Graham求出凸包,然后对每条边求长即可。Graham详解 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std ; 8 9... 阅读全文
posted @ 2014-08-29 09:34 枫、 阅读(169) 评论(0) 推荐(0) 编辑
POJ 2007 Scrambled Polygon (简单极角排序)
摘要:题目链接题意 : 对输入的点极角排序思路 : 极角排序方法#include #include #include #include using namespace std;struct point{ double x,y;}p[50],pp;double cross(point a,point ... 阅读全文
posted @ 2014-08-28 14:07 枫、 阅读(150) 评论(0) 推荐(0) 编辑
POJ 1696 Space Ant (极角排序)
摘要:题目链接题意 :一只蚂蚁,只会向左转,现在给出平面上很多个点,求解一种走法,能使得蚂蚁能经过的点最多,每个顶点该蚂蚁只能经过一次,且所行走的路线不能发生交叉.思路 : 每次找的时候排一下序然后输出最外边的点就行了。极角排序是根据坐标系内每一个点与x轴所成的角,逆时针比较,。按照角度从小到大的方式排序... 阅读全文
posted @ 2014-08-28 13:53 枫、 阅读(191) 评论(0) 推荐(0) 编辑
极角排序
摘要:转载自http://www.cnblogs.com/devtang/archive/2012/02/01/2334977.html先介绍几种极角排序:1.利用叉积的正负来作cmp.(即是按逆时针排序).1 bool cmp(const point &a, const point &b)//逆时针排序... 阅读全文
posted @ 2014-08-28 13:49 枫、 阅读(1541) 评论(0) 推荐(1) 编辑
Codeforces Round #263 (Div. 2) D. Appleman and Tree(树形DP)
摘要:题目链接D. Appleman and Treetime limit per test :2 secondsmemory limit per test:256 megabytesinput :standard inputoutput:standard outputAppleman has a tre... 阅读全文
posted @ 2014-08-27 16:28 枫、 阅读(415) 评论(0) 推荐(0) 编辑
Codeforces Round #263 (Div. 2) A B C
摘要:题目链接A. Appleman and Easy Tasktime limit per test:2 secondsmemory limit per test:256 megabytesinput:standard inputoutput:standard outputToastman came u... 阅读全文
posted @ 2014-08-27 14:29 枫、 阅读(250) 评论(0) 推荐(0) 编辑
POJ 2653 Pick-up sticks(线段相交)
摘要:题目链接题意 : 把每根棍往地上扔,找出最后在上面的棍,也就是说找出所有的没有别的棍子压在它的上面的棍子。思路 : 对于每根棍子,压在他上面的棍子一定是在它之后扔的棍子,所以在找的时候只要找它之后的线段是否与他相交即可。 1 //2653 2 #include 3 #include 4 #inc... 阅读全文
posted @ 2014-08-26 21:19 枫、 阅读(273) 评论(0) 推荐(0) 编辑
POJ 3304 Segments (直线与线段是否相交)
摘要:题目链接题意 : 能否找出一条直线使得所有给定的线段在该直线上的投影有一个公共点。思路 : 假设存在一条直线a使得所有线段在该直线上的投影有公共点,则必存在一条垂直于直线a的直线b,直线b与所有线段相交,所以问题又转变为是否存在一条直线与所在所有线段相交。假设这样的直线存在,则这一条直线可能与某一条... 阅读全文
posted @ 2014-08-26 20:36 枫、 阅读(226) 评论(0) 推荐(0) 编辑
位运算
摘要:1.求该数中1的个数int getsum(int x){ int cnt = 0 ; while(x) { cnt ++ ; x &= x-1 ; } return cnt ;}View Code下面是高效一点的1 int getsum(in... 阅读全文
posted @ 2014-08-26 16:19 枫、 阅读(165) 评论(0) 推荐(0) 编辑
POJ 1185 炮兵阵地 (状压DP)
摘要:题目链接题意 : 中文题不详述。思路 :状压DP,1表示该位置放炮弹,0表示不放。dp[i][j][k],代表第 i 行的状态为k时第i-1行的状态为 j 时放置的最大炮弹数。只是注意判断的时候不要互相攻击到就可以了,还要与地形相适应。 1 #include 2 #include 3 #incl... 阅读全文
posted @ 2014-08-26 16:14 枫、 阅读(156) 评论(0) 推荐(0) 编辑
POJ 3114 Countries in War(强联通分量+Tarjan)
摘要:题目链接题意 : 给你两个城市让你求最短距离,如果两个城市位于同一强连通分量中那距离为0.思路 :强连通分量缩点之后,求最短路。以前写过,总感觉记忆不深,这次自己敲完再写了一遍。 1 #include 2 #include 3 #include 4 #include 5 #incl... 阅读全文
posted @ 2014-08-24 21:27 枫、 阅读(173) 评论(0) 推荐(0) 编辑
Codeforces Round #262 (Div. 2) A B C
摘要:题目链接A. Vasya and Sockstime limit per test:2 secondsmemory limit per test:256 megabytesinput:standard inputoutput:standard outputVasya hasnpairs of soc... 阅读全文
posted @ 2014-08-23 01:48 枫、 阅读(415) 评论(0) 推荐(0) 编辑
2014多校第十场1002 || HDU 4972 A simple dynamic programming problem
摘要:题目链接题意 : 每次无论哪个队投进一个篮球,就记下现在两队比分的差值,问你最后的结果有多少种情况。思路 : 该题实在是不好理解,最后的结果有多少种情况就是说不管中间过程怎么来的,只要最后结果不一样的情况。因为会有不合法数据,类似于2 2 2 或者是1 5 9 23这种数据,非法数据就是0种情况,但... 阅读全文
posted @ 2014-08-22 09:23 枫、 阅读(274) 评论(0) 推荐(0) 编辑
2014多校第十场1004 || HDU 4974 A simple water problem
摘要:题目链接题意 : n支队伍,每场两个队伍表演,有可能两个队伍都得一分,也可能其中一个队伍一分,也可能都是0分,每个队伍将参加的场次得到的分数加起来,给你每个队伍最终得分,让你计算至少表演了几场。思路 : ans = max(maxx,(sum+1)/2) ;其实想想就可以,如果所有得分中最大值没有和... 阅读全文
posted @ 2014-08-21 21:26 枫、 阅读(228) 评论(0) 推荐(0) 编辑
POJ 1144 Network(Tarjan)
摘要:题目链接题意 : 找出割点个数。思路 : Tarjan缩点,u是割点的充要条件是:u要么是具有两个以上子女的深度优先生成树的根,要么不是根,而有一个子女v满足low[v]>=dfn[u]。 1 #include 2 #include 3 #include 4 #include 5 6 us... 阅读全文
posted @ 2014-08-21 09:08 枫、 阅读(166) 评论(0) 推荐(0) 编辑
POJ 3177 Redundant Paths(Tarjan)
摘要:题目链接题意 : 一个无向连通图,最少添加几条边使其成为一个边连通分量 。思路 :先用Tarjan缩点,缩点之后的图一定是一棵树,边连通度为1。然后找到所有叶子节点,即度数为1的节点的个数leaf,最后要添加的边的条数就是(leaf+1)/2 ; 1 // 3177 2 #include 3 #i... 阅读全文
posted @ 2014-08-20 19:25 枫、 阅读(164) 评论(0) 推荐(0) 编辑
POJ 1870 Bee Breeding(找规律)
摘要:题目链接题意 : 给你一个蜂巢状图形,让你找出两个点之间的距离。思路 : 在做这个题之前可以看一下2265,因为是一种题来着,规律就是我在2265里写的那样,然后就是求距离了,求距离的时候只需考虑两个点的坐标差值(x,y),把坐标差值分成四个项限,x>0且y>0,或x 2 #include 3 #... 阅读全文
posted @ 2014-08-18 18:56 枫、 阅读(312) 评论(0) 推荐(0) 编辑
POJ 2265 Bee Maja (找规律)
摘要:题目链接题意 : 给你两个蜂巢的编号,给你一个的编号让你输出在另外一个蜂巢中对应的编号。思路 : 先将蜂巢分层,第一层一个数,第二层6个数,第三层12个数…………然后用公式表示出第n层的最后一个数是多少,下图中竖着的是x坐标,斜着的是y坐标,往左横坐标+1,往右横坐标-1,以斜线为准往上纵坐标-1,... 阅读全文
posted @ 2014-08-18 17:07 枫、 阅读(439) 评论(0) 推荐(0) 编辑
POJ 3468 A Simple Problem with Integers(线段树)
摘要:题目链接题意 : 给你n个数,进行两种操作,第一种是将a到b上所有元素都加上c,第二种是查询a到b上所有元素之和输出。思路 : 线段树,以前写过博客,但是现在在重刷,风格改变,,所以重新写一篇。。。。 1 #include 2 #include 3 #include 4 #define LL ... 阅读全文
posted @ 2014-08-18 10:05 枫、 阅读(167) 评论(0) 推荐(0) 编辑
POJ 1182 食物链(带权并查集)
摘要:题目链接题意 : 中文题不详述。思路 : 转载自…… Part I - 权值(relation)的确定。 我们根据题意,森林中有3种动物。A吃B,B吃C,C吃A。 我们还要使用并查集,那么,我们就以动物之间的关系来作为并查集每个节点的 权值。 注意,我们不知道所给的动物(题目... 阅读全文
posted @ 2014-08-17 15:07 枫、 阅读(522) 评论(0) 推荐(0) 编辑
POJ 1027 The Same Game(模拟)
摘要:题目链接题意 : 一个10×15的格子,有三种颜色的球,颜色相同且在同一片内的球叫做cluster(具体解释就是,两个球颜色相同且一个球可以通过上下左右到达另一个球,则这两个球属于同一个cluster,同时cluster含有至少两个球),每次选择cluster中包含同色球最多的进行消除,每次消除完之... 阅读全文
posted @ 2014-08-15 20:49 枫、 阅读(452) 评论(0) 推荐(0) 编辑
HDU 1558 Segment set (并查集+线段非规范相交)
摘要:题目链接题意 : 如果两个线段相交就属于同一集合,查询某条线段所属集合有多少线段,输出。思路 : 先判断与其他线段是否相交,然后合并。 1 //1558 2 #include 3 #include 4 #include 5 #include 6 #define eps 1e-8 ... 阅读全文
posted @ 2014-08-15 16:14 枫、 阅读(240) 评论(0) 推荐(0) 编辑
URAL 1586 Threeprime Numbers(DP)
摘要:题目链接题意 :定义Threeprime为它的任意连续3位上的数字,都构成一个3位的质数。 求对于一个n位数,存在多少个Threeprime数。思路 :记录[100, 999]范围内所有素数(标记的是该素数的每一位x1,x2,x3)。然后从n = 4往后,定义dp[i][x2][x3], i 表示到... 阅读全文
posted @ 2014-08-15 09:39 枫、 阅读(223) 评论(0) 推荐(0) 编辑
URAL 1167. Bicolored Horses (DP)
摘要:题目链接题意 :农夫每天都会放马出去,然后晚上把马赶入马厩,于是让马排成一行入马厩,但是不想马走更多的路,所以让前p1匹入第一个马厩,p2匹马入第二个马厩…………但是他不想让他的任何一个马厩空着,所有的马都必须入马厩。有两种颜色的马,如果 i 匹黑马与 j 匹白马同在一个马厩,不愉快系数是 i * ... 阅读全文
posted @ 2014-08-14 21:51 枫、 阅读(270) 评论(0) 推荐(0) 编辑
FZU Problem 2148 Moon Game (判断凸四边形)
摘要:题目链接题意 : 给你n个点,判断能形成多少个凸四边形。思路 :如果形成凹四边形的话,说明一个点在另外三个点连成的三角形内部,这样,只要判断这个内部的点与另外三个点中每两个点相连组成的三个三角形的面积和要与另外三个点组成的三角形面积相同。中途忘了加fabs还错了好几次 1 //FZU2148 2 #... 阅读全文
posted @ 2014-08-14 11:46 枫、 阅读(255) 评论(0) 推荐(0) 编辑
2014多校第七场1005 || HDU 4939 Stupid Tower Defense (DP)
摘要:题目链接题意 :长度n单位,从头走到尾,经过每个单位长度需要花费t秒,有三种塔:红塔 :经过该塔所在单位时,每秒会受到x点伤害。绿塔 : 经过该塔所在单位之后的每个单位长度时每秒都会经受y点伤害。蓝塔 : 经过该塔所在单位之后,再走每个单位长度的时候时间会变成t+z。思路 : 官方题解 : 1 #i... 阅读全文
posted @ 2014-08-13 21:00 枫、 阅读(185) 评论(0) 推荐(0) 编辑
2014多校第七场1003 || HDU 4937 Lucky Number
摘要:题目链接题意 : 给定一个十进制n,让你转化成某个进制的数,让这个数只包含3 4 5 6这些数字,这个进制就成为n的幸运数字,输出有多少幸运数字,例如19,5进制表示是34,所以5是19的一个幸运数。思路 : 以下思路有这里提供先考虑特殊情况,所情况下会有无穷个?只有n=3,4,5,6的时候,因为这... 阅读全文
posted @ 2014-08-13 16:12 枫、 阅读(246) 评论(0) 推荐(0) 编辑
HDU 1796 How many integers can you find (状态压缩 + 容斥原理)
摘要:题目链接题意 : 给你N,然后再给M个数,让你找小于N的并且能够整除M里的任意一个数的数有多少,0不算。思路 :用了容斥原理 :ans = sum{ 整除一个的数 } - sum{ 整除两个的数 } + sum{ 整除三个的数 }………………所以是奇加偶减,而整除 k 个数的数可以表示成 lcm(A... 阅读全文
posted @ 2014-08-12 21:14 枫、 阅读(223) 评论(0) 推荐(0) 编辑
POJ 1523 SPF(求割点)
摘要:题目链接题意 : 找出图中所有的割点,然后输出删掉他们之后还剩多少个连通分量。思路 : v与u邻接,要么v是u的孩子,要么u是v的祖先,(u,v)构成一条回边。 1 //poj1523 2 #include 3 #include 4 #include 5 6 using namespace ... 阅读全文
posted @ 2014-08-12 08:55 枫、 阅读(147) 评论(0) 推荐(0) 编辑
ZOJ 2588 Burning Bridges (tarjan求割边)
摘要:题目链接题意 : N个点M条边,允许有重边,让你求出割边的数目以及每条割边的编号(编号是输入顺序从1到M)。思路 :tarjan求割边,对于除重边以为中生成树的边(u,v),若满足dfn[u] 2 #include 3 #include 4 #include 5 6 using names... 阅读全文
posted @ 2014-08-11 17:12 枫、 阅读(182) 评论(0) 推荐(0) 编辑
HDU 1788 Chinese remainder theorem again
摘要:题目链接题意 : 中文题不详述。思路 : 由N%Mi=(Mi-a)可得(N+a)%Mi=0;要取最小的N即找Mi的最小公倍数即可。 1 //1788 2 #include 3 #include 4 #include 5 #include 6 #define LL long long 7 8... 阅读全文
posted @ 2014-08-11 10:38 枫、 阅读(266) 评论(0) 推荐(0) 编辑
Codeforces Round #260 (Div. 2) A~C
摘要:题目链接A. Laptopstime limit per test:1 secondmemory limit per test:256 megabytesinput:standard inputoutput:standard outputOne day Dima and Alex had an ar... 阅读全文
posted @ 2014-08-09 20:22 枫、 阅读(229) 评论(0) 推荐(0) 编辑
2014多校第六场 1010 || HDU 4930 Fighting the Landlords (模拟)
摘要:题目链接题意 : 玩斗地主,出一把,只要你这一把对方要不了或者你出这一把之后手里没牌了就算你赢。思路 : 一开始看了第一段以为要出很多次,实际上只问了第一次你能不能赢或者能不能把牌出尽。 1 #include 2 #include 3 #include 4 5 using name... 阅读全文
posted @ 2014-08-08 15:05 枫、 阅读(210) 评论(0) 推荐(0) 编辑
2014多校第六场 1007 || HDU 4927 Series 1(杨辉三角组合数)
摘要:题目链接题意 : n个数,每操作一次就变成n-1个数,最后变成一个数,输出这个数,操作是指后一个数减前一个数得到的数写下来。思路 : 找出几个数,算得时候先不要算出来,用式子代替,例如:1 2 3 4 5 6(2-1) (3-2) (4-3) (5-4)(6-5)(3-2-2+1)(4-3-3+2)... 阅读全文
posted @ 2014-08-08 09:33 枫、 阅读(242) 评论(0) 推荐(0) 编辑
2014多校第六场 1005 || HDU 4925 Apple Tree
摘要:题目链接题意 : 给你一块n×m的矩阵,每一个格子可以施肥或者是种苹果,种一颗苹果可以得到一个苹果,但是如果你在一个格子上施了肥,那么所有与该格子相邻(指上下左右)的有苹果树的地方最后得到的苹果是两倍,如果(i,j)有一颗苹果树,(i-1,j)与(i,j+1)施了肥,那么苹果应该是1的两倍2,2的两... 阅读全文
posted @ 2014-08-07 20:37 枫、 阅读(260) 评论(0) 推荐(0) 编辑
HDU 4027 Can you answer these queries?(线段树的单点更新+区间查询)
摘要:题目链接题意 : 给你N个数,进行M次操作,0操作是将区间内的每一个数变成自己的平方根(整数),1操作是求区间和。思路 :单点更新,区间查询,就是要注意在更新的时候要优化,要不然会超时,因为所有的数开几次方之后都会变成1,所以到了1不用没完没了的更新。 1 //HDU 4027 2 #include... 阅读全文
posted @ 2014-08-07 10:04 枫、 阅读(175) 评论(0) 推荐(0) 编辑
POJ 3301 Texas Trip (三分)
摘要:题目链接题意 : 给你若干个点,让你找最小的正方形覆盖这所有的点。输出面积。思路 : 三分枚举正方形两对边的距离,然后求出最大,本题用的是旋转正方形,也可以用旋转点,即点的相对位置不变。正方形从0度到180度变化的过程中,把所有点覆盖,面积肯定是有一个最小峰值,是一个凸函数。因此可以用三分法解决。这... 阅读全文
posted @ 2014-08-06 21:38 枫、 阅读(413) 评论(0) 推荐(0) 编辑
POJ 3254 Corn Fields(状压DP)
摘要:题目链接题意 : 一个m*n的矩形,1代表有草,0代表没有草,将牛放在有草的地方,牛与牛之间不能相邻。问有多少种方法。思路 : 状态压缩,从上往下枚举,如果第一行的确定了,那第二行中所有与第一行有草的地方相邻的格子便不能再用,以此类推,只要求出每行可用的方法数,dp[i][j] += dp[i-1]... 阅读全文
posted @ 2014-08-06 10:05 枫、 阅读(161) 评论(0) 推荐(0) 编辑
2014多校第五场1010 || HDU 4920 Matrix multiplication(矩阵乘法优化)
摘要:题目链接题意 : 给你两个n*n的矩阵,然后两个相乘得出结果是多少。思路 :一开始因为知道会超时所以没敢用最普通的方法做,所以一直在想要怎么处理,没想到鹏哥告诉我们后台数据是随机跑的,所以极端数据是不可能会有的,而我们一开始一直在想极端数据能接受的方法。。。。。。后来看了鹏哥的做法,就是把是0的地方... 阅读全文
posted @ 2014-08-05 20:54 枫、 阅读(310) 评论(0) 推荐(0) 编辑
2014多校第五场1001 || HDU 4911 Inversion (归并求逆序数)
摘要:题目链接题意 : 给你一个数列,可以随意交换两相邻元素,交换次数不超过k次,让你找出i aj的(i,j)的对数最小是多少对。思路 : 一开始想的很多,各种都想了,后来终于想出来这根本就是求逆序数嘛,可以用归并排序,也可以用树状数组,不过我们用树状数组做错了,也不知道为什么。求出逆序数来再减掉k次,... 阅读全文
posted @ 2014-08-05 19:32 枫、 阅读(226) 评论(0) 推荐(0) 编辑
Codeforces Round #259 (Div. 2) C - Little Pony and Expected Maximum (数学期望)
摘要:题目链接题意 : 一个m面的骰子,掷n次,问得到最大值的期望。思路 : 数学期望,离散时的公式是E(X) = X1*p(X1) + X2*p(X2) + …… + Xn*p(Xn)p(xi)的是所有最大值是xi的情况数/总情况数一共是m^n种,掷n次,所有最大值是xi的情况数应该是xi^n,但是这里... 阅读全文
posted @ 2014-08-05 09:38 枫、 阅读(172) 评论(0) 推荐(0) 编辑
ZOJ 1610 Count the Colors (线段树区间更新)
摘要:题目链接题意 : 一根木棍,长8000,然后分别在不同的区间涂上不同的颜色,问你最后能够看到多少颜色,然后每个颜色有多少段,颜色大小从头到尾输出。思路 :线段树区间更新一下,然后标记一下,最后从头输出。//ZOJ 1610#include #include #include using namesp... 阅读全文
posted @ 2014-08-03 21:27 枫、 阅读(179) 评论(0) 推荐(0) 编辑
2014多校第四场1006 || HDU 4902 Nice boat (线段树 区间更新)
摘要:题目链接题意 : 给你n个初值,然后进行两种操作,第一种操作是将(L,R)这一区间上所有的数变成x,第二种操作是将(L,R)这一区间上所有大于x的数a[i]变成gcd(x,a[i])。输出最后n个数。思路 : 暴力线段树,将区间进行更新,可以用延迟标记,也可以不用。p数组代表当前节点这一段上的值是不... 阅读全文
posted @ 2014-08-01 16:52 枫、 阅读(183) 评论(0) 推荐(0) 编辑
2014多校第四场1005 || HDU 4901 The Romantic Hero (DP)
摘要:题目链接题意 :给你一个数列,让你从中挑选一些数组成集合S,挑另外一些数组成集合T,要求是S中的每一个数在原序列中的下标要小于T中每一个数在原序列中下标。S中所有数按位异或后的值要与T中所有的数按位与的值相同,问能找出多少符合要求的组合。思路 :比赛的时候有点没有头绪,后来二师兄想出了状态转移方程,... 阅读全文
posted @ 2014-08-01 09:23 枫、 阅读(225) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示