北京市商汤科技开发有限公司建立了新的 AI 人工智能产业园,这个产业园区里有 nn 个路口,由 n - 1n−1 条道路连通。第 ii 条道路连接路口 u_iui​ 和 v_ivi​。

每个路口都布有一台信号发射器,信号频段是 11 到 mm 之间的一个整数。

道路所连接的两个路口的发射信号叠加可能会影响道路的正常运行。具体地,如果第 ii 条道路连接的两个路口发射信号的频段分别为 aa 和 bb,那么 \gcd(a, b)gcd(a,b) 不能恰好等于道路的保留频段 w_iwi​。每条道路的保留频段是唯一的,即不会与其余任何道路的保留频段相同。

你现在需要确定每个路口发射信号的频段,使其符合要求。

在开始之前,你想先算出共有多少种合法的方案。

由于答案可能很大,输出对 10 ^ 9 + 7109+7 取模的值作为答案。

输入格式

第一行,两个正整数 n, mn,m 分别代表路口数量和信号频段上限。

接下来 n - 1n−1 行,每行描述一条道路。第 ii 行有三个整数 u_i, v_i, w_iui​,vi​,wi​ 意义如上所述。

保证 1 \le n \le m, 1 \le u_i, v_i \le n, 1 \le w_i \le m1≤n≤m,1≤ui​,vi​≤n,1≤wi​≤m。

输出格式

输出一个整数,代表合法方案的数量对 10 ^ 9 + 7109+7 取模的值。

数据范围

  • m \le 50m≤50
  • v_i = u_{i + 1} = u_i + 1vi​=ui+1​=ui​+1 (1 \le i \lt n)(1≤i<n)

样例解释

所有合法的方案为 (2, 2, 1), (2, 2, 3), (3, 3, 1), (3, 3, 2), (3, 3, 3)(2,2,1),(2,2,3),(3,3,1),(3,3,2),(3,3,3)。

样例输入复制

3 3
1 2 1
2 3 2

样例输出复制

5

题解:在简单版本中,我们仅需要处理一条链上的情况。可用序列上的动态规划解决。 设a[i]为路口i与i-1相连道路的保留频段 。 令dp[j][k]为路口i获取的信号频段为j 的方案数,
易得转移方程
dp[i][j]=dp[i][j]+dp[i][k] (k=1,2,3,4.....m)
最后输出dp[n][1]+dp[n][2]+dp[n][3]+....+dp[n][m]就是答案了
#include<iostream>
#define ll long long
#define mod 1000000007
using namespace std;
int n,m;
ll a[],dp[][];//dp[i][j]表示路口i的频段为j时的方案数
ll gcd(int a,int b)
{
return b==?a:gcd(b,a%b);
} int main()
{
int x,y,w;
cin>>n>>m;
for(int i=;i<=n-;i++)
{
cin>>x>>y>>w;
a[i]=w;
}
for(int i=;i<=m;i++)//初始化第一个路口
dp[][i]=;
for(int i=;i<=n;i++)
{
for(int j=;j<=m;j++)
{
for(int k=;k<=m;k++)
{
if(gcd(j,k)!=a[i-])
dp[i][j]=dp[i][j]+dp[i-][k];
dp[i][j]=dp[i][j]%mod;
}
}
}
ll ans=;
for(int i=;i<=m;i++)
{
ans=ans+dp[n][i];
ans=ans%mod;
}
cout<<ans<<endl; return ; } // 3 3
// 1 2 1
// 2 3 2

