HDU1255(KB7-O)】的更多相关文章

hdu1255 求覆盖至少两次的面积,和直接求覆盖面积比,就是保证cover>1就可以了. 没有进行lazy操作,因为每一次更新伴随着询问,感觉没有必要.982MS水过. #include <bits/stdc++.h> #define clr(x,c) memset(x,c,sizeof(x)) using namespace std; const int N = 20005; struct ScanLine { double x; double upY, downY; int fla…
覆盖的面积 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 30 Accepted Submission(s): 23   Problem Description 给定平面上若干矩形,求出被这些矩形覆盖过至少两次的区域的面积.   Input 输入数据的第一行是一个正整数T(1<=T<=100),代表测试数据的数量.每个测试数据的第一行是…
题目链接:https://vjudge.net/problem/HDU-1255 给定平面上若干矩形,求出被这些矩形覆盖过至少两次的区域的面积. Input输入数据的第一行是一个正整数T(1<=T<=100),代表测试数据的数量.每个测试数据的第一行是一个正整数N(1<=N<=1000),代表矩形的数量,然后是N行数据,每一行包含四个浮点数,代表平面上的一个矩形的左上角坐标和右下角坐标,矩形的上下边和X轴平行,左右边和Y轴平行.坐标的范围从0到100000. 注意:本题的输入数据较…
/* 不是叶子节点 ,且cnt=1.注意这里,cnt=1确切的意义是什么, 应该是,可以确定,这个区间被完全覆盖了1次, 而有没有被完全覆盖两次或以上则不知道无法确定,那么怎么怎么办了, 只要加上t[lch].s + t[rch].s 即,看看左右孩子区间被覆盖了一次或以上的长度, 那么叠加在双亲上就是双亲被覆盖两次或以上的长度 */ #include<stdio.h> #include<string.h> #include<algorithm> using names…
题目大意:给若干个矩形,统计重叠次数不为0的面积. 题目分析:维护扫描线的长度时,只需要只统计覆盖次数大于1的区间即可.这是个区间更新,不过不能使用懒标记,但是数据规模不大,不用懒惰标记仍可以AC. 代码如下: # include<iostream> # include<cstdio> # include<map> # include<vector> # include<cstring> # include<algorithm> us…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1255 需要保存区间覆盖线>=2的线段的长度,根据情况来更新... //STATUS:C++_AC_250MS_476KB #include <functional> #include <algorithm> #include <iostream> //#include <ext/rope> #include <fstream> #include…
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1255 题意:求N个矩形中,求被覆盖至少俩次的面积和 分析:覆盖两次即col[rt]>=2就好.一开始将线段pushdown到叶子节点,根据col[rt]>=2才pushup上来,差点超时了,其实可以lazy标志,整段更新的,只是没想到而已. 用sum[rt][0]表示该节点rt代表的线段被覆盖一次的长度之和,则 if(col[rt])sum[rt][0]=pos[r+1]-pos[l];//整段被…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1255 求矩形面积的交的线段树题目,刚做了求并的题目,再做这个刚觉良好啊,只要再加一个表示覆盖次数大于1次的长度变量即可 代码: #include<iostream> #include<cstdlib> #include<cstdio> #include<cstring> #include<algorithm> using namespace std;…
覆盖的面积 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7779    Accepted Submission(s): 3923 Problem Description 给定平面上若干矩形,求出被这些矩形覆盖过至少两次的区域的面积.   Input 输入数据的第一行是一个正整数T(1<=T<=100),代表测试数据的数量.每个测试…
总体来说也是个模板题,但是要开两个线段树来保存被覆盖一次,两次的面积 #include<iostream> #include<cstring> #include<cstdio> using namespace std; #include<algorithm> #define maxn 10000 #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 struct seg{ double l…
题目链接:传送门 思路: (1)建立线段的信息,每个线段存储l到r的线段的x位置和y的起始点与终点. 建立线段树的节点信息,每个节点代表一个区间的信息,x表示区间的横坐标的位置,l,r表示纵坐标的范围,flag表示是否标记过,cover表示线段的覆盖次数. (2)先将y的位置按照从小到大排序,再将边按照x的先后位置排序,然后建树,这样可以依次求出那部分被覆盖了. (3)建树:如果不是叶子节点就标记为false,否则是true (4)插入新区域:如果先不断递归找到合适区域,再求出这个区域的面积,和…
矩形面积并 线段树-扫描线裸题 #include<stdio.h> #include<string.h> #include<algorithm> #include<math.h> using namespace std; ; ; struct seg{ double x,y1,y2; int c; bool operator < (const seg a)const{ return x<a.x; } }s[maxm]; double y[maxm…
覆盖的面积 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6453    Accepted Submission(s): 3283 Problem Description 给定平面上若干矩形,求出被这些矩形覆盖过至少两次的区域的面积.   Input 输入数据的第一行是一个正整数T(1<=T<=100),代表测试数据的数量.每个测试…
覆盖的面积 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5595    Accepted Submission(s): 2810 Problem Description 给定平面上若干矩形,求出被这些矩形覆盖过至少两次的区域的面积.   Input 输入数据的第一行是一个正整数T(1<=T<=100),代表测试数据的数量.每个测试…
题意大概就是上图这个样子.<=100组测试数据,每组<=1000个矩形. 题解: 这个问题怎么解决..做了上一题矩形面积并应该就会了.. 对于每个节点维护3个值: cnt:该节点所代表的这条线段被覆盖了多少次 len1:该节点所管理区间中被覆盖了>=1次的线段总长 len2:该节点所管理区间中被覆盖了>=2次的线段总长 为什么要维护两个呢?因为要是只维护len2,那子树中要是有个覆盖了一次的,然后该节点覆盖一次,那么怎么更新len2丫.. 怎么更新? void upd(int x)…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1255 面积交与面积并相似相比回了面积并,面积交一定会有思路,当然就是cover标记大于等于两次时. 但是操作起来发现与面积并有些不同.面积交要从面积并的状态转过来.当cover值为1的时候交 的长度可以为(p为当前节点len1为并的区间长度,len2为交的区间长度) T[p].len2=T[p<<1].len1+T[(p<<1)|1].len1.这样也能满足cover为2. 当cove…
题意:       给你n个矩形,然后问你这n个矩形所组成的画面中被覆盖至少两次的面积有多大. 思路:       和1542差距并不是很大,大体上还是离散化+线段树扫面线,不同的地方就是这个题目要求覆盖至少两次,那么假如l1:覆盖一次的区间长度,l2:覆盖至少两次的区间长度, l3:整个区间的长度,并且满足 l1 + l2 = l3,cnt为区间覆盖次数,那么在更新pushup的时候  (1)cnt >= 2 那么l2 = l3 ,l1 = 0  (2)cnt == 1 那么l2 = 左边l1…
一.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法暴露给其它程序,并且方法的命名也必须遵守一定的命名规范. javaBean范例: 1 package gacl.javabean.study; 2 3 /** 4 * @author gacl 5 * Person类就是一个最简单的JavaBean 6 */ 7 public class Perso…
一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然后按照servlet的调用方式进行调用. 由于JSP第一次访问时会翻译成servlet,所以第一次访问通常会比较慢,但第二次访问,JSP引擎如果发现JSP没有变化,就不再翻译,而是直接调用,所以程序的执行效率不会受到影响. JSP引擎在调用JSP对应的_jspServlet时,会传递或创建9…
                  MySQL是由MySQL AB公司开发,后由Oracle公司收购     MySQL是一个关系型数据库管理系统       分为社区版和企业版                MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言,  由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,搭配 PHP 和 Apache 可组成良好的开发环境                    安装方式:              安装方式MSI 安装和ZI…
