jzoj5913
這道題我們可以套路的設置f[i]為當前節點為根的滿足條件方案數,然後枚舉根,計算必須包含當前根的方案
但是似乎很難計算
所以我們可以搞一個前綴和,將聯通塊的最大數和最小數相減<=k的方案和<=k-1的方案計算一遍,減去就是答案
則f[i]=(f[son]+1)*… (f[son]滿足條件)
這樣子我們只需要判斷son是否滿足條件,因為son的所有子樹已經判斷過了
但是這樣可能會算重:當有多個節點的值與當前節點的值相同,都會算一遍
於是我們可以硬點只有根標號小的節點才會計算1次,大的直接跳過
代碼:
#include<bits/stdc++.h>
using namespace std;
#define jzm 19260817ll
typedef long long ll;
ll n,k,a[4010],v[8010],nxt[8010],h[4010],ec;
void add(ll x,ll y){v[++ec]=y;nxt[ec]=h[x];h[x]=ec;}
ll dfs(ll x,ll fa,ll p){
ll ans=1;
for(ll i=h[x];i;i=nxt[i])
if(v[i]!=fa&&((a[v[i]]<a[p]||(a[v[i]]==a[p]&&p<v[i]))&&a[p]-a[v[i]]<=k))
ans=(ans*(dfs(v[i],x,p)+1))%jzm;
return ans;
}
int main(){
freopen("lkf.in","r",stdin);
freopen("lkf.out","w",stdout);
scanf("%lld%lld",&n,&k);
for(ll i=1;i<=n;i++)
scanf("%lld",&a[i]);
for(ll i=1;i<n;i++){
ll x,y;
scanf("%lld%lld",&x,&y);
add(x,y);add(y,x);
}
ll ans1=0;
for(ll i=1;i<=n;i++)
ans1=(ans1+dfs(i,0,i))%jzm;
if(k!=0){
k--;
for(ll i=1;i<=n;i++)
ans1=(ans1-dfs(i,0,i)+jzm)%jzm;
}
printf("%lld",ans1);
}
jzoj5913的更多相关文章
- <JZOJ5913>林下风气
快乐dp 反正考场写挂 #include<cstdio> #include<cstring> #include<cctype> #include<iostre ...
随机推荐
- MVC,MVP,MVVM区别联系
本质上都是MVC,MVC在不同技术中的应用衍生出MVP,MVVM MVC:b/s MVP:c/s,尤其winform MVVM:wpf http://www.codeproject.com/Artic ...
- HHvm建站环境搭建方法:Nginx,Mariadb,hhvm及lnmp/lamp安装部署
HHVM起源于Facebook公司,是一个开源的PHP虚拟机,使用JIT的编译方式以及其他技术,让PHP代码的执行性能大幅提升.HHVM提升PHP性能的途径,采用的方式就是替代Zend引擎来生成和执行 ...
- 【转】MEF程序设计指南二:Silverlight中使用CompositionInitializer宿主MEF
MEF可以在传统应用程序中使用(包括桌面的Winform.控制台程序和Web的ASP.NET),也可以在RIA的Silverlight中使用.在Silverlight中只是宿主的方式有所不同,实际上在 ...
- 调用数据库-corina
pym = mysql(host='#####', port=3306, user='######', password='########', database='algorithm') #查询数据 ...
- oracle存储过程结合我公司代码1
1. Framework.QueryInfo info1 = new Framework.QueryInfo(); //string Sql = Holwor ...
- mathematica里面清除全部变量
基本在一个独立代码开始都写: Clear["Global`*"] (*Clear all variables*) 就可以了
- cocos2d-js IOS接facebook插件
当前测试版本:cocos2d-x 3.8.1 3.7也试用,之下的版本没测过,一般是路径改变,文件名称一般不会变 注:当前工程是通过控制台new的工程,不是cocosStudio创建的工程 ...
- springmvc 整合shiro
1.引用maven <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro ...
- hdu-1181(bfs)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1181 思路:bfs,就是每次找到匹配麻烦一点,注意如果结尾和开头相同,就不算. #include< ...
- 【Unity】2.2 Unity编辑器中的常用菜单项
分类:Unity.C#.VS2015 创建日期:2016-03-26 Unity 5.3.4编辑器共提供了7个主菜单项,这一节主要学习其中的常用项. 一.File 1.基本功能 New Scene:新 ...