AI 人工智能产业园路口-----dp的更多相关文章

  1. 【AI】【计算机】【中国人工智能学会通讯】【学会通讯2019年第01期】中国人工智能学会重磅发布 《2018 人工智能产业创新评估白皮书》

    封面: 中国人工智能学会重磅发布 <2018 人工智能产业创新评估白皮书> < 2018 人工智能产业创新评估白皮书>由中国人工智能学会.国家工信安全中心.华夏幸福产业研究院. ...

  2. AI人工智能系列随笔

    初探 AI人工智能系列随笔:syntaxnet 初探(1)

  3. 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数002·AI人工智能

    <zw版·Halcon-delphi系列原创教程> Halcon分类函数002·AI人工智能 AI人工智能:包括knn.gmm.svm等 为方便阅读,在不影响说明的前提下,笔者对函数进行了 ...

  4. AI 人工智能 探索 (四)

    在写之前,先对昨天寻路插件再做一些补充,因为该插件不是很完善,所以当我发现有不能满足需求的时候,就会试图更改源代码,或增加接口来符合我的需求. 昨天补充了一条是 自身转向代码,今天补充另外一条,是及时 ...

  5. 从大数据技术变迁猜一猜AI人工智能的发展

    目前大数据已经成为了各家互联网公司的核心资产和竞争力了,其实不仅是互联网公司,包括传统企业也拥有大量的数据,也想把这些数据发挥出作用.在这种环境下,大数据技术的重要性和火爆程度相信没有人去怀疑. 而A ...

  6. AI人工智能专业词汇集

    作为最早关注人工智能技术的媒体,机器之心在编译国外技术博客.论文.专家观点等内容上已经积累了超过两年多的经验.期间,从无到有,机器之心的编译团队一直在积累专业词汇.虽然有很多的文章因为专业性我们没能尽 ...

  7. 不得了,微软原生提供 AI 人工智能 API,而且面向网页开放

    微软原生人工智能(AI) API 不得了,微软原生提供 AI 人工智能 API,而且面向网页开放

  8. AI人工智能学习数据集

    AI人工智能学习数据集,列表如下. 商务合作,科技咨询,版权转让:向日葵,135—4855__4328,xiexiaokui#qq.com boston_house_prices.csvbreast_ ...

  9. 厉害了!新AI人工智能研究令人大开眼界

    AI人工智能有很多方法可以操纵照片,让您看起来更好看,消除红眼或镜头眩光等等.但到目前为止,眨眼已经证明了一个顽强的快照对手. 这远远不是智能“绘画中”的唯一例子,因为当一个程序用它认为属于的地方填充 ...

随机推荐

  1. tf-idf、朴素贝叶斯的短文本分类简述

    朴素贝叶斯分类器(Naïve Bayes classifier)是一种相当简单常见但是又相当有效的分类算法,在监督学习领域有着很重要的应用.朴素贝叶斯是建立在“全概率公式”的基础下的,由已知的尽可能多 ...

  2. day12-Python运维开发基础(推导式、生成器与生成器函数)

    1. 推导式(列表推导式.集合推导式.字典推导式) # ### 推导式 : 通过一行循环判断,遍历出一系列数据的方式是推导式 """ 推导式一共三种: 列表推导式,集合推 ...

  3. Python可视化 | Seaborn包—kdeplot和distplot

    import pandas as pd import numpy as np import seaborn as sns import matplotlib import matplotlib.pyp ...

  4. rapid-generator JAVA代码生成器

    有感于马上要做个比较大的业务系统,想到那无止境的增删改查.粘贴复制,顿时脑后升起一阵凉风.于是想到个找或者写一个Java代码的生成器,这样在正常开发进度下,也能余下更多的时间去做些别的事情. 闲话少说 ...

  5. Python字符串魔法方法

    isalpha()判断是否权威字母或者汉字 isdecimal()(十进制小数)    isdigit()  判断是否为数字 特殊数字 isdigit()判断更为厉害   也是判断数字  都返回Tru ...

  6. 十六 StudentManagerSystem的一些业务实现

    1 删除学生的JSP实现: <%@ page language="java" contentType="text/html; charset=UTF-8" ...

  7. pip install .whl文件时is not a supported wheel on this platform.解决方法

     首先,在python中输入import pip和print(pip.pep425tags.get_supported()),从而获取pip支持的文件名和版本. somnus@somnus-HP-Pa ...

  8. kubernetes集群全栈监控报警方案kube-prometheus

    参考文档 http://www.servicemesher.com/blog/prometheus-operator-manual/ https://github.com/coreos/prometh ...

  9. 一个平凡计算机爱好者的linux进步之路

    我从小就对计算机特别感兴趣,小的时候梦想就是拥有一台属于自己的电脑.无奈那时候农村条件限制,学校.家庭都不配备电脑.只好悄悄的跑去网吧研究一番,但毕竟时间有限,生活费有限,也不可能经常去网吧玩,在网吧 ...

  10. 使用python将请求的requests headers参数格式化方法

    import json # 使用三引号将浏览器复制出来的requests headers参数赋值给一个变量 headers = """ Host: zhan.qq.com ...