1.前言 这是本系列的第四篇文章,上一篇我们讲到实现了客户端对客户端的抖屏与收发各种类型文件,本篇文章我们加入SQLServer数据库实现登录与好友的添加等功能,并对界面做了美化处理.向往常一样我会把聊天服务器部署到广域网服务器上,到时候大家就可以可以在源码里面打开客户端与我聊天啦!(这只是一个初级版功能简单不支持离线消息,所以聊天的前提是我在线(用户ID为19931221,就是我啦.)……),也可以自己打开两个客户端测试一下,程序的部署文档放在我的源码根目录下. 2.本篇实现功能 0. 数据库…
一般一个网页上面,或多或少都会用到一些小图标,展示这些小图标的方法有很多种.最简单的做法就是将UI图上面的每个小图标都保存为图片,一个小图标就一张图片.但这也是比较笨的方法,因为浏览器同一时间最多加载的资源是有限的,例如IE7是2个,IE8是6个,chrome是6个,火狐是8个.如果网页上面有很多张零碎的小图片,导致请求的次数太多,等待加载状态中的资源会很多,明显影响性能.因此,一个改进的办法是使用sprites图,将多张小图放在一张大图,然后限定展示区域的大小,同时改变图片的显示位置backg…
在学习网页"换肤"效果时:对background-position的理解更深了. 这是我使用的一整张图片:…
最近由于项目需要,简单研究了一下.NET WCF编程. 首先,简单说下WCF是什么,WCF 本质上,是一种开发框架.它用来开发类似COM+ .WEB SERVICE 这样“远程方法调用” 功能. 普通情况想,一个进程中,A模块调用B模块的方法. 有了COM+ .Webservice 这些,可以实现A进程 调用 B进程的方法. 更好的是,A,B可以不在同一个机器上.WCF就用来开发这样的“功能” WCF 比 COM+ WebService 灵活,(高效不知道,没有实际案例测试) 能在http\tc…
以前Log都是打印在一个文档中,然后打开文件夹,最后打开文档查看里面的内容,每次打开文件夹感觉很烦. 前些日子看到同事开发.NET的时候,用他自己的一个小工具能够时时查看到Log的内容,非常方便,所以就想移植到PHP开发中. 一.查看效果 1.打开客户端小工具mylog.exe,在地址中输入localhost,端口输入5555,点击开始链接,旁边屏幕会显示“开始监听”的字样.…
使用Java WebService API实现 1.服务端接口: package com.h3c.itac.webservice; import javax.jws.WebService; @WebService public interface IServer { public String sayHello(String name); } 2.服务端接口实现: package com.h3c.itac.webservice; import javax.jws.WebService; @Web…
一.什么是Bean Shell BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法; BeanShell是一种松散类型的脚本语言(这点和JS类似); BeanShell是用Java写成的,一个小型的.免费的.可以下载的.嵌入式的Java源代码解释器,具有对象脚本语言特性,非常精简的解释器jar文件大小为175k. BeanShell执行标准Java语句和表达式,另外包括一些脚本命令和语法. 二.Jmeter有哪些Bean Shell 定时器: BeanSh…
从零开始---控制台用c写俄罗斯方块游戏(1) 很少写博文,一来自身知识有限,二来自己知道,已经有很多这样的博文了,三就是因为懒,文笔也一般,四来刚出来工作,时间也不多 之所以写这篇博文,是因为应群里小伙伴学习c的激情,让他们跟我一样能使用c写出点东西出来,这样会非常有成就感,亦如当初的我 这篇博文适合的对象 1,学生或刚学完c,学会c语言基本语法,想要做出一点东西有成就感的,指针可以不知道,但至少要会用数组 2,因为这是我大一刚学c后写的,所以命名有些2,但里面有注释,代码也不是很长,所以不适…
1. CoreData数据库框架的优势 1> CoreData历史 CoreData数据持久化框架是Cocoa API 的一部分,首次在iOS5版本的系统中出现,它允许按照实体-属性-值模型组织数据,并以XML.二级制文件或者SQLite数据文件的格式持久化数据. CoreData主要提供对象 --- 关系映射(ORM)功能,把OC对象转化为数据保存到文件,也可以数据转化为OC对象. 2> CoreData数据库与Sqlite数据库的比较 Sqlite: 基于C接口,需要使用sql语句,但是代…
一.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法暴露给其它程序,并且方法的命名也必须遵守一定的命名规范. javaBean范例: 1 package gacl.javabean.study; 2 3 /** 4 * @author gacl 5 * Person类就是一个最简单的JavaBean 6 */ 7 public class Perso…