题意:

  给一个环,环上有n+m个点。给n个点染成B,m个点染成W。求所有染色情况的每段长度乘积之和。

题解:

  染成B的段数和染成W的段数是一样的(因为是环)。

  第一段是可以移动的,例如BBWWW移动为BWWWB。

  所以处理两个方程:b[i][j]代表把j分成i段的乘积和且第一段不能移动;f[i][j]代表把j分成i段的乘积和且第一段可以移动。

  那么枚举分成的段数,对于当前枚举分成i段,答案就为:f[i][n]*b[i][m]+f[i][m]*b[i][n].

  问题是方程怎么转移了。

  对于b[i][j],枚举一个新加的数(1~j-i+1),即b[i][j] = 1*b[i-1][j-1]+2*b[i-1][j-2]+...+(j-i+1)*b[i-1][i-1].

  对于f[i][j],确定他的第一个数是什么,然后枚举一个新加的数,即f[1][i] = i*i(确定第一个数);f[i][j] = 1*f[i-1][j-1]+2*f[i-1][j-2]+...+(j-i+1)*f[i-1][i-1].

  HDU上建2个数组会MLE,所以只能在camp上过2个数组的。camp题目地址:https://www.icpc.camp/contests/6CP5W4knRaIRgU

#include <bits/stdc++.h>
using namespace std;
const int N = ;
const int mod = 1e9+;
typedef long long ll;
int n, m;
ll f[N][N], b[N][N];
ll ans;
int main() {
b[][] = ;
for(int i = ; i <= ; i++) {
ll sum = , res = ;
for(int j = i; j <= ; j++) {
res = (res+b[i-][j-])%mod;
sum = (sum+res)%mod;
b[i][j] = sum;
}
}
for(int i = ; i <= ; i++) f[][i] = (i*i)%mod;
for(int i = ; i <= ; i++) {
ll sum = , res = ;
for(int j = i; j <= ; j++) {
res = (res+f[i-][j-])%mod;
sum = (sum+res)%mod;
f[i][j] = sum;
}
}
while(~scanf("%d%d", &n, &m)) {
ans = ;
int up = min(m, n);
for(int i = ; i <= up; i++) {
ans = (ans+f[i][n]*b[i][m]+f[i][m]*b[i][n])%mod;
}
printf("%lld\n", ans);
}
}

  

  

湘潭邀请赛 2018 D Circular Coloring的更多相关文章

  1. 湘潭邀请赛 2018 I Longest Increasing Subsequence

    题意: 给出一个长度为n的序列,序列中包含0.定义f(i)为把所有0变成i之后的Lis长度,求∑ni=1i⋅f(i). 题解: 设不考虑0的Lis长度为L,那么对于每个f(i),值为L或L+1. 预处 ...

  2. 湘潭邀请赛 2018 E From Tree to Graph

    题意: 给出一棵树以及m,a,b,x0,y0.之后加m条边{(x1,LCA(x1,y1)),(x2,LCA(x2,y2))...(xm,LCA(xm,ym))}.定义z = f(0)^f(1)^... ...

  3. 2018 CCPC 湘潭邀请赛 & 2018 JSCPC

    Problem A Problem B Problem C 这题用主席树轻松解决 可以二分答案,每次查询:也可以直接开个全局变量在主席树上二分: 时间复杂度$O(nlog^{2}n)$或$O(nlog ...

  4. 湘潭邀请赛+蓝桥国赛总结暨ACM退役总结

    湘潭邀请赛已经过去三个星期,蓝桥也在上个星期结束,今天也是时候写一下总结了,这应该也是我的退役总结了~ --------------------------------湘潭邀请赛----------- ...

  5. 1250 Super Fast Fourier Transform(湘潭邀请赛 暴力 思维)

    湘潭邀请赛的一题,名字叫"超级FFT"最终暴力就行,还是思维不够灵活,要吸取教训. 由于每组数据总量只有1e5这个级别,和不超过1e6,故先预处理再暴力即可. #include&l ...

  6. 湘潭邀请赛 Hamiltonian Path

    湘潭邀请赛的C题,哈密顿路径,边为有向且给定的所有边起点小于终点,怎么感觉是脑筋急转弯? 以后一定要牢记思维活跃一点,把复杂的事情尽量简单化而不是简单的事情复杂化. #include<cstdi ...

  7. XTU 1264 - Partial Sum - [2017湘潭邀请赛E题(江苏省赛)]

    2017江苏省赛的E题,当时在场上看错了题目没做出来,现在补一下…… 题目链接:http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id ...

  8. Circular Coloring

    Circular Coloring 将n个0,m个1进行圆周排列,定义一个排列的权值为圆上所有相邻且相同的数字组成一段的段长的乘积,询问断环成链所有方案的权值之和,\(n,m\leq 5000\). ...

  9. 2018湘潭邀请赛 AFK题解 其他待补...

    A.HDU6276:Easy h-index Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

随机推荐

  1. TSMessages,非HUD风格的iOS提示框(附官方demo BUG修复方案)

    优势 先看效果 个人觉得这种提示效果用在UITableView上要比HUD优雅美观,而其他情况下的提示,用HUD比较好 源码简介易懂,用起来也很方便 导入 pod导入相对很简单,主要讲怎么手动导入这个 ...

  2. Linq to Entity 时间差作为筛选条件产生的问题

    前言 在使用 Linq to Entity 的時候,會把之前 Linq to SQL 的想法就帶進去,寫好之後編譯也都不會出錯,但是實際上在跑的時候就會出現錯誤訊息了,這點真的要注意了.這次我遇到問題 ...

  3. vue项目不能同时被localhost和ip地址同时访问的方法

    方法1.将index.js中的host的值改为‘0.0.0.0’ 方法2.修改package.json中script下dev的值,在后面加入--host 0.0.0.0 也可以解决

  4. 【转载】Callable、FutureTask中阻塞超时返回的坑点

    本文转载自:http://www.cnblogs.com/starcrm/p/5010863.html 案例1: package com.net.thread.future; import java. ...

  5. C语言进阶——goto 和 void 的分析08

    遭人遗弃的goto: 高手潜规则:禁止使用goto 项目经验:程序质量与goto的出现次数成反比 最后的判决:将goto打入冷宫 程序示例1:(goto副作用分析) #include <stdi ...

  6. 自定义注解不能拦截controller层

    1,首先在springMVC的配置文件中,webapp/WEB-INF/servlet.xml,加上AOP的相关内容: <beans xmlns="http://www.springf ...

  7. 4,版本控制git --忽略特殊文件

    有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次git status都会显示Untracked files ...,有强迫症的童鞋心里肯定 ...

  8. UOJ #2321. 「清华集训 2017」无限之环

    首先裂点表示四个方向 一条边上都有插头或者都不有插头,相当于满足流量平衡 最大流 = 插头个数*2时有解 然后求最小费用最大流 黑白染色分别连原点汇点

  9. android 布局preview 技巧

    最近开始看老外写的文章,博客,嗯,不能说比国人写的好,但是感觉看着很爽.真的,一手资料就是爽. 嗯,自己做得不错,第一次看外文博客,我知道自己怎么看的,一句话一句话看下来的,越看越有感觉. 下面这个 ...

  10. 基于vue 2.X和高德地图的vue-amap组件获取经纬度

    今天我就讲了一下怎么通过vue和高德地图开发的vue-amap组件来获取经纬度. 这是vue-amap的官网文档:https://elemefe.github.io/vue-amap/#/ 这是我的码 ...