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 二维数组
给一个数组元素,赋一个数组的值,那么,这个数组就是“二维数组”. 二维数组,就得用两层循环来实现.也就是说循环套循环. 二维数组的循环,与二维表格的循环一模一样. 二维数组的访问:数组名后跟多个连续的 ...
- 初识OpenCV-Python - 002: Drawing functions
使用OpenCV-Python 的画图函数画图. 本次的图形函数有: cv2.line(), cv2.circle(), cv2.rectangle(), cv2.ellipse(), cv2.put ...
- 【牛客Wannafly挑战赛12】小H和圣诞树
题目 可以考虑边分治,对于某一种颜色,我们处理出分治边左右两边所有以这个颜色为端点的路径长度,之后随便拼一拼就好了 但是这样对于每一组询问都需要边分一遍,这样做复杂度是\(O(nm+n\log n)\ ...
- SQL中的左连接与右连接,内连接有什么不同
SQL中的左连接与右连接,内连接有什么不同 我们来举个例子.天庭上面有一个管理系统:管理系统有个主表:主表记录着各个神仙的基本信息(我们把它当成表A).还有个表记录着他们这个神仙的详细信息(我们把它当 ...
- 全网最全乌云drops文章下载(epub)
前几天搞得epub格式的,为了方便kindle才做的,没想到站关了. 链接: http://pan.baidu.com/s/1eRIoJC2 密码: b6aq
- 跟我一起使用socket.io创建聊天应用
安装express插件 新建index.js var app = require('express')(); var http = require('http').Server(app); app.g ...
- AM运行中的垃圾数据清理
1.下载 filetmpclear.bat 2.打开 这个批处理文件,修改参数 3.按下图 第一个红色框内, 地址: 可以在 AM8服务管理器- 文件服务 ,数据路径后再加 \__Temp__ 第 ...
- 转载别人的ftp,觉得目录结构不错,学习
开发简单的FTP:1. 用户登陆2. 上传/下载文件3. 不同用户家目录不同4. 查看当前目录下文件5. 充分使用面向对象知识 REDMAE 1 用户登陆 2 3 1.查看用户目录文件 4 2.上传文 ...
- node vue 微信公众号(三)启用本地服务器
1.下载nginx http://nginx.org/en/download.html 2.启动服务 3.配置natapp服务,并启动
- 对比两个String无规律包含连续4个相同字符返回true的方法
package com.qif.dsa.util; import java.util.ArrayList; import java.util.List; /** * @author * @Title: ...