poj 1066 Treasure Hunt (未完)】的更多相关文章

1066 -- Treasure Hunt 题意是,在一个金字塔中有一个宝藏,金字塔里面有很多的墙,要穿过墙壁才能进入到宝藏所在的地方.可是因为某些原因,只能在两个墙壁的交点连线的中点穿过墙壁.问最少要穿过多少墙壁才能得到宝藏. 比较容易想到的一个办法就是直接用中点构图,然后判断点与点之间是否能够直接相连,最后bfs得到最小距离. 我的代码也是这样做,结果相当险的900+ms通过. 代码如下: #include <cstdio> #include <cstring> #includ…
Treasure Hunt Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4797   Accepted: 1998 Description Archeologists from the Antiquities and Curios Museum (ACM) have flown to Egypt to examine the great pyramid of Key-Ops. Using state-of-the-ar…
Treasure Hunt 大意:在一个矩形区域内.有n条线段,线段的端点是在矩形边上的,有一个特殊点,问从这个点到矩形边的最少经过的线段条数最少的书目,穿越仅仅能在中点穿越. 思路:须要巧妙的转换一下这个问题,由于从一个点到终点不可能"绕过"围墙.仅仅能穿过去,所以门是否开在中点是无所谓的,仅仅要求四周线段中点到终点的线段与墙的最少交点个数就可以.更进一步,实际上,仅仅需推断四周围墙的全部点与终点的连线与内墙的最少交点加一就可以. struct Point{ double x, y;…
#include<stdio.h> #include<math.h> #include<stdlib.h> #define eps 1e-8 #define zero(x) (((x)>0 ? (x):(-x))<eps) #define INF 0x3f3f3f3f struct Point { double x,y; }tre,point[],tp; struct Line { Point a,b; }line[]; double xmult(Point…
题目链接:http://poj.org/problem?id=1066 Time Limit: 1000MS Memory Limit: 10000K Description Archeologists from the Antiquities and Curios Museum (ACM) have flown to Egypt to examine the great pyramid of Key-Ops. Using state-of-the-art technology they are…
http://poj.org/problem?id=1066 #include <cstdio> #include <cstring> #include <cmath> #include <cstdlib> #include <algorithm> #define maxn 500000 using namespace std; ; <<; int t1,t2,t3,t4,t5,c; int cmp(double x) { ; ) ;…
题目链接: http://poj.org/problem?id=1066 -------------------------------------------------------------------------------------------------------- 这题刚看后可能会去纠结如何建图后进行最短路 不过这样做不仅代码会复杂许多 还有可能出现些不好判断的部分 不过再多想一下我们可以发现如下性质 如果起点和终点位于某条障碍线段的两侧 那么这条线段有且仅有一次被穿过 所以只…
题意:给你一个100*100的正方形,再给你n条线(墙),保证线段一定在正方形内且端点在正方形边界(外墙),最后给你一个正方形内的点(保证不再墙上) 告诉你墙之间(包括外墙)围成了一些小房间,在小房间内可以从房间边界(墙)的中点走过这堵墙,问你从给定的点走到外墙外最少走过的墙数 题解:注意我们可以从每个房间的墙的中点走出,而不是一整条线段(墙)的中点走出.... 然后我们可以找四周的边界中的每个点与给定点的连线,再与给定的线段找相交最少的交点数就是答案 但是边界每个点是无穷多个,因此我们可以这样…
思路:枚举四边墙的门的中点,与终点连成一条线段,判断与其相交的线段的个数.最小的加一即为答案. 我是傻逼,一个数组越界调了两个小时. #include<stdio.h> #include<string.h> #include<math.h> #include<iostream> using namespace std; ; ; int sgn(double x){ ; ) ; ; } struct point{ double x,y; point(){} p…
题意: 正方形的房子,给一些墙,墙在区域内是封闭的,给你人的坐标,每穿过一道墙需要一把钥匙,问走出正方形需要多少把钥匙. 解法: 因为墙是封闭的,所以绕路也不会减少通过的墙的个数,还不如不绕路走直线,所以枚举角度,得出直线,求出与正方形内的所有墙交点最少的值,最后加1(正方形边界). 代码: #include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> #include…
题目传送门 题意:从四面任意点出发,有若干障碍门,问最少要轰掉几扇门才能到达终点 分析:枚举入口点,也就是线段的两个端点,然后选取与其他线段相交点数最少的 + 1就是答案.特判一下n == 0的时候 /************************************************ * Author :Running_Time * Created Time :2015/10/26 星期一 16:30:26 * File Name :POJ_1066.cpp ***********…
题意:给出一个100*100的正方形区域,通过若干连接区域边界的线段将正方形区域分割为多个不规则多边形小区域,然后给出宝藏位置,要求从区域外部开辟到宝藏所在位置的一条路径,使得开辟路径所需要打通的墙壁数最少("打通一堵墙"即在墙壁所在线段中间位置开一空间以连通外界),输出应打通墙壁的个数(包括边界上墙壁).题解:枚举每一个入口,在所有的情况中取穿墙数最少的输出即可,枚举每一个入口的时候,并不用枚举每条边的中间点,直接枚举该线段的两个顶点就行(因为要经过一个墙,那么从线段的任意地方进去都…
原题 在金字塔内有一个宝藏p(x,y),现在要取出这个宝藏. 在金字塔内有许多墙,为了进入宝藏所在的房间必须把墙炸开,但是炸墙只能炸每个房间墙的中点. 求将宝藏运出城堡所需要的最小炸墙数. 判断点和直线相交. 枚举每道墙的两个端点和p的连线这条线段和墙的交点的次数最小值即为需要炸墙的最小次数. [注意当墙数为零时输出1:] #include<cstdio> #include<algorithm> #define N 33 using namespace std; int ans=0…
题目链接 题目描述 一个正方形房间被分成若干个小室,宝藏在其中某一点.现可炸开任意一堵墙壁的中点位置.问至少要炸开多少堵墙才能从外面到达宝藏所在地. 思路 (很巧妙,没想到) 直接枚举墙壁与正方形外壁的交点,与宝藏所在地连线,看连线与多少堵墙相交,即需要炸开的墙壁数目. 为什么呢?因为每堵墙的两个端点都在正方形外壁上,所以宝藏与目的地的连线所经过的墙都是无法绕过去的,必须得炸开. 注意特判没有墙的情况. Code #include <cstdio> #include <cmath>…
链接:http://poj.org/problem?id=1066 Treasure Hunt Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 5431   Accepted: 2246 Description Archeologists from the Antiquities and Curios Museum (ACM) have flown to Egypt to examine the great pyramid…
1. code.cpp:1:21: fatal error: iostream : No such file or directory #include< iostream > ^ compilation terminated. 这个情况可能是在代码中写成这样 #include< iostream > 就是在头文件括号里面加了空格,在UVA上这么写出现以上错误.在POJ上测试了下,没出现错误,不过还是规范写-------不要随便加空格为好. 2.未完待续…
题目链接: Poj 2594 Treasure Exploration 题目描述: 在外星上有n个点需要机器人去探险,有m条单向路径.问至少需要几个机器人才能遍历完所有的点,一个点可以被多个机器人经过. 解题思路: 一眼看上去是普通的最小边覆盖,但是仔细想后发现如果在原图上进行最大匹配的话,每个点只能经过一次.这样的话对于本题求出的并不是最优解,所以我们要先对原图进行传递闭包处理,然后再进行最大匹配. 这个题目点数太少H_K和匈牙利算法在空间和时间上并没有什么差,就代码复杂度而言匈牙利算法更有优…
1)javascript让页面标题滚动效果 代码如下: <title>您好,欢迎访问我的博客</title> <script type="text/javascript"> function scroll() { //获取title信息. var titleInfo = document.title; //获取title第一个字符(数字.字母). //注释:字符串中第一个字符的下标是 0.如果参数 index 不在 0 与 string.length…
ASP.NET MVC 系列随笔汇总[未完待续……] 为了方便大家浏览所以整理一下,有的系列篇幅中不是很全面以后会慢慢的补全的. 学前篇之: ASP.NET MVC学前篇之扩展方法.链式编程 ASP.NET MVC学前篇之Lambda表达式.依赖倒置 ASP.NET MVC学前篇之Ninject的初步了解 ASP.NET MVC学前篇之请求流程 路由篇: ASP.NET MVC路由(一) ASP.NET MVC路由(二) ASP.NET MVC路由(三) ASP.NET MVC Module A…
DOM 实例1:购物车实例(数量,小计和总计的变化) 这里主要是如何获取页面元素的节点: document.getElementById("...") cocument.querySelector("选择器"); 通过所需的元素节点,得到我们想要的数据做运算. 实例2:伸缩二级菜单 这里主要是逻辑判断,不同的逻辑给不同的className来控制样式. 需求是:一级菜单可以都关闭,但最多只有一个能打开.(思路是,每次都将所有的一级菜单关闭,然后仅打开当前点击的元素,并…
我的SQL总结---未完待续 版权声明:本文为博主原创文章,未经博主允许不得转载. 总结: 主要的SQL 语句: 数据操作(select, insert, delete, update) 访问控制(grant, revoke) 事务控制(commit, rollback, set transaction) 数据定义(create table, drop table, alter table, create view, drop view, create index, drop index, cr…
virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续) 第一次接触到 linux,不知道linux的确很强大,然后用virtualbox装了服务器,在命令行的东西实在是太多了,感觉还是记录在自己的博客里面感觉踏实点,同时也为广大的朋友提供意见和参考.感觉搭建整个服务器真的很难,首先要安装ubuntu,64位.这个比较简单,首先你要有个ubuntu的Ubuntu12.04.1 的ISO.http://download.chinauni…
     希望你看了此小随 可以实现自己的MVC框架     也祝所有的程序员身体健康一切安好                                                                                                                                                 1.什么是前端控制器(font controller).Java Web中的前端控制器是应用的门面,简单的说所有的请…
一篇文章让Oracle DB学会MySql[未完待续] 随笔前言: 本篇文章是针对已经能够熟练使用Oracle数据库的DB所写的快速学会MySql,为什么敢这么说,是因为本人认为Oracle在功能性方面和难度方面都比MySql要高一些,所以精通Oracle的DB在学习MySql的时候,没有必要从头到尾再去搞一遍,只需要掌握两者的用法区别即可.故本篇文章就针对Oracle和MySql的区别来把MySql的知识掌握住,在文章中,实例都是MySql环境下的实例,而Oracle可能知识一句话来概括,所以…
[教程] [承風雅傳HSU]用ES4封裝Win7---ES4 Win7封裝教程(未完待續) a10036it 发表于 2015-7-27 21:11:19 https://www.itsk.com/thread-354562-1-6.html [教程] [承風雅傳HSU]用ES4封裝Win7---ES4 Win7封裝教程(未完待續) 承風雅傳~~Windows7 封裝教學 以前重灌OS是一件有難度的事情,儘管現在已經簡化許多,但仍需掌握一些技術,所以今天要來教大家如何做<快速重灌>的Win 7…
uname -a Linux symons_laptop 4.8.2-1-ARCH #1 SMP PREEMPT Mon Oct 17 08:11:46 CEST 2016 x86_64 GNU/Linux 上面是我的机器 1. 下载go sudo pacman -S go //如果你在其他的发行版的话,请使用其他方式,这一步都差不多 2. 检查go版本 go version go version go1.7.3 linux/amd64 3. 安装vim插件, vim-go 我是使用bundle…
爬代理ip 所有的代码都放到了我的github上面, HTTP代理常识 HTTP代理按匿名度可分为透明代理.匿名代理和高度匿名代理. 特别感谢:勤奋的小孩 在评论中指出我文章中的错误. REMOTE_ADDR HTTP_VIA HTTP_X_FORWARDED_FOR 你写的这三个,第一个是网络层的信息,不属于HTTP的头部,后两个在HTTP头部的名称也是不含"HTTP_"的 wiki中关于代理的解释也出现了这个错误: 因为我挂的代理,无法修改wiki上的这个错误,希望可以修改的同学可…
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: pointer; position: absolute…
Treasure Hunt IV Time Limit: 2 Seconds      Memory Limit: 65536 KB Alice is exploring the wonderland, suddenly she fell into a hole, when she woke up, she found there are b - a + 1 treasures labled a from b in front of her.Alice was very excited but…
// 线段相交 poj 1066 // 思路:直接枚举每个端点和终点连成线段,判断和剩下的线段相交个数 // #include <bits/stdc++.h> #include <iostream> #include <cstdio> #include <cstdlib> #include <algorithm> #include <vector> #include <math.h> using namespace std…