题目:click here

:这个题可以先dfs深搜下,规律dp

dfs:

 #include <bits/stdc++.h>
using namespace std;
#define S second
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int M = 1e5+; int s;
int cnt = ;
bool vis[];
void dfs( int last, int num ) {
if( num == s ) {
cnt++;
return ;
}
for( int i=; i<s+; i++ )
if( abs(last-i)<= && !vis[i] ) {
vis[i] = true;
dfs( i, num+ );
vis[i] = false;
}
}
int main() {
while( ~scanf("%d", &s ) ) {
memset( vis, false, sizeof(vis) );
cnt = ;
vis[] = true;
dfs( , );
printf("%d\n", cnt );
}
return ;
}

DP:

 #include <bits/stdc++.h>
using namespace std;
#define F first
#define S second
typedef unsigned long long ll;
const int INF = 0x3f3f3f3f;
const int M = 1e5+; int s;
ll dp[];
void pre() {
memset( dp, , sizeof(dp) );
dp[] = ;
dp[] = ;
dp[] = ;
dp[] = ;
for( int i=; i<=; i++ )
dp[i] = dp[i-]+dp[i-]+;
}
int main() {
pre();
while( ~scanf("%d", &s ) ) {
printf("%I64d\n", dp[s] );
}
return ;
}

URAL 1260 Nudnik Photographer DFS DP的更多相关文章

  1. 递推DP URAL 1260 Nudnik Photographer

    题目传送门 /* 递推DP: dp[i] 表示放i的方案数,最后累加前n-2的数字的方案数 */ #include <cstdio> #include <algorithm> ...

  2. URAL 1260 Nudnik Photographer(递推)

    题目链接 题意 : 给你1到n这n个数,排成一排,然后1放在左边最开始,剩下的数进行排列,要求排列出来的数列必须满足任何两个相邻的数之间的差不能超过2,问你有多少种排列 思路 : 对于dp[n], n ...

  3. Ural 1260 Nudnik Photographer

    Problem Description If two people were born one after another with one second difference and one of ...

  4. Ural 1260 A nudnik photographer(DP)

    A nudnik photographer 大意: 对1到N这些数进行排列,1必需要在最左边.相邻的两个数之间的差值不能超过2,问有多少种排列的方法. 思路: 对座位进行DP,当第一个是1,第二个是2 ...

  5. 记忆化搜索(DFS+DP) URAL 1223 Chernobyl’ Eagle on a Roof

    题目传送门 /* 记忆化搜索(DFS+DP):dp[x][y] 表示x个蛋,在y楼扔后所需要的实验次数 ans = min (ans, max (dp[x][y-i], dp[x-1][i-1]) + ...

  6. 记忆化搜索(DFS+DP) URAL 1501 Sense of Beauty

    题目传送门 /* 题意:给了两堆牌,每次从首部取出一张牌,按颜色分配到两个新堆,分配过程两新堆的总数差不大于1 记忆化搜索(DFS+DP):我们思考如果我们将连续的两个操作看成一个集体操作,那么这个操 ...

  7. dfs+dp思想的结合------hdu1078

    首先是题目的意思: 从一个正方形的0,0点开始走,只能横着走,竖着走,最多走k步,下一个点的数一定要比当前这个点的值大,每走一步,就加上下一个点的数据,问数据最大能有多少. 首先遇到这种题目,走来走去 ...

  8. HDU1978How Many Ways 记忆化dfs+dp

    /*记忆化dfs+dp dp[i][j]代表达到这个点的所有路的条数,那么所有到达终点的路的总数就是这dp[1][1]加上所有他所能到达的点的 所有路的总数 */ #include<stdio. ...

  9. 【cf1111】C. Creative Snap (dfs+dp)

    传送门 简单的dfs+dp即可解决.根本不用动态开点 /* * Author: heyuhhh * Created Time: 2019/11/13 10:12:42 */ #include < ...

随机推荐

  1. 快排 quicksort 快速排序

    首先看这个 http://www.cnblogs.com/morewindows/archive/2011/08/13/2137415.html 看完后就没有什么不理解的了... PS 注意 凡是在一 ...

  2. 电脑Win7如何取得文件管理所有权(提供各种GHOST版本的Windows)

    电脑Windows7系统如何取得文件管理所有权?从 VISTA开始,微软对操作系统的安全性有了明显的提高,这样使得以前我们在XP下都可以打开或删除的文件(夹),无法在WIN7下进行操作.就算是在 Ad ...

  3. css 样式

    <!doctype html> <html lang="en"> <head> <meta name="Generator&qu ...

  4. cocos2dx 在mac下开发ios和android游戏

    这里主要说android,因为ios开发在文章 http://blog.csdn.net/itcastcpp/article/details/24792323 中已经说过. 1)打开工程 打开ecli ...

  5. openStack deep dive,Retake Policy

    Method of Payment: visa MasterCard American Express Discover

  6. hibernate-search-5.1.1简易使用

    系统要求java7和hibernate-core-4.3.8,此外还依赖如下jar包 使用demo如下: package com.ciaos.controller; import java.io.IO ...

  7. Android面试题06

    51. 一条最长的短信息约占多少byte? 中文70(包括标点),英文160,160个字节 这个说法不准确, 要跟手机制式运营商等信息有关. 做实验,看源码 ArrayList<String&g ...

  8. java实现 阿拉伯数字转换为汉字数字 算法

    package test; public class NumberFormatTest { static String[] units = { "", "十", ...

  9. 嵌入式系统 Boot Loader

    基于嵌入式系统中的 OS 启动加载程序 ―― Boot Loader 的概念.软件设计的主要任务以及结构框架等内容.

  10. SQL Server 2012学习笔记 1 命令行安装

    setup.exe /Q /IACCEPTSQLSERVERLICENSETERMS /ACTION=install /PID=748RB-X4T6B-MRM7V-RTVFF-CHC8H /FEATU ...