传送门

一群蚂蚁能被吃,也就是走到指定边的两端点之一要走到另一端点时有\(k\)只,我们可以从这两端点逆推,记两个值为走到某个点时最后会被吃掉\(k\)只蚂蚁的蚂蚁数量范围,式子下面有,很好理解(雾).最后在每个叶子节点二分查找有多少个数在区间内即可

// luogu-judger-enable-o2
#include<bits/stdc++.h>
#define LL long long
#define il inline
#define re register
#define inf 2099999999
#define max(a,b) ((a)>(b)?(a):(b))
#define min(a,b) ((a)<(b)?(a):(b))
#define db double
#define eps (1e-5) using namespace std;
const int N=1000000+10;
il LL rd()
{
re LL x=0,w=1;re char ch=0;
while(ch<'0'||ch>'9') {if(ch=='-') w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') {x=(x<<3)+(x<<1)+(ch^48);ch=getchar();}
return x*w;
}
LL d[N];
int to[N<<1],nt[N<<1],hd[N],tot=1;
il void add(int x,int y)
{
++tot,to[tot]=y,nt[tot]=hd[x],hd[x]=tot,++d[x];
++tot,to[tot]=x,nt[tot]=hd[y],hd[y]=tot,++d[y];
}
int n,g,k,ma,xx,yy;
LL ll[N],rr[N],ans,a[N];
void dfs(int x,int ffa)
{
for(int i=hd[x];i;i=nt[i])
{
int y=to[i];
if(y==ffa) continue;
ll[y]=min(ll[x]*max(d[x]-1,1ll),a[g]+10),rr[y]=min((rr[x]+1)*max(d[x]-1,1ll)-1,a[g]+10);
dfs(y,x);
}
if(d[x]==1)
{
int l=0,r=g,z=g,zz=0;
while(l<=r)
{
int mid=(l+r)>>1;
if(a[mid]<ll[x]) z=mid,l=mid+1;
else r=mid-1;
}
l=0,r=g;
while(l<=r)
{
int mid=(l+r)>>1;
if(a[mid]<=rr[x]) zz=mid,l=mid+1;
else r=mid-1;
}
ans+=max(zz-z,0);
}
} int main()
{
n=rd(),g=rd(),k=rd();
for(int i=1;i<=g;i++) a[i]=rd();
sort(a+1,a+g+1);
a[0]=-1;
add(xx=rd(),yy=rd());
for(int i=2;i<n;i++) add(rd(),rd());
ll[xx]=rr[xx]=k,dfs(xx,yy);
ll[yy]=rr[yy]=k,dfs(yy,xx);
printf("%lld\n",ans*k);
return 0;
}

luogu P3576 [POI2014]MRO-Ant colony的更多相关文章

  1. 洛谷——P3576 [POI2014]MRO-Ant colony

    P3576 [POI2014]MRO-Ant colony 题目描述 The ants are scavenging an abandoned ant hill in search of food. ...

  2. 洛谷 P3576 [POI2014]MRO-Ant colony

    P3576 [POI2014]MRO-Ant colony 题目描述 The ants are scavenging an abandoned ant hill in search of food. ...

  3. [BZOJ3872][Poi2014]Ant colony

    [BZOJ3872][Poi2014]Ant colony 试题描述 There is an entrance to the ant hill in every chamber with only o ...

  4. bzoj 3872: [Poi2014]Ant colony -- 树形dp+二分

    3872: [Poi2014]Ant colony Time Limit: 30 Sec  Memory Limit: 128 MB Description   There is an entranc ...

  5. 【BZOJ3872】[Poi2014]Ant colony 树形DP+二分

    [BZOJ3872][Poi2014]Ant colony Description 给定一棵有n个节点的树.在每个叶子节点,有g群蚂蚁要从外面进来,其中第i群有m[i]只蚂蚁.这些蚂蚁会相继进入树中, ...

  6. Codeforces 474 F. Ant colony

    线段树求某一段的GCD..... F. Ant colony time limit per test 1 second memory limit per test 256 megabytes inpu ...

  7. Codeforces Round #271 (Div. 2) F. Ant colony 线段树

    F. Ant colony time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  8. 【BZOJ3872】Ant colony(二分,动态规划)

    [BZOJ3872]Ant colony(二分,动态规划) 题面 又是权限题... Description There is an entrance to the ant hill in every ...

  9. CodeForces 474F Ant colony ST+二分

    Ant colony 题解: 因为一个数是合法数,那么询问区间内的其他数都要是这个数的倍数,也就是这个区间内的gcd刚好是这个数. 对于这个区间的gcd来说,不能通过前后缀来算. 所以通过ST表来询问 ...

随机推荐

  1. BZOJ1782[USACO 2010 Feb Gold 3.Slowing down]——dfs+treap

    题目描述 每天Farmer John的N头奶牛(1 <= N <= 100000,编号1…N)从粮仓走向他的自己的牧场.牧场构成了一棵树,粮仓在1号牧场.恰好有N-1条道路直接连接着牧场, ...

  2. es6箭头函数内部判断

    ES6闭包内部判断 需要判断i值和数组长度的关系,一旦大于i归0 未加入判断 setInterval((i => (() =>( this.$refs.danmu.render(ret.d ...

  3. bzoj 2141 : 排队 (cdq分治+bit)

    链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2141 思路: 其实就是求动态逆序对...cdq降维,用树状数组前后求两遍逆序对就好了 切水 ...

  4. 自定义git忽略规则

    输入命令 >a.o git status 此时我想让git忽略这个文件的更新 输入命令 > .gitignore echo "a.o" >> .gitign ...

  5. 洛谷P4072 [SDOI2016]征途(带权二分,斜率优化)

    洛谷题目传送门 一开始肯定要把题目要求的式子给写出来 我们知道方差的公式\(s^2=\frac{\sum\limits_{i=1}^{m}(x_i-\overline x)^2}{m}\) 题目要乘\ ...

  6. BZOJ 3745: [Coci2015]Norma(分治)

    题意 给定一个正整数序列 \(a_1, a_2, \cdots, a_n\) ,求 \[ \sum_{i=1}^{n} \sum_{j=i}^{n} (j - i + 1) \min(a_i,a_{i ...

  7. 01 自学Aruba之功率单位和相对单位

    点击返回:自学Aruba之路 01 自学Aruba之功率单位和相对单位 功率单位是用来测量传输振幅和接受振幅的大小,功率单位测量的是绝对功率 相对单位是用来计算增加电缆或天线后的损耗和增益的大小,相对 ...

  8. android限制横竖屏切换 方法

    在需要限制横竖屏切换的时候,只需要在AndroidManifest.xml文件中加入android:screenOrientation属性限制. android:screenOrientation=& ...

  9. android post 方式 访问网络 实例

    android post 方式 访问网络 实例 因为Android4.0之后对使用网络有特殊要求,已经无法再在主线程中访问网络了,必须使用多线程访问的模式 该实例需要在android配置文件中添加 网 ...

  10. 【转】用emWin进度条控件做个表盘控件,效果不错

    @2018-08-09 用emWin进度条控件做个表盘控件,效果不错