第十五届北京师范大学程序设计竞赛决赛(网络同步赛)

B. Borrow Classroom

题意:一棵树,点 1为根,一个人从点 b到 点 c再到点 1,第二个人从点 a出发,问第二个人能否截住第一个人。

tags:lca搞上去就行,第二个只要在第一个人到点 1之前能到点 1即可。注意题目,如果两人到点1时间相同,要再判断第二个人能否在到点1之前遇上第一个人。

#include<bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/STACK:102400000,102400000")
#define rep(i,a,b) for (int i=a;i<=b;i++)
#define per(i,b,a) for (int i=b;i>=a;i--)
#define mes(a,b)  memset(a,b,sizeof(a))
#define INF 0x3f3f3f3f
typedef long long ll;
const int N = 100005;int q;int  n;
vector<int > G[N];
int dep[N], p[N][30];
void dfslca(int u, int fa)
{dep[u]=dep[fa]+1,  p[u][0]=fa;for(int i=0; i<G[u].size(); ++i)if(G[u][i]!=fa)  dfslca(G[u][i], u);
}
void Initlca()
{memset(p,-1,sizeof(p));  memset(dep,0,sizeof(dep));   dep[0]=-1;dfslca(1, 0);  int i, j;for(j=1; (1<<j)<=n; ++j)for(i=1; i<=n; ++i)  if(p[i][j-1]!=-1)p[i][j]=p[p[i][j-1]][j-1];
}
int lca(int a, int b)
{int i, j;if(dep[a]<dep[b]) swap(a, b);for(i=0; (1<<i)<=dep[a]; ++i);   --i;for(j=i; j>=0; --j)if(dep[a]-(1<<j)>=dep[b])a=p[a][j];if(a==b) return a;for(j=i; j>=0; --j)if(p[a][j]!=-1 && p[a][j]!=p[b][j])a=p[a][j], b=p[b][j];return p[a][0];
}void solve(int a, int b, int c)
{int t=lca(b, c), s1=dep[b]-dep[t]+dep[c]-dep[t]+dep[c];if(s1<dep[a]) puts("NO");else if(s1>dep[a]) puts("YES");else {if(lca(a, c)==1) puts("NO");else puts("YES");}
}
int main()
{int T;  scanf("%d", &T);while(T--){scanf("%d %d", &n, &q);rep(i,1,n) G[i].clear();int a, b, c;rep(i,1,n-1) {scanf("%d %d", &a, &b);G[a].push_back(b);  G[b].push_back(a);}Initlca();rep(i,1,q) {scanf("%d %d %d", &a, &b, &c);solve(a, b, c);}}return 0;
}

View Code

D. Disdain Chain

题意:n 个人,任意两人,要么鄙视,要么鄙视。问最长鄙视链(好脑洞的名字)分别为1~n的可能方案数。

tags:多画几个图或者打个表很快能发现规律,2333。。因为要么鄙视,要么鄙视,即为竞赛图,好像有个性质:n>=2的竞赛图一定有哈密顿路径。

#include<bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/STACK:102400000,102400000")
#define rep(i,a,b) for (int i=a;i<=b;i++)
#define per(i,b,a) for (int i=b;i>=a;i--)
#define mes(a,b)  memset(a,b,sizeof(a))
#define INF 0x3f3f3f3f
typedef long long ll;
const int N = 200005;int main()
{int T;  scanf("%d", &T);while(T--) {int n; scanf("%d", &n);rep(i,1,n) {if(i<n) printf("0\n");else {printf("%d\n", 1<<(n*(n-1)/2));}}}return 0;
}

View Code

转载于:https://www.cnblogs.com/sbfhy/p/6750632.html

