[Usaco2016 Dec]Moocast
原题链接https://www.lydsy.com/JudgeOnline/problem.php?id=4749
可以对于每个点\(i\),往跟\(i\)距离小于等于\(p[i]\)的点\(j\)都连一条边,表示\(i\)可以传输到\(j\)。然后由于图的规模最多\(N^2=40000\),我们可以直接从每个点出发遍历一遍算出可以到达多少点。
建图复杂度\(O(n^2)\),搜索复杂度O(N^3)。
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<vector>
#define maxn 210
using namespace std;
inline int read(){
register int x(0),f(1); register char c(getchar());
while(c<'0'||'9'<c){ if(c=='-') f=-1; c=getchar(); }
while('0'<=c&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();
return x*f;
}
vector<int> to[maxn];
int n,x[maxn],y[maxn],p[maxn],ans;
bool vis[maxn];
inline int dist(int i,int j){
return (int)ceil(sqrt( (x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]) ));
}
int dfs(int u){
int size=1;
vis[u]=true;
for(register unsigned int i=0;i<to[u].size();i++){
int v=to[u][i];
if(!vis[v]) size+=dfs(v);
}
return size;
}
int main(){
n=read();
for(register int i=1;i<=n;i++) x[i]=read(),y[i]=read(),p[i]=read();
for(register int i=1;i<=n;i++){
for(register int j=1;j<=n;j++) if(i!=j){
if(dist(i,j)<=p[i]) to[i].push_back((int)j);
}
}
for(register int i=1;i<=n;i++){
memset(vis,false,sizeof vis);
ans=max(ans,dfs(i));
}
printf("%d\n",ans);
return 0;
}
[Usaco2016 Dec]Moocast的更多相关文章
- BZOJ 4742: [Usaco2016 Dec]Team Building
4742: [Usaco2016 Dec]Team Building Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 21 Solved: 16[Su ...
- BZOJ4742 : [Usaco2016 Dec]Team Building
如果我们将两个人拥有的牛混在一起,并按照战斗力从小到大排序,同时把第一个人选的牛看成$)$,第二个人选的牛看成$($的话,那么我们会发现一个合法的方案对应了一个长度为$2k$的括号序列. 于是DP即可 ...
- bzoj 4747: [Usaco2016 Dec]Counting Haybales
23333,在扒了一天题解之后发现我竟然还能秒题,虽然这是个pj的sb题... (排个序,然后upper_bound和lower_bound一用就行了(是不是有O(1)的查询方法啊??貌似要离散啊,一 ...
- [Usaco2016 Dec]Counting Haybales
原题链接https://www.lydsy.com/JudgeOnline/problem.php?id=4747 先将原数组排序,然后二分查找即可.时间复杂度\(O((N+Q)logN)\). #i ...
- BZOJ练习记
决定从头到尾干一波BZOJ!可能会写没几题就停下吧,但还是想学学新姿势啦. 1001. [BeiJing2006]狼抓兔子 即求 $(1, 1)$ 到 $(n, m)$ 的最小割.跑 dinic 即可 ...
- bzoj4582[Usaco2016 Open]Diamond Collector
bzoj4582[Usaco2016 Open]Diamond Collector 题意: n个钻石,每个都有一个大小,现在将其装进2个盒子里,每个盒子里的钻石最大的与最小的大小不能超过k,问最多能装 ...
- BZOJ 1692: [Usaco2007 Dec]队列变换 [后缀数组 贪心]
1692: [Usaco2007 Dec]队列变换 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1383 Solved: 582[Submit][St ...
- BZOJ 1717: [Usaco2006 Dec]Milk Patterns 产奶的模式 [后缀数组]
1717: [Usaco2006 Dec]Milk Patterns 产奶的模式 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1017 Solved: ...
- BZOJ 1691: [Usaco2007 Dec]挑剔的美食家 [treap 贪心]
1691: [Usaco2007 Dec]挑剔的美食家 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 786 Solved: 391[Submit][S ...
随机推荐
- Java带Body内容的Http请求
使用Java进行Http请求: package test2; import com.mashape.unirest.http.HttpResponse; import com.mashape.unir ...
- 算法(Java实现)—— 分治算法
分治算法 分治算法的设计模式 基本思想 把复杂问题分解成若干互相独立容易求解的子问题 经典问题 二分搜索 大整数乘法 棋盘覆盖 合并排序 快速排序 线性时间选择 最接近点对问题 循环赛日程表 汉诺塔 ...
- Salesforce LWC学习(二十九) getRecordNotifyChange(LDS拓展增强篇)
本篇参考: https://developer.salesforce.com/docs/component-library/documentation/en/lwc/data_ui_api https ...
- js下 Day12、案例
一.垃圾分类 效果图: 功能思路分析: 1. 鼠标按下 (1) 获取鼠标到元素的距离(e.offsetX) (2) 开启开关变量 (3) 获取事件源 (4) 记录垃圾初始位置 2. 鼠标移动 ( ...
- [日常摸鱼]poj2420 A Star not a Tree?
题意:给定$n$个点,找一个点使得这个点到所有点的距离之和最小,求出这个最小距离 传说中的模拟退火- #include<cstdio> #include<ctime> #inc ...
- Animate..css的一些属性使用
使用基本的代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <t ...
- Offer经验分享 - 蚂蚁金服、字节跳动、PDD、百度、华为、Paypal - Java社招面经
年中的时候因为换工作的缘故,陆续参加了华为.蚂蚁.字节跳动.PDD.百度.Paypal的社招面试,除了字节跳动流程较长,我主动结束面试以外,其他的都顺利拿到了Offer. 最近时间稍微宽裕点了,写个面 ...
- 仵航说 SpringBoot项目配置Log日志服务-仵老大
今天领导让我配置一个log日志服务,我哪里见过哟,然后就去百度了,结果挨个试下去,找到了一个能用的,分享给大家 大致四个地方 分别是 1.pom文件需要引入依赖 2.创建一个TestLog类 3.在y ...
- Angular *ngIf length
Angular *ngIf length 在Angular中如何判断*ngIf Arrary的长度? 具体代码如下: result = []; <div class="kt-secti ...
- Git常用命令大全,迅速提升你的Git水平
原博文 https://mp.weixin.qq.com/s/hYjGyIdLK3UCEVF0lRYRCg 示例 初始化本地git仓库(创建新仓库) git init ...