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 ...
随机推荐
- js代码触发事件
/*** * 需要触发谁的点击事件 * @param how_id 节点的id 如:<input id='test'/> 则how_id=test * @param how_this 这个 ...
- Delphi利用Windows GDI实现文字倾斜
Delphi利用Windows GDI实现文字倾斜 摘要 Delphi利用Windows GDI实现文字倾斜 procedure TForm1.FormPaint(Sender: TObject);v ...
- js 自适应容器宽高
var echartsWarp= document.getElementById('echartsWarp'); var resizeWorldMapContainer = function () { ...
- vuecli脚手架+vue+vuex实现vue驱动的demo。
哎呀呀呀,现在大家都要会Vue || React,否则感觉跟这个前端的世界脱节了一样. start: vue-cli这个构建工具大大降低了webpack的使用难度,支持热更新,有webpack-de ...
- assert(断言)
Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常. 语法格式: assert expression 等价于: if not expression: ra ...
- opencv-图像遍历
#include "stdafx.h" #include<opencv2/opencv.hpp> #include<iostream> #include&l ...
- Luogu P2458 [SDOI2006]保安站岗(树形dp)
P2458 [SDOI2006]保安站岗 题意 题目描述 五一来临,某地下超市为了便于疏通和指挥密集的人员和车辆,以免造成超市内的混乱和拥挤,准备临时从外单位调用部分保安来维持交通秩序. 已知整个地下 ...
- 《你不知道的JavaScript》上卷——第1章
知识点总结 1.什么是作用域? 作用域是根据名称查找变量的一套规则. 2.通常将JavaScript归类为“动态”或“解释执行”语言,但事实上它是一门编译语言. 3.编译 在传统编译语言的流程中,程序 ...
- [笔记]180612 for DevOps
adb devices 识别不了安卓手机:我下的adb interface驱动下载链接:如果设备管理器中ADB Interface是黄色的,就需要先安装adb interface驱动(BD:adb i ...
- pg总览
一.编译安装初始化等 ./configure --prefix=/release --with-openssl --without-ldap --with-libxml - -enable-threa ...