最近做题没状态,其实我觉得最大的问题就是没自信,不敢写,还是没有勇气,我发现这都是自己的性格,生活中的我也是这个样子,应该在不断成长!

题目大意:连续的n个点,每个点可以染红色或者蓝色,求连续染m个红色的点的所有方案数。

思路:1、对于连续的第i个点,如果前面已经出现了m个染红色的点,那么对于i+1的话就为ans【i]*2;

2、对于前面没有出现的点,那么对于第i+1个点,那最后m个就必须出现的,即为a[i-m-1]个,然后减去已经出现的ans【i-m-1】,即为结果!

/
// File Name: 3725.cpp
// Author: wang
// mail:
// Created Time: 2013/9/19 9:04:35
/
#include <cstdio>
#include <cstdlib>
#include <climits>
#include <cstring>
#include <cmath>#include <algorithm>
#include<iostream>
#include<queue>
#include <map>
using namespace std;
typedef long long ll;
#define INF (INT_MAX/10)
#define SQR(x) ((x)*(x))
#define rep(i, n) for (int i=0; i<(n); ++i)
#define repf(i, a, b) for (int i=(a); i<=(b); ++i)
#define repd(i, a, b) for (int i=(a); i>=(b); --i)
#define clr(ar,val) memset(ar, val, sizeof(ar))
#define N 100005
#define mod 1000000007
ll a[N];
ll p[N];
ll ans[N];
int n,m;
int main()
{a[0]=1;repf(i,1,100000)a[i]=a[i-1]*2%mod;while(scanf("%d%d",&n,&m)!=EOF){if(m>n){printf("0\n");continue;}memset(ans,0,sizeof(ans));ans[m]=1;repf(i,m+1,n){ans[i]=((ans[i-1]*2+a[i-m-1]-ans[i-m-1])%mod+mod)%mod;}// repf(i,1,n) cout<<ans[i]<<" "; cout<<endl;cout<<ans[n]<<endl;}return 0;
}

zoj 3725 Painting Storages dp相关推荐

  1. Codeforces 300D Painting Square dp

    Painting Square 转换一下变成 a 层的完全四叉树, 占领 k 个点有多少种方案, 点能被占当且仅当它的父亲被占. a <= 30, 所以我们把每层都dp出来, dp[ i ][ ...

  2. ZOJ 1425 Crossed Matchings DP LCS

    ZOJ 1425 Crossed Matchings 题目描述: 题目链接:ZOJ 1425 Crossed Matchings 题目大意: 上下2组数据,找一个满足条件的最大匹配数.匹配条件是任意一 ...

  3. zoj 3812 状压dp

    转载:http://blog.csdn.net/qian99/article/details/39138329 题意:给出n个物品,每个物品有两种属性Wi,Ti,有q组查询,每组查询要求在n个物品中选 ...

  4. [CodeForces 300D Painting Square]DP

    http://codeforces.com/problemset/problem/300/D 题意:每一次操作可以选一个正方形,令边长为n,如果n为奇数那么可以从中间画一个十字,分成4个大小相等的边长 ...

  5. zoj 3351 Bloodsucker(概率 dp)

    题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4530 dp[i]表示现在存在i个吸血鬼要达成目标(全为吸血鬼)天数的数学 ...

  6. ZOJ 3471 压缩状态DP

    这个问题要看状态怎么想,第一种直接的想法是1代表未合并,状态就从1111111 转移到 带有1个0,然后带有两个0, 但是这样子编程非常不直观.换一种思路,0代表未合并,但是我可以先合并前几个,就是说 ...

  7. ZOJ - 4114 Flipping Game(dp+组合数学)

    题目链接:点击查看 题目大意:给出一个长度为 n 的 01 字符串表示 n 个灯泡的状态,1 为点亮,0 为熄灭,现在需要进行 k 轮操作,每轮操作可以选择恰好 m 个位置,将灯泡的状态置反,现在给出 ...

  8. ZOJ.3551.Bloodsucker(期望DP)

    题目链接 \(Description\) 有1个吸血鬼和n-1个人,每天有且只会有两个人/吸血鬼相遇,如果是人与吸血鬼相遇,那个人会有p的概率变成吸血鬼:否则什么也不发生.求n个都变成吸血鬼的期望天数 ...

  9. Travel(HDU 4284状压dp)

    题意:给n个城市m条路的网图,pp在城市1有一定的钱,想游览这n个城市(包括1),到达一个城市要一定的花费,可以在城市工作赚钱,但前提有工作证(得到有一定的花费),没工作证不能在该城市工作,但可以走, ...

最新文章

  1. HDU - 4738 Caocao's Bridges(边双缩点)
  2. 【渝粤题库】陕西师范大学202871 婚姻家庭法作业
  3. luogu1168 中位数
  4. html 中表格长度固定
  5. 【今日CS 视觉论文速览】10 Jan 2019
  6. 查询Linux充电时间,【充电】Linux学习(二)——常用的linux命令
  7. 为何我的苹果手机,每次打开软件都提示要登录ID帐号,而且软件打不开
  8. uml定义的使用的关系
  9. idea 快捷键大全
  10. java 性能调优案例_java性能调优实战,java性能调优
  11. 程序员打造影响力常犯的 3 个错
  12. 统一社会信用代码校验和生成
  13. 朱棣文2009年哈佛大学演讲:未来并非在劫难逃
  14. gtx1060 3g和6g性能差距 gtx1060 3g和6g吃鸡区别
  15. 使用日历热图进行时序数据可视化
  16. 经典TVB台词100句
  17. iOS进度条 自定义圆角 UIProgressView
  18. 《上海市道路交通管理条例(修订草案)》揭开面纱,禁停黄线被固化
  19. 浅谈Java三层架构
  20. BLDC无刷直流电机电流滞环控制 1.转速环采用pi控制,电流环采用滞环控制

热门文章

  1. android system w,Android system.err
  2. 【美萍超市管理系统】汉码盘点机无缝对接 金蝶盘点机条码数据采集器智能终端PDA
  3. CSP2020-S1游记
  4. 内存和CPU匹配方法详解
  5. python信息采集管理系统_基于Python的求职信息采集分析系统设计与实现
  6. 无人驾驶算法学习(七):基于事件的视觉里程计
  7. rating vs nominal 额定和标称区别
  8. IAR安装与破解WIN7版本
  9. npm私服发包及使用
  10. 我的一点自学心得[摘]