题意

哗啦啦村袭击了喵哈哈村!
度度熊为了拯救喵哈哈村,带着自己的伙伴去救援喵哈哈村去了!度度熊与伙伴们很快的就过来占据了喵哈哈村的各个军事要地,牢牢的守住了喵哈哈村。
但是度度熊发现,这是一场旷日持久的战斗,所以度度熊决定要以逸待劳,保存尽量多的体力,去迎战哗啦啦村的战士。
于是度度熊决定派尽量多的人去休息,但是同时也不能松懈对喵哈哈村的保护。
换句话而言,度度熊希望尽量多的人休息,而且存在一个包围圈由剩下的人组成,且能够恰好的包围住喵哈哈村的所有住房(包括边界)。
请问最多能让多少个人休息呢?

题解

当时看这个题的时候,完全不会做-w-
于是今天重新看了一次
发现我会做啦!!这好像没什么好骄傲啊吧
我们认为地规定一个方向,就是让点都在有向线段的左边
然后找最小环就可以了
CODE:

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int MAX=1<<28;
const int N=505;
int n,m;
int f[N][N];
struct qq
{int x,y;
}a[N],b[N];
int mul (qq x,qq y,qq z)
{int x1=x.x-z.x,y1=x.y-z.y;int x2=y.x-z.x,y2=y.y-z.y;return x1*y2-x2*y1;
}
int main()
{while (scanf("%d",&n)!=EOF){for (int u=1;u<=n;u++)  scanf("%d%d",&a[u].x,&a[u].y);scanf("%d",&m);for (int u=1;u<=m;u++)  scanf("%d%d",&b[u].x,&b[u].y);for (int u=1;u<=m;u++)for (int i=1;i<=m;i++){if (u==i) {f[u][i]=MAX;continue;}int cnt=0,cnt1=0;for (int j=1;j<=n;j++){if (mul(a[j],b[u],b[i])>0) cnt++;if (mul(a[j],b[u],b[i])<0) cnt1++;if (cnt!=0) break;}if (cnt==0) f[u][i]=1;else f[u][i]=MAX;}/*for (int u=1;u<=m;u++){for (int i=1;i<=m;i++)printf("%d ",f[u][i]);printf("\n");}*/for (int u=1;u<=m;u++)for (int i=1;i<=m;i++){if (f[i][u]==MAX) continue;for (int j=1;j<=m;j++)f[i][j]=min(f[i][j],f[i][u]+f[u][j]);}/*for (int u=1;u<=m;u++){for (int i=1;i<=m;i++)printf("%d ",f[u][i]);printf("\n");}*/int ans=MAX;for (int u=1;u<=m;u++)ans=min(ans,f[u][u]);if (ans==MAX) printf("ToT\n");else printf("%d\n",m-ans);}return 0;
}

hdu 6080 度度熊保护村庄相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

  7. 【hdu 6082 度度熊与邪恶大魔王 】 完全背包

    hdu 6082 这道题一拿过来 对一个熊直接跑完全背包 然后跑 100000 次 完美TLE 其实因为对一个熊跑的时候 下次熊还是会跑的 于是需要对所有的熊直接完全背包预处理 设 dp[i][j] ...

  8. HDU - 6082——度度熊与邪恶大魔王 (背包+DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6082 思路:dp[i][j]代表打死血量为i,防御力为j的怪兽要用的最少晶石.用背包的方式dp. #i ...

  9. HDU - 6118 度度熊的交易计划(最大费用可行流)

    题目链接:点击查看 题目大意:给出一张 n 个点 m 条边的有向图,每个点可以生产至多 b[ i ] 个物品,每个物品花费为 a[ i ] ,可以出售至多 d[ i ] 个物品,每个物品售价为 c[ ...

最新文章

  1. 相关性检验_相关系数
  2. 【camera-radar】基于ROS的多传感器融合感知系统实现(雷达+相机)(3)
  3. linux下命令行安装anaconda3+pytorch+fastai
  4. sklearn自学指南(part38)--OPTICS
  5. android平板交互,安卓平板就应该如此,华为MatePad Pro 交互体验
  6. oracle vm 环境支持,使用 Oracle VM 模板快速部署 Oracle RAC 环境
  7. LeetCode 590. N叉树的后序遍历(后序遍历)
  8. 33营销是引导至转化的过程
  9. 时间戳timestamp
  10. 数据科学与计算机学院张治国,张治国(河海大学机电工程学院副教授)_百度百科...
  11. 如何自己写xuetr(一) 每次改变的驱动名和服务名
  12. 数据库实验6 数据库的分组查询和统计查询
  13. matlab寻找直线_matlab寻找直线_Matlab 霍夫变换 ( Hough Transform) 直线检测
  14. 阿里云maven仓库地址
  15. java设置excel自动调整行高_Java设置Excel自适应行高、列宽
  16. 虚拟机配置--网络、MySQL数据库、JDK环境变量
  17. iOS开发 NSPredicate的使用方法
  18. 沸点大前端组正式成员面试小问题
  19. 京浜光电IPO被终止:曾拟募资7.1亿 实控人已改为日本籍
  20. L1-040 最佳情侣身高差 - java

热门文章

  1. android-图书购买APP
  2. 快速入门template.js
  3. CEVA-X16自由式编程-4-JTAG探索
  4. ZWAVE Door Lock Configuration Set
  5. 2023年海外优青项目申报指南及政策解读
  6. 2021年PMP退考的流程是怎样的?
  7. dubbo分布式日志调用链追踪
  8. NS2中的WirelessPhyExt工作机制研究
  9. 关于使用tiledMap加载不出资源问题
  10. Python什么都能做(一)用 Python 做一个扫码工具