HDU - 6080 :度度熊保护村庄 (凸包,floyd最小环)(VJ1900题达成)
pro:二维平面上,给定N个村庄。M个士兵驻守,把村庄围住,现在我们想留下更多的士兵休息,使得剩下的士兵任然满足围住村庄。N,M<500;
sol:即是要找一个最小的环,环把村庄围住。 由于是环, 最小的点数等价于最小的边数。 所以我们求最小的边数,而士兵之间能有有向边,当且仅当所有的村庄在有向边的左边(逆时针连边)。 然后就是floyd最小环。
#include<bits/stdc++.h> #define ll long long #define rep(i,a,b) for(int i=a;i<=b;i++) using namespace std; ; const int inf=1e9; const double pi=acos(-1.0); struct point{ int x,y; point(){} point(int xx,int yy):x(xx),y(yy){} }a[maxn],b[maxn]; ll det(point a,point b){ return a.x*b.y-a.y*b.x;} ll dot(point a,point b){ return a.x*b.x+a.y*b.y;} point operator +(point a,point b){ return point(a.x+b.x,a.y+b.y);} point operator -(point a,point b){ return point(a.x-b.x,a.y-b.y);} int dis[maxn][maxn]; int main() { int N,M,ans; while(~scanf("%d",&N)){ rep(i,,N) scanf("%d%d",&a[i].x,&a[i].y); scanf("%d",&M); rep(i,,M) scanf("%d%d",&b[i].x,&b[i].y); rep(i,,M) rep(j,,M) dis[i][j]=inf; ans=inf; rep(i,,M) rep(j,,M){ if(i==j) continue; ; rep(k,,N){ ){ F=; break; } } ; } rep(k,,M) rep(i,,M) if(dis[i][k]!=inf) //删去后很慢 rep(j,,M) dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]); rep(i,,M) ans=min(ans,dis[i][i]); if(ans==inf) puts("ToT"); else printf("%d\n",M-ans); } ; }
HDU - 6080 :度度熊保护村庄 (凸包,floyd最小环)(VJ1900题达成)的更多相关文章
- hdu 6118 度度熊的交易计划
度度熊的交易计划 Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- HDU 6118 度度熊的交易计划 【最小费用最大流】 (2017"百度之星"程序设计大赛 - 初赛(B))
度度熊的交易计划 Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- HDU 6118 度度熊的交易计划(最小费用最大流)
Problem Description度度熊参与了喵哈哈村的商业大会,但是这次商业大会遇到了一个难题: 喵哈哈村以及周围的村庄可以看做是一共由n个片区,m条公路组成的地区. 由于生产能力的区别,第i个 ...
- hdu 6118度度熊的交易计划(费用流)
度度熊的交易计划 Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- HDU 6118 度度熊的交易计划 (最小费用流)
度度熊的交易计划 Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- HDU 6113 度度熊的01世界 【DFS】(2017"百度之星"程序设计大赛 - 初赛(A))
度度熊的01世界 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- 【判连通】HDU 6113 度度熊的01世界
http://acm.hdu.edu.cn/showproblem.php?pid=6113 [题意] 度度熊是一个喜欢计算机的孩子,在计算机的世界中,所有事物实际上都只由0和1组成. 现在给你一个n ...
- HDU 6118 度度熊的交易计划(网络流-最小费用最大流)
度度熊参与了喵哈哈村的商业大会,但是这次商业大会遇到了一个难题: 喵哈哈村以及周围的村庄可以看做是一共由n个片区,m条公路组成的地区. 由于生产能力的区别,第i个片区能够花费a[i]元生产1个商品,但 ...
- 2017"百度之星"程序设计大赛 - 初赛(A) [ hdu 6108 小C的倍数问题 ] [ hdu 6109 数据分割 ] [ hdu 6110 路径交 ] [ hdu 6112 今夕何夕 ] [ hdu 6113 度度熊的01世界 ]
这套题体验极差. PROBLEM 1001 - 小C的倍数问题 题 OvO http://acm.hdu.edu.cn/showproblem.php?pid=6108 (2017"百度之星 ...
随机推荐
- css给html添加效果
<!doctype html> <html> <head> <title>EasyMall注册界面</title> <meta htt ...
- C# MethodInvoker委托的使用
一.MethodInvoker是什么? MethodInvoker 表示一个委托,该委托可以执行托管代码中声明为void且不接受任何参数的任何方法.在对控件的 invoke 方法进行调用时或需要一个简 ...
- es6(三)
四 . 字符串扩展:
- Github 搭建 Hexo 纯静态化个人博客平台
以前一直想搭建一个属于自己的博客平台,有余种种原因一直未能实现,最近闲来无事,参照网上的教程,搭建了属于自己的博客.自己的博客网站,样式自由,不需要受限于各大平台. 本篇为从零开始的基础篇,本篇所包含 ...
- PHP多进程的实际处理
多进程应用大批量的数据是非常舒服的一件事情. 处理之前理解两个概念:孤儿进程和僵尸进程 孤儿进程: 是指父进程在fork出子进程后,自己先完了.这个问题很尴尬,因为子进程从此变得无依无靠.无家可归,变 ...
- 第一周博客之二---OA项目环境搭建及开发包部署
OA项目环境搭建 一个项目想要能够在开发人员打包好项目包之后进行测试,就必须进行项目测试环境的搭建,要根据开发工程师的开发环境采用不同的测试环境,以下只是浅谈下Java项目OA(办公自动化平台)的环境 ...
- 输入系统:进程间双向通信(socketpair+binder)
一.双向通信(socketpair) socketpair()函数用于创建一对无名的.相互连接的套接子,如果函数成功,则返回0,创建好的套接字分别是sv[0]和sv[1]:否则返回-1,错误码保存于e ...
- JArray数组转换为DataTable
- login.html
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1 ...
- paramiko__摘抄
# -*- coding:utf-8 -*-# Author: Dennis Huang__Author__ = "Dennis" import paramiko # ssh = ...