话说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的更多相关文章

  1. Groovy轻松入门——通过与Java的比较,迅速掌握Groovy (更新于2008.10.18)

    摘自: http://www.blogjava.net/BlueSUN/archive/2007/03/10/103014.html Groovy轻松入门--通过与Java的比较,迅速掌握Groovy ...

  2. First Scrum Meeting (2015/10/18)

    会议是在昨晚进行的,本来早就应该写博了,可惜今天校园网炸个不停= =.刚修好就赶紧来发博客. 会议基本要素 会议主题:爬虫项目的核心技术讨论以及项目初期的工作分配 会议时间:2015.10.18 19 ...

  3. 对于最近的一些日常总结by520(17.10.18)

    ---天天考试,各种题型都有,学到了很多新的知识,也发现了自己的许多不足---1.首先,自己的搜索需要加强,特别是广搜,10.18的T1裸广搜没有做对.2.数学的思维和一些逻辑问题需要加强,然后就是要 ...

  4. Unix 网络编程卷一源码编译踩坑记录 ubtutu 19.10

    在阅读unpv1时运行源代码的环境配置,这里简单记录一下 源代码里的README 写得挺详细的,但是在Linux 系统的下还没没办法直接编译通过的, 这里我使用的是ubuntu 19.10(在腾讯云1 ...

  5. 程序员的 Ubuntu 19.10 配置与优化指南

    原文地址:程序员的 Ubuntu 19.10 配置与优化指南 0x00 环境 CPU: Intel Core i9-9900k GPU: GeForce RTX 2070 SUPER RAM: DDR ...

  6. Kubernetes部署通用手册 (支持版本1.19,1.18,1.17,1.16)

    Kubernetes平台环境规划 操作环境 rbac 划分(HA高可用双master部署实例) 本文穿插了ha 高可用部署的实例,当前章节设计的是ha部署双master 部署 内网ip 角色 安装软件 ...

  7. 背水一战 Windows 10 (18) - 绑定: 与 Element 绑定, 与 Indexer 绑定, TargetNullValue, FallbackValue

    [源码下载] 背水一战 Windows 10 (18) - 绑定: 与 Element 绑定, 与 Indexer 绑定, TargetNullValue, FallbackValue 作者:weba ...

  8. 九月 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 ...

  9. [java面试]逻辑推理6 10 18 32 下一个数?编程实现输入任意一个N位置,该数是多少?java实现

    题目: 6 10 18 32 下一个数?编程实现输入任意一个N位置,该数是多少? 10 = 6 + 4         4 18 = 10 + 8        4 + 4  32 = 18 + 14 ...

  10. Java的课后作业——18.10.18

    日期:2018.10.18 星期四 博客期:020 小试验任务: 我就发一下代码好了!!! package test1; import java.util.Scanner; public class ...

随机推荐

  1. 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互质. ...

  2. iconfont 在vue项目中的应用(icon-component组件)

    前言:上一篇记录了iconfont的三种基本使用方法. 在Vue中应该如何使用呐?Vue中的组件化思想很明确,要提高组件的复用率,增强项目的可维护性,扩展性.以下是采用icontfont的使用方式之s ...

  3. ubuntu install redis/mongo 以及 监控安装

    sudo apt-get updatesudo apt-get install redis-server mongodb sudo apt-get install htopsudo apt-get i ...

  4. 面试系列20 生产环境中的redis是怎么部署的

    redis cluster,10台机器,5台机器部署了redis主实例,另外5台机器部署了redis的从实例,每个主实例挂了一个从实例,5个节点对外提供读写服务,每个节点的读写高峰qps可能可以达到每 ...

  5. Python数据格式化

    Python有两种格式化字符串的方式,使用%或者使用内置format()函数. 使用%格式化字符串 在Python中使用%来格式化字符串,用法和效果类似于C语言中的%.格式为:%特定的转换类型 %da ...

  6. Oracle 从 dual 表中查询返回多行记录

    同时查询出十条数据 ; 按照这个特性计算两个日期之间的工作日: select days, week as days, to_char(to_date(, 'day') as week from dua ...

  7. 警告(alert 消息对话框) 如果你不点击“确定”,就不能对网页做任何操作,这个小窗口就是使用alert实现的

    警告(alert 消息对话框) 我们在访问网站的时候,有时会突然弹出一个小窗口,上面写着一段提示信息文字.如果你不点击"确定",就不能对网页做任何操作,这个小窗口就是使用alert ...

  8. Luogu P2484 [SDOI2011]打地鼠(模拟+前缀和)

    P2484 [SDOI2011]打地鼠 题意 题目描述 打地鼠是这样的一个游戏:地面上有一些地鼠洞,地鼠们会不时从洞里探出头来很短时间后又缩回洞中.玩家的目标是在地鼠伸出头时,用锤子砸其头部,砸到的地 ...

  9. 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. ...

  10. 「题解」:[AHOI2013]作业

    问题: 作业 时间限制: 10 Sec  内存限制: 512 MB 题面 题目描述 此时己是凌晨两点,刚刚做了Codeforces的小A掏出了英语试卷.英语作业其实不算多,一个小时刚好可以做完.然后是 ...