19-10-18-Night-U
话说T3:
一句话题意……见过这个嘛……

于是:$\sum \limits_{i!=j} \binom{a_i+b_i+a_j+b_j}{a_i+a_j}$
------------前言结束----------------
------------正文开始----------------
正文加载中……
T1
倍增,又是倍增。
于是找到节点$i$的祖先链上第一个比它大的点,并以他为$fa_{i,0}$
这样跑跑倍增就可以了。
(虽然我是直接跳$fa$水果的)
这里是蒟蒻竞争场+的赢家的代码,仿佛是正解。
#include<bits/stdc++.h>
using namespace std;
#define maxn 101000
#define inf 2000000000
int n,que,w[maxn],u,v,c;
int head[maxn],js,deep[maxn],fa[maxn][25];
struct node{int ne,to;}tree[maxn*2];
void qxx(int fr,int tt)
{
tree[++js].ne=head[fr];
head[fr]=js;
tree[js].to=tt;
}
int find(int ro,int c)
{
if(w[ro]>c) return ro;
for(int j=20;j>=0;--j)
if(w[fa[ro][j]]<=c) ro=fa[ro][j];
return fa[ro][0];
}
void dfs(int ff,int ro)
{
for(int i=head[ro];i;i=tree[i].ne)
{
int son=tree[i].to;
if(son==ff) continue;
deep[son]=deep[ro]+1;
int ls=find(ro,w[son]); fa[son][0]=ls;
for(int j=1;j<=20;++j) fa[son][j]=fa[fa[son][j-1]][j-1];
dfs(ro,son);
}
}
int ask(int son,int ro)
{
int sum=0;
for(int j=20;j>=0;--j)
if(deep[fa[son][j]]>=deep[ro])
{
son=fa[son][j];
sum+=(1<<j);
}
return sum;
}
int main()
{
scanf("%d%d",&n,&que);
for(int i=1;i<=n;++i) scanf("%d",&w[i]);
for(int i=1;i<n;++i)
{
scanf("%d%d",&u,&v);
qxx(u,v); qxx(v,u);
}
deep[1]=1; w[0]=inf; dfs(0,1);
for(int o=1;o<=que;++o)
{
scanf("%d%d%d",&u,&v,&c);
int fir=find(u,c);
if(deep[fir]<deep[v]) {puts("0"); continue;}
else
{
int ans=1;
int ls=ask(fir,v);
//cout<<fir<<"->"<<v<<":"<<ls<<endl;
ans+=ls;
printf("%d\n",ans);
}
}
return 0;
}
T2
三元环计数,虽然没A但是可以口胡一下
首先因为走最短的环所以并不能走四元环,
因为在竞赛图里,
两点之间一定有边相连,所以一定可以将四元环拆成两个三元环来走。
T3
考场上丢出一个暴力,获得20分,后来说可以把柿子化成:

注释:
蒟蒻竞技场是比谁最后一个AC的竞技场,
由超级大蒟蒻Miemeng发起,
但是他非常不要×的自己拿了很多Rank1
19-10-18-Night-U的更多相关文章
- Groovy轻松入门——通过与Java的比较,迅速掌握Groovy (更新于2008.10.18)
摘自: http://www.blogjava.net/BlueSUN/archive/2007/03/10/103014.html Groovy轻松入门--通过与Java的比较,迅速掌握Groovy ...
- First Scrum Meeting (2015/10/18)
会议是在昨晚进行的,本来早就应该写博了,可惜今天校园网炸个不停= =.刚修好就赶紧来发博客. 会议基本要素 会议主题:爬虫项目的核心技术讨论以及项目初期的工作分配 会议时间:2015.10.18 19 ...
- 对于最近的一些日常总结by520(17.10.18)
---天天考试,各种题型都有,学到了很多新的知识,也发现了自己的许多不足---1.首先,自己的搜索需要加强,特别是广搜,10.18的T1裸广搜没有做对.2.数学的思维和一些逻辑问题需要加强,然后就是要 ...
- Unix 网络编程卷一源码编译踩坑记录 ubtutu 19.10
在阅读unpv1时运行源代码的环境配置,这里简单记录一下 源代码里的README 写得挺详细的,但是在Linux 系统的下还没没办法直接编译通过的, 这里我使用的是ubuntu 19.10(在腾讯云1 ...
- 程序员的 Ubuntu 19.10 配置与优化指南
原文地址:程序员的 Ubuntu 19.10 配置与优化指南 0x00 环境 CPU: Intel Core i9-9900k GPU: GeForce RTX 2070 SUPER RAM: DDR ...
- Kubernetes部署通用手册 (支持版本1.19,1.18,1.17,1.16)
Kubernetes平台环境规划 操作环境 rbac 划分(HA高可用双master部署实例) 本文穿插了ha 高可用部署的实例,当前章节设计的是ha部署双master 部署 内网ip 角色 安装软件 ...
- 背水一战 Windows 10 (18) - 绑定: 与 Element 绑定, 与 Indexer 绑定, TargetNullValue, FallbackValue
[源码下载] 背水一战 Windows 10 (18) - 绑定: 与 Element 绑定, 与 Indexer 绑定, TargetNullValue, FallbackValue 作者:weba ...
- 九月 26, 2017 10:18:14 上午 com.sun.jersey.server.impl.application.RootResourceUriRules <init> 严重: The ResourceConfig instance does not contain any root resource classes.
Tomcat启动错误:九月 26, 2017 10:18:14 上午 com.sun.jersey.server.impl.application.RootResourceUriRules <i ...
- [java面试]逻辑推理6 10 18 32 下一个数?编程实现输入任意一个N位置,该数是多少?java实现
题目: 6 10 18 32 下一个数?编程实现输入任意一个N位置,该数是多少? 10 = 6 + 4 4 18 = 10 + 8 4 + 4 32 = 18 + 14 ...
- Java的课后作业——18.10.18
日期:2018.10.18 星期四 博客期:020 小试验任务: 我就发一下代码好了!!! package test1; import java.util.Scanner; public class ...
随机推荐
- CCPC 2019 网络赛 HDU huntian oy (杜教筛)
1005 huntian oy (HDU 6706) 题意: 令,有T次询问,求 f(n, a, b). 其中 T = 10^4,1 <= n,a,b <= 1e9,保证每次 a,b互质. ...
- iconfont 在vue项目中的应用(icon-component组件)
前言:上一篇记录了iconfont的三种基本使用方法. 在Vue中应该如何使用呐?Vue中的组件化思想很明确,要提高组件的复用率,增强项目的可维护性,扩展性.以下是采用icontfont的使用方式之s ...
- ubuntu install redis/mongo 以及 监控安装
sudo apt-get updatesudo apt-get install redis-server mongodb sudo apt-get install htopsudo apt-get i ...
- 面试系列20 生产环境中的redis是怎么部署的
redis cluster,10台机器,5台机器部署了redis主实例,另外5台机器部署了redis的从实例,每个主实例挂了一个从实例,5个节点对外提供读写服务,每个节点的读写高峰qps可能可以达到每 ...
- Python数据格式化
Python有两种格式化字符串的方式,使用%或者使用内置format()函数. 使用%格式化字符串 在Python中使用%来格式化字符串,用法和效果类似于C语言中的%.格式为:%特定的转换类型 %da ...
- Oracle 从 dual 表中查询返回多行记录
同时查询出十条数据 ; 按照这个特性计算两个日期之间的工作日: select days, week as days, to_char(to_date(, 'day') as week from dua ...
- 警告(alert 消息对话框) 如果你不点击“确定”,就不能对网页做任何操作,这个小窗口就是使用alert实现的
警告(alert 消息对话框) 我们在访问网站的时候,有时会突然弹出一个小窗口,上面写着一段提示信息文字.如果你不点击"确定",就不能对网页做任何操作,这个小窗口就是使用alert ...
- Luogu P2484 [SDOI2011]打地鼠(模拟+前缀和)
P2484 [SDOI2011]打地鼠 题意 题目描述 打地鼠是这样的一个游戏:地面上有一些地鼠洞,地鼠们会不时从洞里探出头来很短时间后又缩回洞中.玩家的目标是在地鼠伸出头时,用锤子砸其头部,砸到的地 ...
- mysql 多表join
两个表可以简单地写为 select a.,b. from a left join b on a.id =b.id; 三个以上 select a.,b. from a left join b on a. ...
- 「题解」:[AHOI2013]作业
问题: 作业 时间限制: 10 Sec 内存限制: 512 MB 题面 题目描述 此时己是凌晨两点,刚刚做了Codeforces的小A掏出了英语试卷.英语作业其实不算多,一个小时刚好可以做完.然后是 ...