第十五届北京师范大学程序设计竞赛决赛(网络同步赛) B lca水 D 思维,找规律...相关推荐

  1. 第十一届北京师范大学程序设计竞赛(网络同步赛)+A. BNU ACM校队时间安排表

    A. BNU ACM校队时间安排表 Time Limit: 1000ms Case Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO ...

  2. 第十五届北京师范大学程序设计竞赛 [(6+1)/11,待补]

    23号和队友用一个账号一起做这套题,开了挂,用了两台电脑,由于我们做的时候还不能添加到BNUVJ,队内交流还少,因为中文题面嘛,基本相当于两个人分别打个人了... 但是鄙队实在是菜的抠脚啊,最后仅出6 ...

  3. 第十六届北京师范大学程序设计竞赛决赛

    B - 外挂使用拒绝 思路: \ \ \ \ \ 设dp[k][i]dp[k][i]dp[k][i]为:操作kkk天后第i" role="presentation"> ...

  4. bnuoj 4351题美女来找茬 (第九届北京师范大学程序设计竞赛决赛)

    bnuoj 4351题美女来找茬 网站   https://www.bnuoj.com/v3/problem_show.php?pid=4351 寒假的时候,大钰儿在家闲得无聊,便玩起了QQ游戏美女来 ...

  5. 第十五届吉林省大学生程序设计竞赛

    最近刚打完吉林省程序设计竞赛,自己比较菜,成绩不是很好,拖累了两位队友,其中一位队友保研,并在比赛前一天拿到了百度的实习offer.另一位是备战考研. 比赛只过了A,B,E,L,M,最终41名 A题: ...

  6. 第十五届浙江省ACM程序设计竞赛小记

    因为前段时间一直在找实习的缘故,比赛前几乎没怎么练习,所以对这场比赛本不抱太大希望. 早上7.30在学校门口集合,坐着大巴去浙江大学紫金港校区比赛,这是第二年到浙江大学参加ACM竞赛,心情依旧是很欢悦 ...

  7. 第十五届吉林省大学生程序设计竞赛个人题解

    A. Random Number Checker 奇数和偶数的数量之差小于1即为Good B. Arithmetic Exercise 计算保留k位小数的a/b的结果 模拟除法即可,注意进位的细节 v ...

  8. 第十五届全国大学生信息安全竞赛创新实践能力赛

    ​ 基于挑战码的双向认证1 这两个应该是属于非预期,查找文件内容,两个flag都出了: find / |xargs grep -ri flag{ 2>/dev/null flag{34f5fda ...

  9. 厦门大学“网宿杯“17届程序设计竞赛决赛(同步赛) #题解 #题目都超有趣呀

    文章目录 A.这波啊,这波是..... B.李在赣神魔 C.电竞希金斯 D.财富密码 E.芜湖起飞 F.这题多捞啊 G.正方形打野 H.时间管理 A.这波啊,这波是- 链接:https://ac.no ...

最新文章

  1. html+spring boot简单的ajax数据传输实现
  2. Unity3D 单例模式
  3. No DataType in DataTemplate in Windows Phone(—)
  4. DEM挖填方分析--基于水平参考面计算
  5. 如何低格台式计算机的硬盘,最新[电脑如何格式化]台式机如何格式化本地磁盘.doc...
  6. 对支付宝微信们来说,扫码支付限额 500 元新规意味着什么?
  7. 施工工期计算器在线_办公室装修工期要多久时间,办公室快速装修怎么做?
  8. C# 设置Excel中的数字字符串格式
  9. js json转excel并下载
  10. VB中 vbp vbw frm frx log bas 等扩展名大全
  11. eoLinker API-Shop 常见热门的OCR文字识别API
  12. (混沌序列统计特性)离散傅里叶测试---matlab
  13. Linux内存管理 (1)物理内存初始化
  14. 雷林鹏分享:PHP 创建 MySQL 表
  15. VMware Workstation虚拟机无法获取IP地址的解决办法
  16. 怎么把dicom数据转成nifty数据
  17. Java爬去教务系统后怎么发布_java实现-强智教务系统API文档-课程信息
  18. thinkphp6+layui BBS社区论坛系统源码分享,支持适配移动端附截图
  19. 怎么把html变成桌面壁纸,新手必看,把静态壁纸变为动态壁纸怎么设置?
  20. 用服务器玩安卓虚拟机,Android手机上运行linux虚拟机

热门文章

  1. 【HDU - 6118】度度熊的交易计划(最小费用可行流,网络流费用流变形 )
  2. 最大素因子(不是题目!自己写着玩的。。。)
  3. CURLE_WRITE_ERROR
  4. ios 自定义拍照页面_vivo X27只靠颜值和拍照吃饭?体验过后你也会被系统所折服...
  5. 体积最小桌面linux,Tiny Core Linux - 体积最小的精简 Linux 操作系统发行版之一 (仅10多MB)...
  6. mats显存测试软件linux环境,Mats显存检测软件下载-Mats显存检测软件最新版下载-微侠手游网...
  7. 学习笔记4-C语言-开关、循环、跳转
  8. php接收不到ios值,php设置标签后,ios收不到,安卓可以收到
  9. 阿里Java编程规约(集合)
  10. 简单暴力到dp的优化(入门篇)