当前位置: 首页 > wzjs >正文

做渔家乐推广的有哪些好网站2022最新引流推广平台

做渔家乐推广的有哪些好网站,2022最新引流推广平台,昆明网站建设公司推荐,苗木企业网站建设源代码 园林网站源码程序 苗圃花卉网站制作源码感觉这是一道值得收藏的题目。 比赛的时候这道题看到后没有立即想到思路,虽然不算很难,但还是比较初见杀的。 比较常见的思路是采用树形dp,用 d p [ x ] [ y ] dp[x][y] dp[x][y]表示点 x x x的子树中选择了和为 y y y的联通块的方案数。 …

在这里插入图片描述
感觉这是一道值得收藏的题目。

比赛的时候这道题看到后没有立即想到思路,虽然不算很难,但还是比较初见杀的。

比较常见的思路是采用树形dp,用 d p [ x ] [ y ] dp[x][y] dp[x][y]表示点 x x x的子树中选择了和为 y y y的联通块的方案数。

这样将两个合并是

d p ′ [ x ] [ t ] = ∑ i = 0 t d p [ x ] [ i ] × d p [ y ] [ t − i ] dp'[x][t]=\sum_{i=0}^tdp[x][i]\times dp[y][t-i] dp[x][t]=i=0tdp[x][i]×dp[y][ti]

这样的转移是 O ( n log ⁡ n ) O(n\log n) O(nlogn)的。

感觉树形dp主要的问题是不能很好的利用只有一个连通块的条件。

后面想着如果是一个连通块,直接用在dfs序上面找不选的点就好。

d p [ i ] [ j ] dp[i][j] dp[i][j]表示在dfs序为 i i i的点上和为 j j j的方案数(只是到 i i i并没有决定 i i i选不选)

那么就有两种方案,如果选择 i i i,就把 d p [ i ] dp[i] dp[i]加到 d p [ i + 1 ] dp[i+1] dp[i+1];如果不选择 i i i,那么其子树就不用再去遍历,直接给 d p [ i + s i z [ i ] ] dp[i+siz[i]] dp[i+siz[i]]加上 d p [ i ] dp[i] dp[i]即可。

#include <bits/stdc++.h>
#define ll long long
using namespace std;const int N = 5e3 + 10, mod = 1e9 + 7;int n, m, a[N], f[N][N];
vector<int> e[N];
int z, pos[N], L[N], R[N];void dfs(int x, int fa) {L[x] = ++z;pos[z] = x;for (int y : e[x]) {if (y == fa) continue;dfs(y, x);}R[x] = z;
}void ad(int &x, int y) {x = x + y >= mod ? x + y - mod : x + y;
}void solve() {cin >> n >> m;memset(f, 0, sizeof(f));for (int i = 1; i <= n; i++) {cin >> a[i];e[i].clear();}for (int i = 1; i < n; i++) {int x, y;cin >> x >> y;e[x].push_back(y);e[y].push_back(x);}z = 0; dfs(1, 0);f[1][0] = 1;for (int i = 1; i <= n; i++) {//选择for (int j = 0; j + a[pos[i]] <= m; j++) {ad(f[i + 1][j + a[pos[i]]], f[i][j]);}//不选择if (i > 1) {int k = R[pos[i]] + 1;for (int j = 0; j <= m; j++) {ad(f[k][j], f[i][j]);}}}int ans = 0;for (int i = 0; i <= m; i++) {ad(ans, f[n + 1][i]);}cout << ans << "\n";
}int main() {// freopen("in.in", "r", stdin);ios::sync_with_stdio(false);cin.tie(nullptr);int T; cin >> T;while (T--) {solve();}
}
http://www.dtcms.com/wzjs/230232.html

相关文章:

  • 义乌建设局网站域名搜索引擎
  • 做付费视频网站免费站推广网站2022
  • 河南平台网站建设设计百度竞价托管费用
  • 买的服务器做两个网站月嫂免费政府培训中心
  • 鬼畜做的青龙游戏网站宁波网络推广平台
  • 做二维码推送网站cpc广告点击日结联盟
  • 网站建设 的介绍数字营销成功案例
  • 张家港外贸型网站建设快速收录网
  • wap 网站的盗链问题免费海报模板网站
  • 快要到期的域名网站网络营销服务
  • wordpress mu调取厦门seo专业培训学校
  • 网站建设的简历制作logo设计
  • 网站运营推广方案设计百度关键词排名怎么靠前
  • 多语言网站开发设计百家号官网
  • crm系统哪种品牌的好搜索引擎优化百度百科
  • 深圳网站建设服务清单网站优化公司哪个好
  • 虚拟机做网站服务sem竞价推广代运营收费
  • 成都网站建设求职简历软文发布平台媒体
  • 北京网站制作建设公司哪家好百度客户端电脑版
  • 公司做企业网站百度软文推广怎样收费
  • 网站策划和网站制作云seo关键词排名优化软件
  • 图书馆 网站建设推广宣传方式有哪些
  • 品牌宣传片策划公司同仁seo排名优化培训
  • wordpress数据库损坏网站软文推广做的比较好的推广平台
  • 网站设计与开发培训班电商数据统计网站
  • 安阳网站建设哪家正规口红的推广软文
  • html免费网站模板下载武汉百度开户代理
  • html用什么软件seo com
  • 自己的网站怎么做商城百度推广怎么收费标准
  • 教用vs2013做网站的书国家卫健委:不再发布每日疫情信息