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

龙岗网站建设价格哪些网站可以用gif做头像

龙岗网站建设价格,哪些网站可以用gif做头像,从代码角度分析网站怎么做,程序代码优化网站感觉这是一道值得收藏的题目。 比赛的时候这道题看到后没有立即想到思路,虽然不算很难,但还是比较初见杀的。 比较常见的思路是采用树形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/a/408612.html

相关文章:

  • 做网站最大的公司网站搭建用什么语言
  • 网站建设高度收纳用品网站建设
  • 建设一个网站需要哪些硬件设备python网站开发高并发
  • 外贸网站建站系统上饶做网络营销推广
  • 外部链接链轮的建设对于网站提做网站网站条件
  • 唯一做魅惑的网站wordpress门户主体
  • 广州网站设计首选刻wordpress模板创建
  • wdcp网站迁移app线上推广
  • 手机做网站公司有哪些怎么做企业网站推广需要多少钱
  • 网站备案有什么要求吗邢台百度爱采购
  • 北京十佳网站建设广州网站优化排名
  • 长春做网站大公司网页游戏直接玩
  • 非标自动化东莞网站建设广东省建设集团有限公司
  • 外贸网站做开关的哪个好网络营销策略定义
  • 黄石做网站多少钱成立公司注册资金可以随便写吗
  • 南宁建站网站模板江苏省两学一做网站
  • 河北pc端网站开发工程招标平台
  • 金融公司网站方案wordpress 支付宝收钱
  • 网站的后续优化方案旅游 便宜 网站建设
  • 网站加载慢建设银行理财网站
  • vf建设银行网站wordpress建立移动站
  • 建设一个电子商务网站购物网站界面设计策划
  • 静态网站的好处做企业网站的多少钱
  • 淄博网站建设优化上汽网站服务器租赁
  • 利用高权重网站做关键词网页生成app怎么用
  • 网站推广计划北京公司注册地址多少钱
  • WaP网站模块福州网站建设 联系yanktcn 04
  • 网站制作html代码上海设计公司官网
  • 网站预约功能怎么做湖北中牛建设有限公司网站
  • Java学习笔记五(多态)