CF370 D Memory and Scores
dp题 并运用了前缀和 
我看题目提示中有fft 我想了下感觉复杂度不过关还是未解
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN = 4e5+5;
const int MOD = 1e9+7;
const int ze = 2e5;
ll dp[2][MAXN];
ll sum[MAXN];
int main(){
    int a,b,k,t;
    while(~scanf("%d %d %d %d",&a,&b,&k,&t)) {
        memset(dp,0,sizeof(dp));
        int fl= 1;
        dp[1][ze] = 1; sum[0] = 0;
        for(int i = 1; i <= t; ++i) {
            for(int j = 1; j < MAXN; ++j) {
                sum[j] = (dp[fl][j]+sum[j-1]) %MOD;
            }
            memset(dp[fl^1],0,sizeof(dp[fl^1]));
            for(int j = 1; j < MAXN; ++j) {
                int t1 = max(0,j-k-1); int t2 = min(MAXN-1, j+k);
                dp[fl^1][j] = (dp[fl^1][j]+sum[t2]-sum[t1]+MOD) %MOD;
            }
            fl ^= 1;
        }
        for(int i = 1; i < MAXN; ++i) {
            sum[i] = (dp[fl][i] + sum[i-1]) %MOD;
        }
        ll ans = 0;
        for(int i = 1; i < MAXN; ++i) {
            int tt = a-b+i;
            if(tt >= MAXN) tt = MAXN;
            if(tt < 1) tt = 1;
            ans = (ans + dp[fl][i]*sum[tt-1]%MOD)%MOD;
        }
        printf("%lld\n",ans);
    }
    return 0;
}
CF370 D Memory and Scores的更多相关文章
- Codeforces Round #370 (Div. 2)  D. Memory and Scores DP
		D. Memory and Scores Memory and his friend Lexa are competing to get higher score in one popular c ... 
- Memory and Scores
		Memory and Scores 题目链接:http://codeforces.com/contest/712/problem/D dp 因为每轮Memory和Lexa能取的都在[-k,k],也就是 ... 
- Codeforces Round #370 (Div. 2) D. Memory and Scores 动态规划
		D. Memory and Scores 题目连接: http://codeforces.com/contest/712/problem/D Description Memory and his fr ... 
- [Codeforces712D] Memory and Scores(DP+前缀和优化)(不用单调队列)
		[Codeforces712D] Memory and Scores(DP+前缀和优化)(不用单调队列) 题面 两个人玩游戏,共进行t轮,每人每轮从[-k,k]中选出一个数字,将其加到自己的总分中.已 ... 
- 【26.87%】【codeforces 712D】Memory and Scores
		time limit per test2 seconds memory limit per test512 megabytes inputstandard input outputstandard o ... 
- [CodeForces - 712D]Memory and Scores  (DP 或者 生成函数)
		题目大意: 两个人玩取数游戏,第一个人分数一开始是a,第二个分数一开始是b,接下来t轮,每轮两人都选择一个[-k,k]范围内的整数,加到自己的分数里,求有多少种情况使得t轮结束后a的分数比b高. ( ... 
- Codeforces 712 D. Memory and Scores (DP+滚动数组+前缀和优化)
		题目链接:http://codeforces.com/contest/712/problem/D A初始有一个分数a,B初始有一个分数b,有t轮比赛,每次比赛都可以取[-k, k]之间的数,问你最后A ... 
- CodeForces 712D Memory and Scores
		$dp$,前缀和. 记$dp[i][j]$表示$i$轮结束之后,两人差值为$j$的方案数. 转移很容易想到,但是转移的复杂度是$O(2*k)$的,需要优化,观察一下可以发现可以用过前缀和来优化. 我把 ... 
- CF712D Memory and Scores
		题目分析 实际上两个人轮流取十分鸡肋,可以看作一个人取2t次. 考虑生成函数. 为了方便,我们对取的数向右偏移k位. 取2t次的生成函数为: \[ F(x)=(\sum_{i=0}^{2k}x_i)^ ... 
随机推荐
- HEOI2016 题解
			HEOI2016 题解 Q:为什么要在sdoi前做去年的heoi题 A:我省选药丸 http://cogs.pro/cogs/problem/index.php?key=heoi2016 D1T1 树 ... 
- POJ 2154 Color [Polya 数论]
			和上题一样,只考虑旋转等价,只不过颜色和珠子$1e9$ 一样的式子 $\sum\limits_{i=1}^n m^{gcd(i,n)}$ 然后按$gcd$分类,枚举$n$的约数 如果这个也化不出来我莫 ... 
- 剑指offer得意之作——顺时针打印矩阵
			题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3 ... 
- chrome无法登陆账号,显示操作超时的解决方案
			起因 今天重装了下windows操作系统,准备登陆chrome浏览器,以同步各种插件(你懂的),结果是...无法登陆账号,显示操作超时,真是无语了. 碰到了这个问题第一个直觉是:FQ.突然想到如果修改 ... 
- 正负样本比率失衡SMOTE
			正负样本比率失衡SMOTE [TOC] 背景 这几天测试天池的优惠券预测数据在dnn上面会不会比集成树有较好的效果,但是正负样本差距太大,而处理这种情况的一般有欠抽样和过抽样,这里主要讲过抽样,过抽样 ... 
- VS2015  (C/C++) 生成的程序,不能在server2008上运行
			项目本来是为Linux下运行做的,但是客户环境需要在windows下运行,幸好用的一些库是跨平台的. 于是用vs2015编译. 然后就发现在2008上却运行时库,装了2015的运行时库后, 在运行,就 ... 
- 940C Phone Numbers
			传送门 题目大意 给你两个数字n和k,给你一个字符串s,n是s的长度,求字母集合是s的字母集合子集的字典序大于s的长度为k的字典序最小的字符串t 分析 将字符转化为数字,然后分两种情况处理: 1.n& ... 
- Java基础系列--static关键字
			原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/8477914.html 一.概述 static关键字是Java诸多关键字中较常使用的一个,从 ... 
- WPF&Winform版本地图引擎
			最近几年一直从事地图方面的工作,自主研发了WPF和Winform两个版本瓦片地图引擎.轻量级.不依赖第三库.先上一张图片展示一下吧! 产品包括服务端和客户端两部份: 1.服务端主要地图图层配制和空间计 ... 
- 关于eclipse的mysql连接配置
			打开eclipse,选择Window→Open Perspective→Other→Database Development,然后在右边的导航栏右键点击Database Connections文件夹, ... 
