当前位置: 首页 > news >正文

dp题目集合

1.Problem - 2B - Codeforces 

最终有几个零,是有乘积中2,5因数个数的最小值决定的。所以这里a,b分别待办2,5,的最少。

#include <bits/stdc++.h>using namespace std;typedef long long ll;
typedef double db;
typedef long double ldb;
typedef pair<int, int> pii;
typedef pair<ll, ll> PII;
#define pb emplace_back
//#define int ll
#define all(a) a.begin(),a.end()
#define x first
#define y second
#define ps push_back
#define endl '\n'
#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)void solve();const int N = 1e3 + 10;signed main() {IOS;ll t = 1;while (t--)solve();return 0;
}ll dp[N][N][2];
ll path[N][N][2];
ll a[N][N],b[N][N];void dfs(ll x, ll y, ll k)
{if(x == 1 && y == 1) return;//endif(path[x][y][k]){dfs(x,y-1,k); cout << "R";}else{dfs(x-1,y,k);cout << "D";}
}void solve() {ll n; cin >> n;ll flag = 0;for(int i = 1; i <= n; ++ i)for(int j = 1; j <= n; ++ j){ll x; cin >> x;if(x == 0) x = 10, flag = i;while(x % 2 == 0) x >>= 1, a[i][j] ++;while(x % 5 == 0) x /= 5, b[i][j] ++;}memset(dp,0x3f,sizeof(dp));dp[1][1][0] = a[1][1], dp[1][1][1] = b[1][1];//0 : 2     1 : 5for(int i = 1; i <= n; ++ i){for(int j = (i == 1) ? 2 : 1; j <= n; ++ j){if(dp[i-1][j][0]<=dp[i][j-1][0]){path[i][j][0]=0;}else path[i][j][0]=1;if(dp[i-1][j][1]<=dp[i][j-1][1]){path[i][j][1]=0;}else path[i][j][1]=1;dp[i][j][0]=min(dp[i-1][j][0],dp[i][j-1][0])+a[i][j];dp[i][j][1]=min(dp[i-1][j][1],dp[i][j-1][1])+b[i][j];}}ll k;if(dp[n][n][0] < dp[n][n][1])k = 0;//2 ...else k = 1;if(flag && dp[n][n][k]){cout << 1 << endl;for(int i = 1; i < flag; ++ i) cout << "D";for(int i = 1; i < n; ++ i) cout << "R";for(int i = flag; i < n; ++ i) cout << "D";}else{cout << dp[n][n][k] << endl;dfs(n,n,k);}
}


http://www.mrgr.cn/news/5259.html

相关文章:

  • Windows Microsoft Edge 浏览器 配置【密码】
  • Python实战:如何使用K-means算法进行餐馆满意度NLP情感分析
  • 【Redis】单线程架构
  • Python知识点:如何使用Flask与AWS Lambda构建无服务器应用
  • 深入解析fs.ReadStream:Node.js中的文件读取流利器
  • spring中事务介绍
  • 得物App白屏优化系列|网络篇
  • 详解Linux命令--netstat
  • 代驾系统源码开发中的用户体验优化:从设计到实现的全方位解析
  • 观测云的安全监控策略:Prometheus 生态的深度集成
  • MySQL中的约束
  • Linux设备驱动节点里的bind与unbind
  • 工业物联网(IIOT)的定义、示例及关键技术
  • 深度学习中常用参数解释
  • Android笔试面试题AI答之Kotlin偏门考点总结
  • 【C++】深入解析C/C++内存管理:new与delete的使用及原理
  • SQL手工注入漏洞测试(MongoDB数据库)
  • 深入探讨量子计算领域的最新进展及其对社会经济的影响
  • EasyCVR视频汇聚技术赋能智慧煤矿:车载设备接入方案助力实时监控与远程监管
  • 软件测试面试题总结(含答案解析+文档)