code forces 1051 d
看的这个题解:http://www.cnblogs.com/tobyw/p/9685639.html
写的比较清楚。
矩阵类型的计数题
比赛时感觉就像是个dp,然后就跳过了。
现在看着题解写一下,感觉还算可以理解。但是没有dp的思维啊,肯定想不出来的。。
#include <bits/stdc++.h> using namespace std; long long dp[][][]; const long long mod = ;
int main() { long long n,k; cin>>n>>k; memset(dp,,sizeof(dp)); dp[][][] = ; //
dp[][][] = ; //
dp[][][] = ; //
dp[][][] = ; //11 //cout<<k<<endl;
for(int i = ; i <= n; i++) {
// i列最多i * 2 个联通块
for(int j = ; j <= (i << ); j++) {
//cout<<dp[n][k][0]<<' '<<dp[n][k][1]<<' '<<dp[n][k][2]<<' '<<dp[n][k][3]<<endl;
//cout<<j<<endl;
// 这一列填00的
dp[i][j][] = dp[i - ][j][] + dp[i - ][j][] + dp[i - ][j][] + dp[i - ][j - ][];
dp[i][j][] %= mod; // 填01
dp[i][j][] = dp[i - ][j - ][] + dp[i - ][j][] + dp[i - ][j - ][] + dp[i - ][j - ][];
dp[i][j][] %= mod; // 填10
dp[i][j][] = dp[i - ][j - ][] + dp[i - ][j - ][] + dp[i - ][j][] + dp[i - ][j - ][];
dp[i][j][] %= mod; // 填11
dp[i][j][] = dp[i - ][j - ][] + dp[i - ][j][] + dp[i - ][j][] + dp[i - ][j][];
dp[i][j][] %= mod; }
} long long ans = ;
//cout<<dp[n][k][0]<<' '<<dp[n][k][1]<<' '<<dp[n][k][2]<<' '<<dp[n][k][3]<<endl;
ans = ans + dp[n][k][] + dp[n][k][] + dp[n][k][] + dp[n][k][];
ans = ans % mod;
//cout<<ans<<endl;
printf("%I64d\n", ans); return ;
}
code forces 1051 d的更多相关文章
- 思维题--code forces round# 551 div.2
思维题--code forces round# 551 div.2 题目 D. Serval and Rooted Tree time limit per test 2 seconds memory ...
- Code Forces 796C Bank Hacking(贪心)
Code Forces 796C Bank Hacking 题目大意 给一棵树,有\(n\)个点,\(n-1\)条边,现在让你决策出一个点作为起点,去掉这个点,然后这个点连接的所有点权值+=1,然后再 ...
- Code Forces 833 A The Meaningless Game(思维,数学)
Code Forces 833 A The Meaningless Game 题目大意 有两个人玩游戏,每轮给出一个自然数k,赢得人乘k^2,输得人乘k,给出最后两个人的分数,问两个人能否达到这个分数 ...
- Code Forces 543A Writing Code
题目描述 Programmers working on a large project have just received a task to write exactly mm lines of c ...
- code forces 999C Alphabetic Removals
C. Alphabetic Removals time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- code forces 383 Arpa's loud Owf and Mehrdad's evil plan(有向图最小环)
Arpa's loud Owf and Mehrdad's evil plan time limit per test 1 second memory limit per test 256 megab ...
- code forces 382 D Taxes(数论--哥德巴赫猜想)
Taxes time limit per test 2 seconds memory limit per test 256 megabytes input standard input output ...
- code forces Watermelon
/* * Watermelon.cpp * * Created on: 2013-10-8 * Author: wangzhu */ /** * 若n是偶数,且大于2,则输出YES, * 否则输出NO ...
- code forces Jeff and Periods
/* * c.cpp * * Created on: 2013-10-7 * Author: wangzhu */ #include<cstdio> #include<iostrea ...
随机推荐
- 响应式Web设计- Viewport
什么是Viewport? viewport是用户网页的可视区域, 翻译为中文可以叫做"视区". 设置Viewport 一个常用的针对移动网页优化过的页面的Viewport meta ...
- Mac电脑怎么显示隐藏文件、xcode清除缓存
1.删除Xcode中多余的证书provisioning profile 手动删除: Xcode6 provisioning profile path: ~/Library/MobileDevice/P ...
- Python运算符总结
一.简介 Python中运算符分为: 算术运算符:主要用于两个对象算数计算(加减乘除等运算) 比较(关系)运算符:用于两个对象比较(判断是否相等.大于等运算) 赋值运算符:用于对象的赋值,将运算符右边 ...
- PERL学习之模式匹配
一.简介 模式指在字符串中寻找的特定序列的字符,由反斜线包含:/def/即模式def.其用法如结合函数split将字符串用某模式分成多个单词:@array = split(/ /, $line); ...
- mcu读写调式
拿仿真SPIS为例: 对于其他外设(UART.SPIM.I2S.I2C...)都是一个道理. 当MCU写时:主要对一个寄存器进行写,此寄存器是外设的入口(基本都会做并转串逻辑). spis_tx_da ...
- perl学习之子程序
一.定义子程序即执行一个特殊任务的一段分离的代码,它可以使减少重复代码且使程序易读.PERL中,子程序可以出现在程序的任何地方.定义方法为:sub subroutine{statements;}二.调 ...
- 关于网络IP地址的分类
一.IP地址的分类 众所周知,IP地址都是以点号.分为4段来表示.不同类的IP前几位的表示含义也不尽相同. 1.A类IP [网络地址] 第一位表示网络地址,且第一个字节的第一位必须以0开头.依据此原则 ...
- Java-获取一个类的父类
如何使用代码获取一个类的父类 package com.tj; public class MyClass implements Cloneable { public static void main(S ...
- 【03】图解原型和原型链by魔芋
[03]图解原型和原型链 一图胜前言 请先结合图解原型和原型链这张图. 可以分为4种情况. 情况1: Object有: constructor:是Function. __pro ...
- selenium常见控件操作
下拉选择框 第一种方法:from selenium.webdriver.support.select import Select# 实例化一个Select类的对象 selector = Select( ...