hdu 6080 度度熊保护村庄
题意
哗啦啦村袭击了喵哈哈村!
度度熊为了拯救喵哈哈村,带着自己的伙伴去救援喵哈哈村去了!度度熊与伙伴们很快的就过来占据了喵哈哈村的各个军事要地,牢牢的守住了喵哈哈村。
但是度度熊发现,这是一场旷日持久的战斗,所以度度熊决定要以逸待劳,保存尽量多的体力,去迎战哗啦啦村的战士。
于是度度熊决定派尽量多的人去休息,但是同时也不能松懈对喵哈哈村的保护。
换句话而言,度度熊希望尽量多的人休息,而且存在一个包围圈由剩下的人组成,且能够恰好的包围住喵哈哈村的所有住房(包括边界)。
请问最多能让多少个人休息呢?
题解
当时看这个题的时候,完全不会做-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 度度熊保护村庄相关推荐
- 2017百度之星资格赛:1001. 度度熊保护村庄(floyd最小环)
度度熊保护村庄 Accepts: 26 Submissions: 677 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/ ...
- 2020 年百度之星·程序设计大赛 - 测试赛1001 度度熊保护村庄
Problem Description 哗啦啦村袭击了喵哈哈村! 度度熊为了拯救喵哈哈村,带着自己的伙伴去救援喵哈哈村去了!度度熊与伙伴们很快的就过来占据了喵哈哈村的各个军事要地,牢牢的守住了喵哈哈村 ...
- HDU 6082 度度熊与邪恶大魔王 (完全背包)
度度熊与邪恶大魔王 Time Limit: 2000/1000 MS ( ...
- HDU - 6082 度度熊与邪恶大魔王(背包变式)
度度熊与邪恶大魔王 度度熊为了拯救可爱的公主,于是与邪恶大魔王战斗起来. 邪恶大魔王的麾下有n个怪兽,每个怪兽有a[i]的生命值,以及b[i]的防御力. 度度熊一共拥有m种攻击方式,第i种攻击方式,需 ...
- HDU 6113 度度熊的01世界【DFS/Flood Fill】
度度熊的01世界 Accepts: 967 Submissions: 3064 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/ ...
- HDU 6082 度度熊与邪恶大魔王(01背包)
Description 度度熊为了拯救可爱的公主,于是与邪恶大魔王战斗起来. 邪恶大魔王的麾下有n个怪兽,每个怪兽有a[i]的生命值,以及b[i]的防御力. 度度熊一共拥有m种攻击方式,第i种攻击方式 ...
- 【hdu 6082 度度熊与邪恶大魔王 】 完全背包
hdu 6082 这道题一拿过来 对一个熊直接跑完全背包 然后跑 100000 次 完美TLE 其实因为对一个熊跑的时候 下次熊还是会跑的 于是需要对所有的熊直接完全背包预处理 设 dp[i][j] ...
- HDU - 6082——度度熊与邪恶大魔王 (背包+DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6082 思路:dp[i][j]代表打死血量为i,防御力为j的怪兽要用的最少晶石.用背包的方式dp. #i ...
- HDU - 6118 度度熊的交易计划(最大费用可行流)
题目链接:点击查看 题目大意:给出一张 n 个点 m 条边的有向图,每个点可以生产至多 b[ i ] 个物品,每个物品花费为 a[ i ] ,可以出售至多 d[ i ] 个物品,每个物品售价为 c[ ...
最新文章
- 相关性检验_相关系数
- 【camera-radar】基于ROS的多传感器融合感知系统实现(雷达+相机)(3)
- linux下命令行安装anaconda3+pytorch+fastai
- sklearn自学指南(part38)--OPTICS
- android平板交互,安卓平板就应该如此,华为MatePad Pro 交互体验
- oracle vm 环境支持,使用 Oracle VM 模板快速部署 Oracle RAC 环境
- LeetCode 590. N叉树的后序遍历(后序遍历)
- 33营销是引导至转化的过程
- 时间戳timestamp
- 数据科学与计算机学院张治国,张治国(河海大学机电工程学院副教授)_百度百科...
- 如何自己写xuetr(一) 每次改变的驱动名和服务名
- 数据库实验6 数据库的分组查询和统计查询
- matlab寻找直线_matlab寻找直线_Matlab 霍夫变换 ( Hough Transform) 直线检测
- 阿里云maven仓库地址
- java设置excel自动调整行高_Java设置Excel自适应行高、列宽
- 虚拟机配置--网络、MySQL数据库、JDK环境变量
- iOS开发 NSPredicate的使用方法
- 沸点大前端组正式成员面试小问题
- 京浜光电IPO被终止:曾拟募资7.1亿 实控人已改为日本籍
- L1-040 最佳情侣身高差 - java