贡献了一列WA。。

数学很神奇啊

这个题的关键是怎么才能算尾0的个数 只能相乘 可以想一下所有一位数相乘 除0之外,只有2和5相乘才能得到0 当然那些本身带0的多位数 里面肯定含有多少尾0 就含有多少对2和5

这样就知道了 就是求2和5 的对数最少的 一条路 DP就不用说了 递推

注意有0的时候的计算  特殊处理一下

 #include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
#include<vector>
using namespace std;
#define N 1010
#define INF 1e10
#define LL __int64
LL dp[N][N][];
int a[N][N],b[N][N];
int n;
char pa[N<<];
int init(int x,int k)
{
int num=;
while(x)
{
if(x%k==)
{
num++;
x/=k;
}
else break;
}
return num;
}
int main()
{
int i,j,y,o1,o2,f=;
scanf("%d",&n);
for(i = ; i <= n ; i++)
for(j = ; j <= n ; j++)
{
scanf("%d",&y);
if(y==)
{
o1 = i;
o2 = j;
f = ;
}
int o = init(y,);
a[i][j] = o;
o = init(y,);
b[i][j] = o;
}
for(i = ; i <= n; i++)
for(j = ; j <= n ; j++)
{
dp[i][j][] = INF;
dp[i][j][] = INF;
}
dp[][][] = a[][];
dp[][][] = b[][];
for(i = ; i <= n ; i++)
for(j = ; j <= n ; j++)
{
dp[i][j][] = min(dp[i][j][],min(dp[i-][j][],dp[i][j-][])+a[i][j]);
dp[i][j][] = min(dp[i][j][],min(dp[i-][j][],dp[i][j-][])+b[i][j]);
}
int g = ;
if(f&&min(dp[n][n][],dp[n][n][])>)
{
printf("1\n");
for(i = ; i < o2 ; i++)
printf("R");
for(i = ; i < o1 ; i++)
printf("D");
for(i = o2; i < n ; i++)
printf("R");
for(i = o1; i < n ; i++)
printf("D");
return ;
}
if(dp[n][n][]<dp[n][n][])
{
int i = n,j = n;
while()
{
if(i>&&dp[i][j][]==dp[i-][j][]+a[i][j])
{
i = i-;
pa[++g] = 'D';
}
else if(j>)
{
j = j-;
pa[++g] = 'R';
}
if(i==&&j==)
break;
}
}
else
{
int i = n,j = n;
while()
{
if(i>&&dp[i][j][]==dp[i-][j][]+b[i][j])
{
i = i-;
pa[++g] = 'D';
}
else if(j>)
{
j = j-;
pa[++g] = 'R';
}
if(i==&&j==)
break;
}
}
printf("%I64d\n",min(dp[n][n][],dp[n][n][]));
for(i = g ; i >= ; i--)
printf("%c",pa[i]);
puts("");
return ;
}

Codeforces Beta Round #2B(dp+数学)的更多相关文章

  1. 暴力/DP Codeforces Beta Round #22 (Div. 2 Only) B. Bargaining Table

    题目传送门 /* 题意:求最大矩形(全0)的面积 暴力/dp:每对一个0查看它左下的最大矩形面积,更新ans 注意:是字符串,没用空格,好事多磨,WA了多少次才发现:( 详细解释:http://www ...

  2. Codeforces Beta Round #16 E. Fish (状压dp)(概率dp)

    Codeforces Beta Round #16 (Div. 2 Only) E. Fish 题目链接:## 点击打开链接 题意: 有 \(n\) 条鱼,每两条鱼相遇都会有其中一只吃掉对方,现在给你 ...

  3. Codeforces Beta Round #13 C. Sequence (DP)

    题目大意 给一个数列,长度不超过 5000,每次可以将其中的一个数加 1 或者减 1,问,最少需要多少次操作,才能使得这个数列单调不降 数列中每个数为 -109-109 中的一个数 做法分析 先这样考 ...

  4. Codeforces Beta Round #62 题解【ABCD】

    Codeforces Beta Round #62 A Irrational problem 题意 f(x) = x mod p1 mod p2 mod p3 mod p4 问你[a,b]中有多少个数 ...

  5. Codeforces Beta Round #83 (Div. 1 Only)题解【ABCD】

    Codeforces Beta Round #83 (Div. 1 Only) A. Dorm Water Supply 题意 给你一个n点m边的图,保证每个点的入度和出度最多为1 如果这个点入度为0 ...

  6. Codeforces Beta Round #77 (Div. 2 Only)

    Codeforces Beta Round #77 (Div. 2 Only) http://codeforces.com/contest/96 A #include<bits/stdc++.h ...

  7. Codeforces Beta Round #67 (Div. 2)

    Codeforces Beta Round #67 (Div. 2) http://codeforces.com/contest/75 A #include<bits/stdc++.h> ...

  8. Codeforces Beta Round #59 (Div. 2)

    Codeforces Beta Round #59 (Div. 2) http://codeforces.com/contest/63 A #include<bits/stdc++.h> ...

  9. Codeforces Beta Round #52 (Div. 2)

    Codeforces Beta Round #52 (Div. 2) http://codeforces.com/contest/56 A #include<bits/stdc++.h> ...

随机推荐

  1. Daject初探 - 从Table模型得到Record模型

    前言: 如果你还不知道Daject是什么,如何使用,可以浏览 http://www.cnblogs.com/kason/p/3577359.html github地址:https://github.c ...

  2. SVN服务器搭建和使用

    SVN服务器搭建和使用 Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上了,下 ...

  3. asp.net中json格式化及在js中解析json

    类: public class UploadDocumentItem { public UploadDocumentItem() { } public string DocMuid { get; se ...

  4. java集合类(三)About Iterator & Vector(Stack)

    接上篇:java集合类学习(二) Talk about “Iterator”: 任何容器类,在插入元素后,还需要取回元素,因为这是容器的最基本工作.对于一般的容器,插入有add()相关方法(List, ...

  5. MyEclipse2015破解版_MyEclipse 2015 stable 2.0 稳定版 破解日志

    前言:在MyEclipse 2015 Stable 1.0下载安装破解日志(http://www.cnblogs.com/wql025/p/5161979.html)一文中,笔者主要讲述了该版本的破解 ...

  6. Matlab中unifrnd函数使用解析

    1.生成N阶[a,b]均匀分布数组 >> unifrnd(3,5,5,5) ans = 3.8651 4.6677 4.8115 4.3456 4.8560 4.0241 3.4079 3 ...

  7. SQL Server 之 事务隔离级别

    SET TRANSACTION ISOLATION LEVEL xxx  -- 每次设置只针对当前事务块 xxx 取值: READ UNCOMMITTED READ COMMITTED REPEATA ...

  8. [剑指OFFER] 斐波那契数列- 跳台阶 变态跳台阶 矩形覆盖

    跳台阶 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. class Solution { public: int jumpFloor(int number) ...

  9. 写一个函数,实现两个字符串的比较。即实现strcmp函数,s1=s2时返回0,s1!=s2时返回二者第一个不同字符的ASCII值。

    #include<stdio.h> #include<stdlib.h> int main(){ setvbuf(stdout,NULL,_IONBF,); ],s2[]; i ...

  10. Python-aiohttp百万并发

    http://www.aikaiyuan.com/10935.html 本文将测试python aiohttp的极限,同时测试其性能表现,以分钟发起请求数作为指标.大家都知道,当应用到网络操作时,异步 ...