- 博客(19)
- 资源 (1)
- 收藏
- 关注
原创 圆与线段的交点
给出一条线段的两个端点,再给出n个圆,求出这条线段被所有圆覆盖的部分占了整条线段的百分比。圆与线段的交点 :向量AB 的参数方程 P = A + t * (B - A) 0将点带入圆的方程即可。 注意:有交点 0 此题求覆盖的部分。 则 若求得 t 满足 ;double ask(double t){ if(t < 0)
2014-12-25 20:34:45 3561
原创 hdu2215
枚举任意3点找其最小覆盖圆当为钝角三角形时不是外接圆,而是以其最长边为直径的圆; 当为外接圆时,半径公式为r=abc/4s; 由正弦定理,a/sinA=b/sinB=c/sinC=2R,得sinA=a/(2R), 又三角形面积公式S=(bcsinA)/2,所以S=(abc)/(4R),故R=(abc)/(4S).const double eps = 1e
2014-12-25 14:25:42 565
原创 hdu3264
给 n 个圆,作一个新的圆(以 n 个圆里面的一个圆心为圆心),要求将所有的圆覆盖至少一半的面积,求出最小半径。const int maxn = 28 ;const double eps = 1e-8 ;const double pi = acos(-1.0) ;struct point{ double x , y ; point(){}
2014-12-25 12:24:26 525
原创 两圆相交面积
1、相离||相切2、内含3、相交余弦定理求 cos(a1) = (r1^2 + d^2 - r2^2) / (2*r1*d) 三角函数 S三角形AB01 = 1/2 * sin(2*a1) * r1 * r1 ;const double eps = 1e-8 ;const double pi = acos(-1.0) ;struct poin
2014-12-24 11:21:17 796
原创 三角形垂心
POJ1673垂心:三角形的三条高或其延长线相交于一点,这点称为三角形的垂心。const double eps = 1e-8 ;struct point{ double x , y ; point(){} point(double x , double y){ this->x = x ;
2014-12-22 14:59:17 722
原创 最小覆盖圆
给你n个点,求一个最小的圆把所有点覆盖。 hdu3007----------摘自顾研的《浅谈随机化思想在几何问题中的应用》const int maxn = 508 ;const double eps = 1e-8 ;int dcmp(double x){ if(fabs(x) < eps) return 0 ; if(x > 0)
2014-12-22 14:02:44 569
原创 小游戏--吃豆子2 windows部分
// EatBean.cpp : 定义应用程序的入口点。//#include "stdafx.h"#include "EatBean.h"#include "GMap.h"#include "StageOne.h" #include "Player.h"#include "GObject.h"#include "RedEnermy.h"#include "GreenEnermy
2014-12-19 14:40:47 748
原创 小游戏----吃豆子
修改论文很久,闲来头脑一热,留有后用。总的工作流程为:17日夜晚:查了下资料,想了下设计。18日下午1:00-4:00 : 写了基类与玩家的部分,不过有bug。19日上午9:00-下午14:00 : 完成。 上午9:00-10:00修改18日bug。 bug: 为 windows 下坐标系 与 自然数学坐标系的转换,导致x , y 颠倒
2014-12-19 14:06:23 813
原创 hdu1299 枚举因子
这题搞法很多,写个枚举因子的模版放在这里,另有用处。typedef long long LL;const int maxn = 10008 ;bool is[maxn] ;int ps ;int prime[maxn] ;void make(){ memset(is , 0 , sizeof(is)) ; p
2014-12-16 12:14:15 692
原创 Poj 2480积性函数
typedef long long LL;const int maxn = 100008 ;bool is[maxn] ;int ps ;int prime[maxn] ;void make(){ memset(is , 0 , sizeof(is)) ; ps = 0 ; for(int i =
2014-12-14 14:20:48 505
原创 hdu 4497
how many solutions of (x, y, z) there are, satisfying that gcd(x, y, z) = G and lcm(x, y, z) = L? (1, 2, 3) and (1, 3, 2) are two different solutions.typedef long long LL;const int m
2014-12-13 21:17:55 500
原创 hdu2421积性函数
g(n)=∑f(d)^3 (d|n,f(n)表示n的约数个数)易证g(n)为积性函数,即(n,m)=1 g(nm)=g(n)*g(m)则 若n=p1^a1 * p2^a2 ……pj^ajg(n)=g(p1^a1)*……g(pj^aj)由定义知g(p1^a1)=1^3+……(a1+1)^3=(a1+1)^2*(a1+2)^2 /4const LL mod =
2014-12-13 14:12:37 584
原创 poj 1845
const LL mod = 9901LL ;const int maxn = 10008 ;bool is[maxn] ;int ps ;int prime[maxn] ;void make(){ memset(is , 0 , sizeof(is)) ; ps = 0 ;
2014-12-13 13:29:15 499
原创 直方图均衡化
max = 255 min = 0 void HistogramDrawDlg::HistogramAvge(){ if(m_himageDib.m_nBitCount != 8) return ; if(m_pImgDataOut != NULL){ delete [] m_pImgDataOut ; m_pImgDataO
2014-12-10 15:11:24 573
原创 灰度直方图
灰度直方图反应图像灰度的统计特性,表达了图像中取不同灰度值的面积或像素数在政府图像中所占的比例,是图像中最基本的信息。直方图的横坐标是灰度级,一般用r表示,纵坐标是具有该灰度级的像素个数或出现这个灰度级的概率P(rk)(k为下标)。 ;式中,N为一副图像中像素的总数,nk为第k级灰度的像素数,rk表示第k个灰度级,P(rk)则表示该灰度级出现的概率.因为P(rk)给出了对rk出现概率的一个
2014-12-07 16:53:26 3026
原创 二值化
图像的二值化的基本原理图像的二值化处理就是将图像上的点的灰度置为0或255,也就是将整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阈值选取而获得仍然可以反映图像整体和局部特征的二值化图像。在数字图像处理中,二值图像占有非常重要的地位,特别是在实用的图像处理中,以二值图像处理实现而构成的系统是很多的,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像,
2014-12-06 15:30:08 988
原创 VS2010平台下ImageDib类开发----------------------二值化
1、新建 【注意是多文档】 项目名为“Pic”2、 修改 Menu 可以新建Menu , BOOL CPicApp::InitInstance(){ pDocTemplate = new CMultiDocTemplate( IDR_PicTYPE, /*这里修改新建的ID*/ RUNTIME_CLASS(CPicDoc)
2014-12-06 13:55:53 676
原创 VS2010平台下ImageDib类读取图片的详细操作
1 新建:2 : 添加ImageDib.h ImageDib.cpp3: 在@Doc.h 添加 (@为项目名)class @Doc : public CDocument{ public: ImageDib *m_dib ;}在@Doc.cpp 添加@Doc::@Doc(){ // TODO: 在此添加一次性构造代码 m_dib
2014-12-04 15:58:39 1971
原创 ImageDib类
class ImageDib { //成员变量 public: unsigned char * m_pImgData; //图像数据指针 LPRGBQUAD m_lpColorTable; //图像颜色表指针 int m_nBitCount; //每像素占的位数 private: LPBYTE m_lpDib; //指向DIB的指针
2014-12-04 14:34:03 1539
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人