数塔问题mod 100(orz)
看一下题目 和普通的数字三角形看似没啥区别(区别很大)
然后去想:DP方程
- DP[i][j]=Max(DP[i-][j],DP[i-][j-])+a[i][j]
- ans=Max(DP[n][..n])
这是普通的数字三角形的方程。。。然后你会发现跟这道题没啥直接关系
主要是这道题目比较毒瘤 因为 有的时候局部最优≠全局最优
所以...这题 仔细一看 mod 100 就说明了 余数 肯定<100
然而 动态规划的每一维都是表示状态。。
这里用到3个状态。 x,y,w(自然就是三维)
- #include <bits/stdc++.h>
- #define rep(i,j,n) for(register int i=j;i<=n;i++)
- using namespace std;
- typedef long long LL;
- inline LL read() { LL x=; int f=; char ch=getchar();
- while(!isdigit(ch)) { if (ch=='-') f=-; ch=getchar();}
- while(isdigit(ch)) x=(x<<)+(x<<)+(ch^),ch=getchar(); return x*f;
- }
- int n;
- const int N=<<;
- const int mod=;
- LL a[N][N];
- bool DP[N][N][N];
- signed main(){
- n=read();
- rep(i,,n) rep(j,,i) a[i][j]=read()%mod;
- DP[][][a[][]]=;
- rep(i,,n) rep(j,,i) rep(k,,) if(DP[i][j][k]) {
- DP[i+][j][(k+a[i+][j])%mod]=;
- DP[i+][j+][(k+a[i+][j+])%mod]=;
- }
- for(register int k=;k>=;k--) rep(i,,n) if(DP[n][i][k]) {
- cout << k << endl ;
- return ;
- }
- }
时间复杂度大概就是(100*n2)
数塔问题mod 100(orz)的更多相关文章
- 数塔问题(DP算法)自底向上计算最大值
Input 输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N <= 100),表示数塔的高度,接下来用N行数字表示数塔,其中第i行有个i个整数 ...
- dp入门--poj 1163数塔
...
- ACM 杭电HDU 2084 数塔 [解题报告]
数塔 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...
- HDU2084基础DP数塔
数塔 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...
- hdu----(2084)数塔(dp)
数塔 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...
- HDU 2084 数塔(动态规划)
数塔 http://acm.hdu.edu.cn/showproblem.php?pid=2084 Problem Description 在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描 ...
- hdu 2084 数塔 (简单dp)
http://acm.hdu.edu.cn/showproblem.php?pid=2084 数塔 Time Limit: 1000/1000 MS (Java/Others) Memory L ...
- HDU 2084 数塔 (DP)
数塔 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Pr ...
- DP入门数塔问题
在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 已经告诉你了,这 ...
随机推荐
- 配置servlet出现java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
拷贝一份sqljdbc.jar放到/WEB-INF/lib即可
- Volume 6. Mathematical Concepts and Methods
138 - Street Numbers #include <stdio.h> //(2n+1)^2 - 8m^2 = 1,佩尔函数,或者打表 int main() { ; , xi = ...
- top Universities in Mechanical Engineering
- 阻塞套接字返回EAGAIN
今天用NDK写了一个通信程序,发现阻塞SOKCET 读写的时候返回了EAGAIN.NDK下PERROR输出为Try Again.查了半天头文件 在网上找到了原因.在此纪录.网址为http://blog ...
- 仪仗队(codevs 2296)
题目描述 Description 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来 ...
- T5090 众数 codevs
http://codevs.cn/problem/5090/ 时间限制: 1 s 空间限制: 1000 KB 题目等级 : 青铜 Bronze 题目描述 Description 由文件给出N个1到 ...
- 10、Java并发性和多线程-线程安全与不可变性
以下内容转自http://ifeve.com/thread-safety-and-immutability/: 当多个线程同时访问同一个资源,并且其中的一个或者多个线程对这个资源进行了写操作,才会产生 ...
- 关于SVN版本冲突问题
版本冲突原因: 假设A.B两个用户都在版本号为100的时候,更新了kingtuns.txt这个文件,A用户在修改完成之后提交kingtuns.txt到服务器,这个时候提交成功,这个时候kingtuns ...
- 第6章 TCP/IP路由协议故障处理
第6章 TCP/IP路由协议故障处理 一.缺省网关 当包的目的地址不在路由器的路由表中,如路由器配置了缺省网关,则转发到缺省网关,否则就丢弃. Show ip route :查看Cisco路由器的缺省 ...
- DB9针型:RS485输出信号及接线端子引脚分配
下图所看到的.DB9针型RS485输出信号及接线端子引脚分配. 此DB9针型与 标准 RS232 or RS485 DB9定义有所不同,下图中的DB9针型说明仅是针对USB转485DB9接口. wat ...