时间:2015-01-13 来源:

BZOJ1845CQOI2005三角形面积并扫描线 【移动开发】

题目大意:给出一些三角形网页外包接活,求这些三角形面积的并.

剩下的就可以尽情的乱搞了...

以前扫描线就写过矩形的用数据结构维护的那种,网页外包接活和计算几何不占边,网页切图价格这次才是好好写了一次正宗的扫描线.不得不说这个算法还是很靠谱的.

有一些细节,div+css制作刚开始写处处碰壁...

其实这个思路不仅限于三角形面积的并,div+css报价所有凸多边形的面积并应该都可以解决.

由于每次区间中的不一定是一个梯形,兼职手机网页制作这些梯形的中位线总长需要将x=x‘这条线与所有三角形相交的区域求交,html静态页面制作然后再计算.这就可以随便乱搞了,web切图报价反正扫描线的总体时间复杂度是O(n^3)的,psd转html别比这个大就行了.这就是扫描线的基本思路.

思路:应该可以辛普森积分,html切图制作但是应该会很麻烦..

比如按照横坐标划分网页外包接活,就会有数据中有的三角形的边垂直于x轴,网页外包接活不好计算上底和下底web前端制作,就不好计算面积了.可以转化一下,web前端制作我们只需要计算这个梯形的中位线长.一定不会有一条边在梯形的中位线上承接网页制作,所以就避免了这个问题.

