zoj 3725 Painting Storages dp
最近做题没状态,其实我觉得最大的问题就是没自信,不敢写,还是没有勇气,我发现这都是自己的性格,生活中的我也是这个样子,应该在不断成长!
题目大意:连续的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相关推荐
- Codeforces 300D Painting Square dp
Painting Square 转换一下变成 a 层的完全四叉树, 占领 k 个点有多少种方案, 点能被占当且仅当它的父亲被占. a <= 30, 所以我们把每层都dp出来, dp[ i ][ ...
- ZOJ 1425 Crossed Matchings DP LCS
ZOJ 1425 Crossed Matchings 题目描述: 题目链接:ZOJ 1425 Crossed Matchings 题目大意: 上下2组数据,找一个满足条件的最大匹配数.匹配条件是任意一 ...
- zoj 3812 状压dp
转载:http://blog.csdn.net/qian99/article/details/39138329 题意:给出n个物品,每个物品有两种属性Wi,Ti,有q组查询,每组查询要求在n个物品中选 ...
- [CodeForces 300D Painting Square]DP
http://codeforces.com/problemset/problem/300/D 题意:每一次操作可以选一个正方形,令边长为n,如果n为奇数那么可以从中间画一个十字,分成4个大小相等的边长 ...
- zoj 3351 Bloodsucker(概率 dp)
题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4530 dp[i]表示现在存在i个吸血鬼要达成目标(全为吸血鬼)天数的数学 ...
- ZOJ 3471 压缩状态DP
这个问题要看状态怎么想,第一种直接的想法是1代表未合并,状态就从1111111 转移到 带有1个0,然后带有两个0, 但是这样子编程非常不直观.换一种思路,0代表未合并,但是我可以先合并前几个,就是说 ...
- ZOJ - 4114 Flipping Game(dp+组合数学)
题目链接:点击查看 题目大意:给出一个长度为 n 的 01 字符串表示 n 个灯泡的状态,1 为点亮,0 为熄灭,现在需要进行 k 轮操作,每轮操作可以选择恰好 m 个位置,将灯泡的状态置反,现在给出 ...
- ZOJ.3551.Bloodsucker(期望DP)
题目链接 \(Description\) 有1个吸血鬼和n-1个人,每天有且只会有两个人/吸血鬼相遇,如果是人与吸血鬼相遇,那个人会有p的概率变成吸血鬼:否则什么也不发生.求n个都变成吸血鬼的期望天数 ...
- Travel(HDU 4284状压dp)
题意:给n个城市m条路的网图,pp在城市1有一定的钱,想游览这n个城市(包括1),到达一个城市要一定的花费,可以在城市工作赚钱,但前提有工作证(得到有一定的花费),没工作证不能在该城市工作,但可以走, ...
最新文章
- HDU - 4738 Caocao's Bridges(边双缩点)
- 【渝粤题库】陕西师范大学202871 婚姻家庭法作业
- luogu1168 中位数
- html 中表格长度固定
- 【今日CS 视觉论文速览】10 Jan 2019
- 查询Linux充电时间,【充电】Linux学习(二)——常用的linux命令
- 为何我的苹果手机,每次打开软件都提示要登录ID帐号,而且软件打不开
- uml定义的使用的关系
- idea 快捷键大全
- java 性能调优案例_java性能调优实战,java性能调优
- 程序员打造影响力常犯的 3 个错
- 统一社会信用代码校验和生成
- 朱棣文2009年哈佛大学演讲:未来并非在劫难逃
- gtx1060 3g和6g性能差距 gtx1060 3g和6g吃鸡区别
- 使用日历热图进行时序数据可视化
- 经典TVB台词100句
- iOS进度条 自定义圆角 UIProgressView
- 《上海市道路交通管理条例(修订草案)》揭开面纱,禁停黄线被固化
- 浅谈Java三层架构
- BLDC无刷直流电机电流滞环控制 1.转速环采用pi控制,电流环采用滞环控制