zoukankan      html  css  js  c++  java
  • [HDOJ6146] Pokémon GO(递推,dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6146

    一个可行的思路是考虑三个子问题

    1. 全部走完2*N个格子的方法总数DP[N]

    2. 全部走完2*N个格子并且起点是最左边的两个格子之一的方法总数DP2[N]

    3. 全部走完2*N个格子并且起点和终点分别是最左边的两个格子的方法总数DP3[N]

    组合2和3的答案就可以得到1 了。

    (其实是找到了原题2333)

     1 /*
     2 ━━━━━┒ギリギリ♂ eye!
     3 ┓┏┓┏┓┃キリキリ♂ mind!
     4 ┛┗┛┗┛┃\○/
     5 ┓┏┓┏┓┃ /
     6 ┛┗┛┗┛┃ノ)
     7 ┓┏┓┏┓┃
     8 ┛┗┛┗┛┃
     9 ┓┏┓┏┓┃
    10 ┛┗┛┗┛┃
    11 ┓┏┓┏┓┃
    12 ┛┗┛┗┛┃
    13 ┓┏┓┏┓┃
    14 ┃┃┃┃┃┃
    15 ┻┻┻┻┻┻
    16 */
    17 #include <bits/stdc++.h>
    18 using namespace std;
    19 #define fr first
    20 #define sc second
    21 #define cl clear
    22 #define BUG puts("here!!!")
    23 #define W(a) while(a--)
    24 #define pb(a) push_back(a)
    25 #define Rint(a) scanf("%d", &a)
    26 #define Rll(a) scanf("%I64d", &a)
    27 #define Rs(a) scanf("%s", a)
    28 #define Cin(a) cin >> a
    29 #define FRead() freopen("in", "r", stdin)
    30 #define FWrite() freopen("out", "w", stdout)
    31 #define Rep(i, len) for(int i = 0; i < (len); i++)
    32 #define For(i, a, len) for(int i = (a); i < (len); i++)
    33 #define Cls(a) memset((a), 0, sizeof(a))
    34 #define Clr(a, x) memset((a), (x), sizeof(a))
    35 #define Full(a) memset((a), 0x7f7f7f, sizeof(a))
    36 #define lrt rt << 1
    37 #define rrt rt << 1 | 1
    38 #define pi 3.14159265359
    39 #define RT return
    40 #define lowbit(x) x & (-x)
    41 #define onenum(x) __builtin_popcount(x)
    42 typedef long long LL;
    43 typedef long double LD;
    44 typedef unsigned long long ULL;
    45 typedef pair<int, int> pii;
    46 typedef pair<string, int> psi;
    47 typedef pair<LL, LL> pll;
    48 typedef map<string, int> msi;
    49 typedef vector<int> vi;
    50 typedef vector<LL> vl;
    51 typedef vector<vl> vvl;
    52 typedef vector<bool> vb;
    53 
    54 const LL mod = 1e9+7;
    55 const int maxn = 11000;
    56 LL a[maxn], t[maxn];
    57 int n;
    58 
    59 
    60 signed main() {
    61     // FRead();
    62     Cls(a); Cls(t);
    63     t[1] = 1; a[1] = 1, a[2] = 6;
    64     For(i, 2, maxn) t[i] = (t[i-1] * 2) % mod;
    65     For(i, 3, maxn) {
    66         a[i] = (t[i] + (2 * a[i-1]) % mod + (4 * a[i-2]) % mod) % mod;
    67     }
    68     int T;
    69     Rint(T);
    70     W(T) {
    71         Rint(n);
    72         LL ret = 0;
    73         ret = 4 * a[n];
    74         For(i, 2, n) {
    75             ret += 8 * a[n-i] % mod * t[i-1] % mod;
    76             ret += 8 * t[n-i] % mod * a[i-1] % mod;
    77             ret %= mod;
    78         }
    79         if(n == 1) {
    80             puts("2");
    81             continue;
    82         }
    83         printf("%I64d
    ", ret);
    84     }
    85     RT 0;
    86 }
  • 相关阅读:
    SpringBoot整合Shiro实现基于角色的权限访问控制(RBAC)系统简单设计从零搭建
    Spring Cloud Feign 总结
    Spring Cloud Eureka 总结
    基于Shiro,JWT实现微信小程序登录完整例子
    解决JPA懒加载典型的N+1问题-注解@NamedEntityGraph
    一个微服务+DDD(领域驱动设计)的代码结构示例
    造轮子-AgileConfig基于.NetCore的一个轻量级配置中心
    ASP.NET Core Blazor 初探之 Blazor WebAssembly
    .Net Core
    AServer
  • 原文地址:https://www.cnblogs.com/kirai/p/7392057.html
Copyright © 2011-2022 走看看