对于任意由线段组成的图形,div前端切图对这个图形进行多次的划分web切图报价,总可以将这个图形划分成梯形,web切图报价面积也很好计算.那么按照什么划分呢?将所有三角形的边都求交点符合w3c标准,不难发现,符合w3c标准以这些点为划分依据的话网页外包接活,r,y; void Read() { scanf("%lf%lf",&y); } Point(double _,y(__) {} Point() {} bool operator <(const Point &a)const { return x < a.x; } Point operator +(const Point &a)const { return Point(x + a.x,y - a.y); } Point operator *(double a)const { return Point(x * a,b,point[MAX * MAX * 10]; int points; struct Line{ Point p,Point __):p(_),v.x); } Line() {} }line[MAX << 2]; int lines; struct Interval{ double l,double __):l(_),r); } Interval() {} bool operator <(const Interval &a)const { if(l == a.l) return r < a.r; return l < a.l; } }interval[MAX]; int intervals; inline double Cross(const Point &p1,const Line &b) { Point u = a.p - b.p; double temp = Cross(b.v,b.v); return a.p + a.v * temp; } inline void Sort(double &y1,double &y3) { double arr[] = {y1,y3}; sort(arr,y2 = arr[1],b,p2,s,d; void MakeTriangle(const Point &p,const Point &__p) { p1 = p,p3 = __p; _a = line[++lines] = Line(p1,p3 - p2); c = line[++lines] = Line(p3,max(p2.y,min(p2.y,min(p2.x,max(p2.x,d,0),1)); Point pa = GetIntersection(l,pb = GetIntersection(l,pc = GetIntersection(l,x2 = p2.x,x2,x1,x3,x1,pc.y); else if((INRANGE(x1,x) || INRANGE(x2,x)) && (INRANGE(x2,x) || INRANGE(x3,x))) interval[++intervals] = Interval(pa.y,pc.y); } }triangle[MAX]; int cnt; int main() { cin >> cnt; for(int i = 1; i <= cnt; ++i) { a.Read(); b.Read(); c.Read(); triangle[i].MakeTriangle(a,c); } for(int i = 1; i <= lines; ++i) for(int j = 1; j <= lines; ++j) if(!DCMP(Cross(line[i].v,line[j]); sort(point + 1,x = (point[i].x + last_x) / 2; intervals = 0; for(int j = 1; j <= cnt; ++j) triangle[j].GetInterval(x); sort(interval + 1,r = interval[j].r; int k; for(k = j + 1; k <= intervals; ++k) { if(interval[k].l <= r) r = max(r,interval[k].r); else break; } now += r - l; j = k - 1; } area += now * (point[i].x - last_x); last_x = point[i].x; } cout << fixed << setprecision(2) << area - EPS << endl; return 0; }

点击次数:4333
作者:
web前端行业资讯
Web new NewsList
Postgres10开发者新特性 ,,2017年12月28日阿里巴巴、狗尾草、苏大联合论文:基于对抗学习的众包标注用于中文命名实体识别 ,,2017年12月28日柯洁的2017:20岁,与AI斗与人类斗,其乐无穷 ,,2017年12月28日如果机器人拥有痛觉,这个世界会有哪些不一样? ,,2017年12月28日苹果经典电脑Lisa源代码修复完成将于2018年开源 ,,2017年12月28日腾讯浏览指数发布年终榜单2017年人们都关注哪些AI话题? ,,2017年12月28日除了发现开普勒90,NASA还靠AI做了什么? ,,2017年12月28日柯洁宣布:明年4月,将再次与围棋AI交锋 ,,2017年12月28日百度无人车美国首秀CES将发布Apollo2.0 ,,2017年12月28日这四种技术发展趋势将在2018年改变世界 ,,2017年12月28日2017:谷歌DeepMind团队的年度回顾 ,,2017年12月28日封杀这个公式,AI智商将为零 ,,2017年12月28日微软AI高管:要让所有人、所有机构都用上人工智能 ,,2017年12月28日为什么Linux桌面年一直未到来 ,,2017年12月28日AppleLisa操作系统将开源 ,,2017年12月28日2018年9大技术趋势预测 ,,2017年12月28日谷歌研究院发布NIMA:能评价图像有多美,还能让图像变得更美 ,,2017年12月28日苹果为2019年iPhone开发大容量电池新技术 ,,2017年12月28日谷歌发布Tacotron2:能更简单地训练AI学习演讲 ,,2017年12月21日TensorFlow漏洞爆发背后:关于AI安全我们的傻与天真 ,,2017年12月21日Android端Edge浏览器新版发布:常规性能优化和BUG修复 ,,2017年12月21日三星开发出全球最小的DRAM芯片技术领先优势扩大 ,,2017年12月21日腾讯绝艺AI下一步将学习AlphaGozero自对弈训练 ,,2017年12月21日Facebook社交VR应用Spaces扩大覆盖面:入驻HTCVive ,,2017年12月21日设计图曝光:三星双屏折叠手机原来是这样的 ,,2017年12月21日微信支付和支付宝已成为世界移动支付的"老师" ,,2017年12月21日新专利表明FaceID未来有望装备在iPad、MacBook和iMac等设备 ,,2017年12月21日首批九个建议加入EE4J的项目 ,,2017年12月21日这就是SurfacePhone?微软可折叠手机概念图曝光 ,,2017年12月21日继“Angel”开源后,腾讯又开放TDinsight机器学习平台 ,,2017年12月21日删除微信粉丝分组{"errcode":-1,"errmsg":"systemerror"},怎么解决? 【编程语言】2015年07月01日【Lua】Lua调用CC++函数库(动态链接方式)【编程语言】2015年03月16日JavaScript中创建类对象的几种方法总结2014年01月29日干货分享,图片模糊算法,解析xml绘制图片 【数据库】2015年05月05日hdu_1069_MonkeyandBananahdu_1078_FatMouseandCheesepoj_1836_Alignment 【编程语言】2014年11月04日一个不错的渐隐文字效果2014年01月29日Android开发经典书籍下载——《Android4高级编程》《疯狂Android讲义》《Android应用开发详解(郭宏志)》《Android应用案例开发大全》《Android3D游戏开发技术》 【研发管理】2014年11月06日力所能及之hibernate备忘录 【移动开发】2015年05月27日pthread_exit()inmain() 【编程语言】2014年11月24日简易JavaBean转JSON 【综合】2015年07月01日通过C语言给女朋友写情书 【综合】2015年05月27日Java集合之Stack源码分析 【编程语言】2015年07月30日从服务端加载图片(Volley框架+Gson框架+PullToRefresh框架)【编程语言】2015年03月09日浅谈autolayout 【编程语言】2015年05月19日POJ2187BeautyContest旋转卡壳 【移动开发】2015年01月24日计算机系统知识--内存【编程语言】2015年06月01日恭贺自己itpub和csdn双双获得专家博客称号【架构设计】2015年06月17日递归与分治策略(一)---算法设计与分析 【系统运维】2015年03月03日为什么不能用memcached存储Session 【架构设计】2015年05月12日求10000以内质数(以前都是直接打表,现在问到怎么求,瞬间词穷了,还是应该搞懂) 【编程语言】2015年07月06日Leetcode26RemoveDuplicatesfromSortedArray【编程语言】2015年05月25日2012IT热门人才需求类型盘点 ,,2016年06月23日eclipseforpython2014年01月29日oracle获取某时间段内的年份、月份、日期列表 【编程语言】2015年06月05日解读Android之Service(3)AIDL 【综合】2015年07月20日ISAPIRewriteiis伪静态组件最新教程2014年01月29日XHTML1.0:标记新的开端2014年01月29日设计模式之二十一:中介者模式(Mediator)【编程语言】2015年06月30日SQLSERVER服务启动失败 【综合】2014年11月04日【leetcode】StringtoInteger(atoi)2014年11月04日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)