自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 收藏
  • 关注

原创 SG函数 + 线性筛质数 ACdream 1112

题目来源:http://acdream.info/problem?pid=1112 分析:对于 n 个数, 相当于n  个局面, 只要将 n 个局面 异或 就好, 所以我们只考虑 一个数的时候。一个数 x = p1^r1  * p2^r2 * ... pm ^rm 则 X 的质因子个数 sum = r1 + r2 +... rmSG函数 转移时 , 一种是 sum -

2014-06-26 15:09:22 394

原创 线性筛素数的方法

int n , a[100] , p[100];void prime2(){ memset(a , 0 , n * sizeof(a[0])) ; //初始都为素数 int num = 0 , i , j ; for( i =2 ; i ){ if(!a[i]) p[num++] = i ; // 质数表p[] for(

2014-06-26 15:09:20 341

原创 2012 ICPC/ACM 成都现场赛 Candy

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=4465 题意:输入m,p;从两个盒子里各有n颗糖,每天取一颗,发现其中一个盒子空,求另外一个盒子糖果数的期望。p,1-p为取糖概率;分析: 给盒子编号 A,B , 设另外一个盒子(为B) 剩  n - k 个 , 则 在过去的 (n + k)次 有 k 次 取到B , 且当前这次取到

2014-06-26 15:09:18 567

原创 2014北京邀请赛 F Football on Table

题目来源:http://acm.bnu.edu.cn/bnuoj/problem_show.php?pid=34986题意: 一个人在玩桌面足球,有m行球员,每行球员有ai个,给出每个球员的宽度和相邻球员之间的距离,球从最左边射出,给出球的起点坐标跟方向向量,问能够到达最右边的概率。思路:球员的相对位置固定,球员可以移动一定的距离。计算球经过球员的概率, 用1 - 球经过球员的概率

2014-06-26 15:09:16 383

原创 bzoj 2732 [HNOI2012]射箭 半平面交(刘汝佳版不超时) + 整型二分处理

题目来源:http://61.187.179.132/JudgeOnline/problem.php?id=2732题意:   对于一个靶子, 得到两个不等式。 裸地半平面交 。 分析:用的 一般的 模板,总是TLE 。改成了 刘汝佳 版本 ,依然超时, 所谓的常数太大???? 后来注意到 : 当    判断两个向量平行且 同向 ,取左边的一个,不要用 叉积,用极角判断,

2014-06-26 15:09:14 550

原创 kmp变形 如何判断第i个字符是否匹配函数 hdu 4749

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=4749题意: 题意:给出两个数字串A、B。问A中有多少不相交的子串a能匹配B。匹配的意思是a中任意两个位置i和j的大小关系和B的这两个位置的大小关系是一样的。思路:若是完全一模一样的匹配的话那么KMP是很好理解的。那么对于上述的比较方式怎么比较两个串相等呢?对于a的位置j和B的位置i(j

2014-06-26 15:09:12 393

原创 zoj 3233 容斥原理 + 双条件

题目来源:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3490题意:  给出两个集合Y , N , 给出区间【low , high】 , 问在 这个区间有多少个这样的数,x ,  满足, 集合Y中至少一个数被x 整除, 且 集合 N中至少一个数不被x 整除。分析:两个条件Q1 :  集合Y中至少一个数被x 整

2014-06-26 15:09:09 507

原创 bzoj 1038 瞭望塔 半平面交 + 最小值 枚举

题目来源:http://61.187.179.132/JudgeOnline/problem.php?id=1038给出n个点,从 x值较小到较大给出, 连成的一条折线, 求从这折线上一点放一个垂直的杆,在杆顶能看到整个折线。 求杆的最小长度。分析: 显然杆的最小摆放位置在 折线顶点 或者 半平面交的交点处。代码如下:const double EPS = 1e-10 ;

2014-06-26 15:09:07 359

原创 zoj 3386 Trick or Treat 三分 求最大值的 最小值

题目来源:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3963题意:  给定 N 个不同的点, 求在x轴上的 一点,  使 这点到N个点的 距离 最大 的 最小值。f(x) =  max(i){ (xi - x) ^2 + yi ^2 }求 x  使  min(f(x)) , f(x)为凹函数   ,  采用

2014-06-26 15:09:05 511

原创 hdu 3032 SG(打表找规律) 石子可以 任意取 或分割成非空的两堆

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=3032分析:Lasker's Nim游戏: sg(4k)=4k-1;sg(4k+1)=4k+1;sg(4k+2)=4k+2;sg(4k+3)=4k+4;打表 代码:int Get_SG(int x) { int visited[101]={0

2014-06-26 15:09:03 342

原创 hdu 2897 巴什博弈变形

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=2897分析:n % (p + q) == 0 先手赢。 策略为: A 拿 q ,  B 拿任意 k, A拿 p+q - k, 最后剩 p, B拿。  n % (p + q) + left   left n % (p + q) + left     p=代码如下:int m

2014-06-26 15:09:01 392

原创 hdu 2516 FIB博弈模型

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=2516分析: 当石子个数为 fabonacii 数时, 为必败态。 代码如下:LL fib[60] ;void init(){ int i; fib[0] = fib[1] = 1 ; for( i=2 ;i 55; i++){ f

2014-06-26 15:08:59 370

原创 zoj 1904 Beavergnaw 计算圆柱和圆台的体积

题目来源:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=904题意: 看图,  给出D, 和 抠掉的木材的体积V, 求图中 d.圆柱体积:  pi * r^2 * h圆台体积: pi * (r1 ^2 + r2^2 + r1 *r2) * h / 3 , r1,r2为圆台上下半径。代码如下:cons

2014-06-26 15:08:57 846

原创 zoj 1806 This Takes the Cake 计算凸四边形和三角形的面积

题目来源:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=806题意:凸四边形上 有8个点, 4个顶点 , 和 每2个顶点的中点。经过这8个点的每一条线段,将四边形分成2份, 求这两份面积最近的面积。 分析:  枚举, 每条线段, 计算 一边面积 S(较小), 另一边 面积 s1 = sum - S  ,   找

2014-06-26 15:08:55 486

原创 zoj 1608 Two Circles and a Rectangle 判断两个圆是否能放入一个矩形中

题目来源:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=608分析:两个圆放到矩形的临界点图为:其中a为长, b为宽, r1 > r2红色三角形的三边长分别为:x = a - (r1 +r2)y = b - (r1 + r2)z = r1 +r2当 x ^ 2 + y ^ 2  >= z^2

2014-06-26 15:08:53 735

原创 zoj 1439 Area Ratio 计算三角形内接圆面积和外接圆面积之比

题目来源:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=439分析:三角形面积:area = sqrt(p (p - a) (p -b)(p -c))p = (a + b +c) / 2;三角形内接圆 半径  rin = 2 * area / l  l 为周长三角形外接圆 半径  rout = ab

2014-06-26 15:08:51 665

原创 zoj 1199 Point of Intersection 求两个圆公切线的交点

题目来源:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=199分析:两个圆,不存在交点的情况。1)在 半径相同的情况下, 两条公切线 是平行的, 不存在交点。2)当一个圆在另一个圆内时, 不存在交点。当存在交点时, 计算 交点的坐标。 我们用三角形的相似,计算出x,y 值。x  =  (p2.x *

2014-06-26 15:08:48 1102

原创 poj 1584 A Round Peg in a Ground Hole 判断多边形是否为凸多边形 + 圆心是否在凸多边形内 + 圆是否在凸多边形内部

题目来源:http://poj.org/problem?id=1584 题意: 给一个多边形, 一个圆心以及半径。 首先判断是否为凸多边形。 如果是凸多边形, 再判断,圆是否在凸多边形内部。分析:1) 先判断是否为凸多边形 ,题目给出的顶点是有序的, 即顺时针或是 逆时针。用叉积方向判断。2) 判断圆在多边形内, 首先判断 圆心是否在多边形内部, 是的话,然后再 判断 圆心

2014-06-26 15:08:46 415

原创 foj 2148 Moon Game 判断n个点有几个凸四边形 + 枚举4个点 + 判断点在三角形外

题目来源:http://acm.fzu.edu.cn/problem.php?pid=2148 题意: 判断n个点 可以组成多少个 凸四边形。 分析: 枚举四个点, 若每个点都在 其他三个点组成的三角形外, 则为 凸四边形, 否则 不是凸四边形。代码如下:const int Max_N = 35;double add(double a, double b){

2014-06-26 15:08:44 557

原创 zoj 1081 Points Within 判断点是否在任意多边形内(模板)

题目来源:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=81分析:从p点出发做平行于x轴的射线 l。 求射线与 多边形 线段的交点数num, 若是偶数 , 该点 在外, 若为奇数, 该点在内。注意: 两个特判,  1:   一个是 射线 l 与 多边形的边  重合 , 若该p点在 线段上, 返回1, 否则

2014-06-26 15:08:42 385

原创 zoj 1041 Transmitters 判断一个可以移动的半圆最多可容纳的点的个数

题目来源:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=41 题意:  判断一个可以移动的半圆最多可容纳的点的个数 。分析:  计算在圆内的点, 然后  枚举 这些点, 将点 和 圆心 的连线 的直径 的左右点 统计, 最大 值 即可。代码如下:const double EPS = 1e-12;

2014-06-26 15:08:40 382

原创 zoj 1010 Area 判断线段是否相交(把线段扩充一倍后 好处理) + 多边形求面积

题目来源:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=10 题意:  给定n个点的, 如果这n个点不能形成多边形 以及 n 分析:这题主要在 分析  n 个点 是否形成 多边形。  枚举 每条边,  看 这条边 是否与 其他 n - 3 条边 不规范相交。 (当处理 其他 边时, 我们采用 扩充线段一倍)

2014-06-26 15:08:38 377

原创 foj 1016 无归之室

题目来源:http://acm.fzu.edu.cn/problem.php?pid=1016分析:图画如下:我们可以 列出方程。1 )   x * cos(a)  + y * sin(a)    =  A2 )     x * sin(a )  + y * cos(a)  =  B对方程 化简为 2 = (a + b)^2 / (x + y)^2 + (a -

2014-06-26 15:08:36 619

原创 hdu 2147 kiki's game (打表找规律奇偶性规律)棋盘沿固定方向向没有经过的方格走, 直到不能走

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=2147n * m 的棋盘, 开始棋子放在(1 , m)处, 沿 下, 左下, 左 三个方向移动并且没有经过的方格, 直到不能走。打表找规律:int dir[3][2] = { {0 , -1}, {1 , -1} , {1 , 0} } ;int graph[1010][1010

2014-06-26 15:08:34 394

原创 hdu 1525 找规律博弈 (根据每一步的必然性以及可选择性决策)

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1525 题意: 给出两个数,a和b,将大的数中,减去若干b的倍数,最终有一个数为0的话就胜了。分析:  两个数a和b, 不妨设(a > b),总会出现的一个局面是b,a%b,这是必然的,如果a>=b&&aa / b == 1   即a Ε [b , 2b)  , 下一步 只能到达   (

2014-06-26 15:08:32 366

原创 poj 1755 Triathlon 半平面交求不等式的 是否为空集-------构造有向直线

题目来源:http://poj.org/problem?id=1755分析:设比赛总长度为 1, 其中游泳长度为x, 自行车长度为y, 赛跑长度为 1 - x - y, 则选手 i 打败 选手j (不能并列) 的条件是x / v[i] + y / u[i] + (1 - x - y) / w[i]  整理为 a*x + b * y + c > 0 (直线向量为 (b , -a)

2014-06-26 15:08:30 343

原创 poj 3384 Feng Shui 半平面交的应用 求最多覆盖凸多边形的面积的两个圆 的圆心坐标

题目来源:http://poj.org/problem?id=3384分析: 用半平面交将多边形的每条边一起向“内”推进R,得到新的多边形(半平面交),然后求多边形的最远两点。代码如下:const double EPS = 1e-10 ;const int Max_N = 105 ;double add(double a, double b){ return (f

2014-06-26 15:08:28 508

原创 poj 3525 Most Distant Point from the Sea 半平面交 + 二分

题目来源:http://poj.org/problem?id=3525 分析:题意:给定一个凸多边形,求多边形中距离边界最远的点到边界的距离。思路 : 每次将凸多边形每条边往里平移d,判断是否存在核;二分d即可。多边形边上的点(x , y)往里平移d 后的 坐标: s , e  为向量的 起点和终点, len 为起点和终点的距离, h 为平移的距离x' = x + dx

2014-06-26 15:08:25 300

原创 poj 1279 求半平面交的 面积(推荐)

poj 1279    求半平面交的 面积题目来源:http://poj.org/problem?id=1279分析: 求半平面交的 面积代码如下:const double EPS = 1e-8 ;const int Max_N = 1505 ;double add(double a, double b){ return (fabs(a + b) 0 :

2014-06-26 15:08:23 407

原创 半平面交 模板 poj 3335 poj 3130 poj 1474 判断半平面交是否为空集

半平面交模板const double pi= acos(-1.0);#define arc(x) (x / 180 * pi)const double EPS = 1e-8;const int Max_N = 105;struct Point{ double x,y; Point(){} Point(double x, double y):x(

2014-06-26 15:08:21 544

原创 高斯消元 zoj 3645 poj 1222/XOR消元

double a[maxn][maxn] , x[maxn] ; //a[i][j] 系数矩阵 , a[i][n+1] = y[i] , x解int n ; //n个方程void guass(){ int i , j , k ; double sum , rate ; for(k = 1 ; k ){

2014-06-26 15:08:19 414

原创 向量旋转专题

二维向量旋转知识点参考:  http://www.cnblogs.com/woodfish1988/archive/2007/09/10/888439.html x1= x * cos(θ) - y * sin(θ)y1= x * sin(θ) + y *cos(θ) 求平面上任意点 绕任意点p(x,y)旋转 角度 sita 后的坐标矩阵hdu 1700  Points

2014-06-26 15:08:17 1179

原创 hdu 1524 A Chess Game SG函数(有向无环图-拓扑图)博弈 (二维) + dfs(模板)

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1524 分析:1:每个节点,都限制了步长。故我们设置二维向量, vector v[Max_N]2: 每个节点可走的步长 已知。 同一般的 SG函数。代码如下:const int Max_N = 1005;int sg[Max_N];vectorint>v[Max_N

2014-06-26 15:08:15 431

原创 HDOJ1079&POJ1082&ZOJ1024 Calendar Game [找规律博弈]

HDOJ1079&POJ1082&ZOJ1024 Calendar Game [找规律博弈]根据奇偶性的变化找到规律,特殊情况特殊考虑题目大意是:两个家伙在区域赛前夕闲的无聊,然后玩一种无限纠结的游戏,随即给定一个日期,每次只能移动day OR month..........而且如果下一个月没有当前day的话, 你就不能移动month,比如1月31日,你只能移动day 使其到2月1日,

2014-06-26 15:08:13 405

原创 转 博弈类题目小结(hdu,poj,zoj)

转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove 首先当然要献上一些非常好的学习资料:基础博弈的小结:http://blog.csdn.net/acm_cxlove/article/details/7854530经典翻硬币游戏小结:http://blog.csdn.net/acm_c

2014-06-26 15:08:10 441

原创 poj 3080 get_next + kmp + 字符数组做函数参数 + 数组下标从1 开始

题目来源:http://poj.org/problem?id=3080 分析:题意:要求你求出每组字符串的最长公共子串,公共子串长度要求至少为3。注意,当出现等长的公共字符串时,输出按字典序字符串最小的那个。若没公共子串,输出“no significant commonalities。分析: 用kmp 枚举,让第一个字符串的长度大于等于3的子串分别与其他字符串匹配比较,第一

2014-06-26 15:08:08 426

原创 poj Area 1265 求面积+ 多边形边上的点的个数+ 多边形内点个数

题目来源:http://poj.org/problem?id=1265分析:1:pick公式:多边形的面积=多边形边上的格点数目/2+多边形内部的格点数目-1。即 Area = E/2 + I -1;2:我们可以利用叉积求出 面积 Area。3:多边形边上的点数目为:dx = p[i] .x - p[i-1].x;dy = p[i].y - p[i-1].y

2014-06-26 15:08:06 442

原创 zoj Cryptography 2671 矩阵相乘 + Mod求余 + 线段树查询

题目来源:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1671代码如下: typedef long long LL ;const double EPS = 1e-12;const int Max_N = 30005;int Mod;struct Mat{ int elem[3][

2014-06-26 15:08:04 419

原创 CodeBlocks调试功能快捷教程

在程序设计中,单步调试能够跟踪程序的执行流程。跟踪过程中,还可以观察变量的变化,从而发现其中存在的问题。单步执行除了可以帮助我们发现设计的程序中存在的问题,对于初学者,还可以帮助我们理解语言的机制。  所以,对于初学者,掌握所用的集成开发环境的一般用法,是一件非常重要的事情。  由于其重要性,再引用中国的一句古话“工欲善其事,必先利其器”,单步调试就是程序设计者最重要的工具之一,这种工具的

2014-06-26 15:08:02 424

原创 矩阵连乘

DG之童年的游戏  矩阵连乘 + 坐标变换题目来源:http://acm.seu.edu.cn/oj/problem.php?id=49 坐标变换为:所以我们知道 转移矩阵分别为:第i个人加1(eg.第2个人)1 0 00 1 10 0 1第2个人变01 0 00 0 00 0 1第2个人与第1个人交换(第二行与第一行交换)0 1 0

2014-06-26 15:08:00 418

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除