点在向量同侧的话就把向量的两个点连一条路,最后跑一次floyd求到自己的最小环

不知道为什么500^3跑得飞快

#include<bits/stdc++.h>
#include<stdio.h>
#include<algorithm>
#include<queue>
#include<string.h>
#include<iostream>
#include<math.h>
#include<set>
#include<map>
#include<vector>
#include<iomanip>
using namespace std;
#define ll long long
#define pb push_back
#define FOR(a) for(int i=1;i<=a;i++)
const int inf=0x3f3f3f3f;
const int maxn=1e6+9;
const int mod=1e9+7;struct Point{int x,y;Point operator -(const Point &b)const{Point c;c.x=x-b.x;c.y=y-b.y;return c;}double operator *(const Point &b)const{return x*b.y-y*b.x;}
};Point h[505],s[505];
int n,m,ans,G[505][505];
inline bool judge(Point x,Point y,Point z){if((x.x<z.x&&y.x<z.x)||(x.y<z.y&&y.y<z.y)||(x.x>z.x&&y.x>z.x)||(x.y>z.y&&y.y>z.y))return 1;return 0;
}int main(){while(~scanf("%d",&n)){memset(G,0x3f,sizeof G);for(int i=1;i<=n;i++)scanf("%d%d",&h[i].x,&h[i].y);scanf("%d",&m);FOR(m)scanf("%d%d",&s[i].x,&s[i].y);int flag;FOR(m){for(int j=1;j<=m;j++){flag=1;for(int k=1;k<=n;k++){if((s[i]-s[j])*(s[i]-h[k])<0||(s[i]-s[j])*(s[i]-h[k])==0&&judge(s[i],s[j],h[k])){//右侧或延长线上flag=0;break;}}if(flag){G[i][j]=1;}}}ans=inf;for(int k=1;k<=m;k++){for(int i=1;i<=m;i++){if(G[i][k]==inf)continue;for(int j=1;j<=m;j++)G[i][j]=min(G[i][j],G[i][k]+G[k][j]);}}for(int i=1;i<=m;i++)ans=min(ans,G[i][i]);if(ans>m)printf("ToT\n");else printf("%d\n",m-ans);}
}

转载于:https://www.cnblogs.com/Drenight/p/8611286.html

度度熊保护村庄 HDU - 6080 floyd最小环/叉积判左右相关推荐

  1. 2017百度之星资格赛:1001. 度度熊保护村庄(floyd最小环)

    度度熊保护村庄  Accepts: 26  Submissions: 677  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 32768/ ...

  2. hdu 6080 度度熊保护村庄

    题意 哗啦啦村袭击了喵哈哈村! 度度熊为了拯救喵哈哈村,带着自己的伙伴去救援喵哈哈村去了!度度熊与伙伴们很快的就过来占据了喵哈哈村的各个军事要地,牢牢的守住了喵哈哈村. 但是度度熊发现,这是一场旷日持 ...

  3. 2020 年百度之星·程序设计大赛 - 测试赛1001 度度熊保护村庄

    Problem Description 哗啦啦村袭击了喵哈哈村! 度度熊为了拯救喵哈哈村,带着自己的伙伴去救援喵哈哈村去了!度度熊与伙伴们很快的就过来占据了喵哈哈村的各个军事要地,牢牢的守住了喵哈哈村 ...

  4. 【HDU - 6118】度度熊的交易计划(最小费用可行流,网络流费用流变形 )

    题干: 度度熊参与了喵哈哈村的商业大会,但是这次商业大会遇到了一个难题: 喵哈哈村以及周围的村庄可以看做是一共由n个片区,m条公路组成的地区. 由于生产能力的区别,第i个片区能够花费a[i]元生产1个 ...

  5. HDU 6082 度度熊与邪恶大魔王 (完全背包)

    度度熊与邪恶大魔王                                                                 Time Limit: 2000/1000 MS ( ...

  6. HDU - 6082 度度熊与邪恶大魔王(背包变式)

    度度熊与邪恶大魔王 度度熊为了拯救可爱的公主,于是与邪恶大魔王战斗起来. 邪恶大魔王的麾下有n个怪兽,每个怪兽有a[i]的生命值,以及b[i]的防御力. 度度熊一共拥有m种攻击方式,第i种攻击方式,需 ...

  7. 【HDU - 6081】度度熊的王国战略(SW算法,全局最小割)

    题干: Problem Description 度度熊国王率领着喵哈哈族的勇士,准备进攻哗啦啦族. 哗啦啦族是一个强悍的民族,里面有充满智慧的谋士,拥有无穷力量的战士. 所以这一场战争,将会十分艰难. ...

  8. 【HDU - 6119】小小粉丝度度熊 (区间合并,尺取,思维)

    题干: 度度熊喜欢着喵哈哈村的大明星--星星小姐. 为什么度度熊会喜欢星星小姐呢? 首先星星小姐笑起来非常动人,其次星星小姐唱歌也非常好听. 但这都不是最重要的,最重要的是,星星小姐拍的一手好代码! ...

  9. HDU 6113 度度熊的01世界【DFS/Flood Fill】

    度度熊的01世界 Accepts: 967 Submissions: 3064  Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/ ...

  10. HDU 6082 度度熊与邪恶大魔王(01背包)

    Description 度度熊为了拯救可爱的公主,于是与邪恶大魔王战斗起来. 邪恶大魔王的麾下有n个怪兽,每个怪兽有a[i]的生命值,以及b[i]的防御力. 度度熊一共拥有m种攻击方式,第i种攻击方式 ...

最新文章

  1. c++builder Delphi 直接使用剪贴板 Clipboard
  2. java登录注册原理_案例:登录注册实现
  3. linux中probe函数传递参数的寻找(下)
  4. js md5加密脚本
  5. 第1章 计算机基础知识习题答案,职称计算机基础知识习题第一章
  6. base64编解码的类
  7. 附件 广东省教育系统火灾风险点指南(试行)
  8. java pgp 加密_加密软件PGP的使用
  9. emWin BATTON控件透明化
  10. RobotStudio 创建第一个工作站
  11. 2021年CCPC网络预选赛重赛补题
  12. 四面阿里失败,因得到P8指点痛心修炼3个月,收到字节35*14offer(Java岗)
  13. N沟道的Vgs是正的,P沟道的Vgs是负的
  14. 方法finalize()的应用
  15. 八种消除沟通上的不良习惯地的方法
  16. mysql 加上天数_MySQL Datetime添加天数?
  17. WPS表格VLOOKUP函数的基本用法
  18. Java 异常(Exceptions)
  19. 戴口罩的这一年,AI产业如何“重启、重塑、重构”?
  20. 思博伦OpenFlow性能测试白皮书(上)

热门文章

  1. 查看计算机内存条型号,查看本机内存条型号_查看电脑内存条型号
  2. angular写的移动端模板《二》
  3. 无人机——电池、电机、螺旋桨搭配
  4. JavaScript基础学习总结(一) 适合小白
  5. 关于ARP请求报文和ARP报文的源地址和目的地址
  6. SAS 金融函数 PMT IRR
  7. CSS 内联样式 外联样式 嵌套样式
  8. 提高免疫力吃什么 多吃奶制品
  9. python 马赛克拼图_用几十万张图片来拼图!Open CV牛逼不是没有道理的!马赛克拼图...
  10. JavaWeb~Servlet~深入理解Cookie