题目: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. junit的安装和使用

    一.junit的安装: junit-4.11.jar: http://www.java2s.com/Code/Jar/j/Downloadjunit411jar.htm hamcrest-core.j ...

  2. 用1个 2个3个 5个div实现 十字架

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. vs 2013下自定义ASP.net MVC 5/Web API 2 模板(T4 视图模板/控制器模板)

    vs 2013下自定义ASP.net MVC 5/Web API 2  模板(T4 视图模板/控制器模板): Customizing ASP.NET MVC 5/Web API 2 Scaffoldi ...

  4. Html 小插件7 新闻免费代码

    http://rss.cnfol.com/freecode/ 定制方法图:

  5. file_get_contents post数据

    //默认模拟的header头 private function _defaultHeader() { $header = "User-Agent:Mozilla/5.0 (Windows; ...

  6. Web网页中动态数据区域的识别与抽取 Dynamical Data Regions Identification and Extraction in Web Pages

    Web网页中动态数据区域的识别与抽取 Dynamical Data Regions Identification and Extraction in Web Pages Web网页中动态数据区域的识别 ...

  7. java中的集合链表

    java中的集合类有很多种,每个都有自己的一些特点,推荐你专门在这方面研究一下,比方Vector,ArrayList,,LinkedList,Hashtable等,其中你问到的链表,是不是指Linke ...

  8. JavaScript 实现Map

    var map=new Map(); map.put("a","A");map.put("b","B");map.put ...

  9. iOS 发布应用时屏蔽NSLog

    在开发过程中,经常需要使用NSLog来进行调试,但是NSLog是非常影响性能的,所以我们应该在发布应用时屏蔽掉NSLog,但是如果通过手工的去一行一行的改得话,未免太枯燥与费时了,庆幸的是,我们可以通 ...

  10. 用js捕捉鼠标连续点击三次事件怎么实现啊

    var count = 0, timer; document.onclick = function(){ if(count < 2){ if(timer){ clearTimeout(timer ...