URAL 1260 Nudnik Photographer DFS DP
题目: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的更多相关文章
- 递推DP URAL 1260 Nudnik Photographer
题目传送门 /* 递推DP: dp[i] 表示放i的方案数,最后累加前n-2的数字的方案数 */ #include <cstdio> #include <algorithm> ...
- URAL 1260 Nudnik Photographer(递推)
题目链接 题意 : 给你1到n这n个数,排成一排,然后1放在左边最开始,剩下的数进行排列,要求排列出来的数列必须满足任何两个相邻的数之间的差不能超过2,问你有多少种排列 思路 : 对于dp[n], n ...
- Ural 1260 Nudnik Photographer
Problem Description If two people were born one after another with one second difference and one of ...
- Ural 1260 A nudnik photographer(DP)
A nudnik photographer 大意: 对1到N这些数进行排列,1必需要在最左边.相邻的两个数之间的差值不能超过2,问有多少种排列的方法. 思路: 对座位进行DP,当第一个是1,第二个是2 ...
- 记忆化搜索(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]) + ...
- 记忆化搜索(DFS+DP) URAL 1501 Sense of Beauty
题目传送门 /* 题意:给了两堆牌,每次从首部取出一张牌,按颜色分配到两个新堆,分配过程两新堆的总数差不大于1 记忆化搜索(DFS+DP):我们思考如果我们将连续的两个操作看成一个集体操作,那么这个操 ...
- dfs+dp思想的结合------hdu1078
首先是题目的意思: 从一个正方形的0,0点开始走,只能横着走,竖着走,最多走k步,下一个点的数一定要比当前这个点的值大,每走一步,就加上下一个点的数据,问数据最大能有多少. 首先遇到这种题目,走来走去 ...
- HDU1978How Many Ways 记忆化dfs+dp
/*记忆化dfs+dp dp[i][j]代表达到这个点的所有路的条数,那么所有到达终点的路的总数就是这dp[1][1]加上所有他所能到达的点的 所有路的总数 */ #include<stdio. ...
- 【cf1111】C. Creative Snap (dfs+dp)
传送门 简单的dfs+dp即可解决.根本不用动态开点 /* * Author: heyuhhh * Created Time: 2019/11/13 10:12:42 */ #include < ...
随机推荐
- 快排 quicksort 快速排序
首先看这个 http://www.cnblogs.com/morewindows/archive/2011/08/13/2137415.html 看完后就没有什么不理解的了... PS 注意 凡是在一 ...
- 电脑Win7如何取得文件管理所有权(提供各种GHOST版本的Windows)
电脑Windows7系统如何取得文件管理所有权?从 VISTA开始,微软对操作系统的安全性有了明显的提高,这样使得以前我们在XP下都可以打开或删除的文件(夹),无法在WIN7下进行操作.就算是在 Ad ...
- css 样式
<!doctype html> <html lang="en"> <head> <meta name="Generator&qu ...
- cocos2dx 在mac下开发ios和android游戏
这里主要说android,因为ios开发在文章 http://blog.csdn.net/itcastcpp/article/details/24792323 中已经说过. 1)打开工程 打开ecli ...
- openStack deep dive,Retake Policy
Method of Payment: visa MasterCard American Express Discover
- hibernate-search-5.1.1简易使用
系统要求java7和hibernate-core-4.3.8,此外还依赖如下jar包 使用demo如下: package com.ciaos.controller; import java.io.IO ...
- Android面试题06
51. 一条最长的短信息约占多少byte? 中文70(包括标点),英文160,160个字节 这个说法不准确, 要跟手机制式运营商等信息有关. 做实验,看源码 ArrayList<String&g ...
- java实现 阿拉伯数字转换为汉字数字 算法
package test; public class NumberFormatTest { static String[] units = { "", "十", ...
- 嵌入式系统 Boot Loader
基于嵌入式系统中的 OS 启动加载程序 ―― Boot Loader 的概念.软件设计的主要任务以及结构框架等内容.
- SQL Server 2012学习笔记 1 命令行安装
setup.exe /Q /IACCEPTSQLSERVERLICENSETERMS /ACTION=install /PID=748RB-X4T6B-MRM7V-RTVFF-CHC8H /FEATU ...