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

赣榆区建设局网站滁州网站建设梦天堂

赣榆区建设局网站,滁州网站建设梦天堂,能看人与动物做的网站,个人可以开发app软件吗problem luogu-P4099 solution 两篇前提题解#xff1a;排列计数#xff0c;老C的键盘 想必已经看了 CQOI2017 老C的键盘 一题题解了。 这里直接考虑优化状态转移方程。 我们发现 f(u,i),f(v,j)f(u,i),f(v,j)f(u,i),f(v,j)#xff0c;当枚举 jjj 后#xff0c;对应的…problem luogu-P4099 solution 两篇前提题解排列计数老C的键盘 想必已经看了 CQOI2017 老C的键盘 一题题解了。 这里直接考虑优化状态转移方程。 我们发现 f(u,i),f(v,j)f(u,i),f(v,j)f(u,i),f(v,j)当枚举 jjj 后对应的 kkk 是一段连续区间。 f(u,i)∗f(v,j)∗(k−1i−1)∗(sizusizv−ksizu−i)f(u,i)*f(v,j)*\binom{k-1}{i-1}*\binom{siz_usiz_v-k}{siz_u-i}f(u,i)∗f(v,j)∗(i−1k−1​)∗(sizu​−isizu​sizv​−k​) 转移贡献变化的只有 kkk且有两项都与之挂钩。 我们不妨反过来固定 kkk能转移到这个 kkk 的肯定也是一段连续的 jjj。 所以我们求出来 f(v,j)f(v,j)f(v,j) 后直接做个前缀和f(v,j)∑j′≤jf(v,j′)f(v,j)\sum_{j\le j}f(v,j)f(v,j)∑j′≤j​f(v,j′)。 以要求 huhvh_uh_vhu​hv​ 为例。 其原来是 ij≤k≤isizvij\le k\le isiz_vij≤k≤isizv​固定 i,ki,ki,k 后能转移过来的 jjj 范围则为 1∼k−i1\sim k-i1∼k−i。 另一种则是 k−ij≤sizvk-ij\le siz_vk−ij≤sizv​。 两种的 kkk 范围也稍稍不同。 具体可以看代码实现。 code #include bits/stdc.h using namespace std; #define int long long #define mod 1000000007 #define maxn 1005 char s[5]; int n; int c[maxn][maxn], f[maxn][maxn], g[maxn], siz[maxn]; vector pair int, int G[maxn];void dfs( int u, int fa ) {f[u][1] siz[u] 1;for( int i 0;i G[u].size();i ) {int v G[u][i].first, w G[u][i].second;if( v fa ) continue;dfs( v, u );memcpy( g, f[u], sizeof( f[u] ) );memset( f[u], 0, sizeof( f[u] ) );for( int i 1;i siz[u];i )if( w ) {for( int k i 1;k i siz[v];k )(f[u][k] f[v][k - i] % mod * g[i] % mod * c[k - 1][i - 1] % mod * c[siz[u] siz[v] - k][siz[u] - i]) % mod;}else {for( int k i;k i siz[v];k )(f[u][k] (f[v][siz[v]] - f[v][k - i]) % mod * g[i] % mod * c[k - 1][i - 1] % mod * c[siz[u] siz[v] - k][siz[u] - i]) % mod;}siz[u] siz[v];}for( int i 1;i siz[u];i ) (f[u][i] f[u][i - 1]) % mod; }signed main() {for( int i 0;i 1000;i ) {c[i][0] c[i][i] 1;for( int j 1;j i;j )c[i][j] (c[i - 1][j - 1] c[i - 1][j]) % mod;}int T;scanf( %lld, T );while( T -- ) {scanf( %lld, n );memset( f, 0, sizeof( f ) );for( int i 0;i n;i ) G[i].clear();for( int i 1, u, v;i n;i ) {scanf( %lld %s %lld, u, s, v );G[u].push_back( make_pair( v, s[0] ) );G[v].push_back( make_pair( u, s[0] ) );}dfs( 0, 0 );printf( %lld\n, ( f[0][n] mod ) % mod );}return 0; }
http://www.yutouwan.com/news/368940/

相关文章:

  • 公司网站建设的改进的建议好的网站设计特点
  • 全网营销型网站 新闻青岛电子商务网站建设
  • 简单网站建设软件如何建立官方网站
  • 国外的哪个网站可以做跳转2022新闻热点10条
  • win8导航网站源码做微网站需要什么
  • 济南网站建设的方案网站上传在空间哪里
  • 一元购物网站怎么做公司logo设计要求有哪些
  • 网站内容及内链建设wordpress 会议网站
  • 工业设备网站源码建网站的流程
  • 公司做网站那家好国外常用视频网站tenor怎么设置
  • 网站开发流程主要分成什么盐城网站建设与网页制作
  • asp.net 旅游网站开发网站开发项目需要哪些人员策划师
  • 网站镜像 动态汽车用品网站规划
  • 河北网站备案查询系统三只松鼠网站推广策略
  • 泰州专业网站建设公司php网站模板怎么修改
  • 网站逻辑结构枣庄建设网站
  • 网站建设图片如何加载网站建设费用 多少
  • 凤翔网站开发织梦仿wordpress
  • cookie做网站登录北京招聘信息
  • 国外网站设计企业外包的风险与对策
  • 如何做全球网站排名安徽省工程招标信息网
  • 怎样做网站制作昆明网站建设制作
  • 网站后台是怎样制作的广告设计图片网站
  • 做电子元器件销售什么网站好安徽人
  • 快三网站开发抑郁症图片加时间生成器在线制作
  • 公司做网站济南深圳整站seo
  • 用 php网站建设打出一首古诗抖店推广
  • 石药网站东莞网站建设 熊掌号
  • 域名备案的网站名称伪造wordpress浏览量
  • wordpress快站jsp网站开发心得