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

建站什么程序好口碑营销方案

建站什么程序好,口碑营销方案,学校专业建设备案网站,做手机旅游网站D. Shift Esc 题目: 思路: 典DP的变种 如果这一题没有这个变换操作,那么是一个很典型的二维dp,每一个格子我们都选择上面和左边中的最小值即可 而这题由于可以变换,那我们就要考虑变换操作,首先一个显然…

D. Shift + Esc

题目:

思路:

典DP的变种

如果这一题没有这个变换操作,那么是一个很典型的二维dp,每一个格子我们都选择上面和左边中的最小值即可

而这题由于可以变换,那我们就要考虑变换操作,首先一个显然的结论就是我们最多只需要变换m-1次,因为之后的变换其实就回到了开始状态,所以是没必要的

这里我们就可以使用一个 dp[i][j][k] ,其定义为 (i,j) 位置在变换 k 次后的最小值

再次观察,我们发现向下的操作其实只在乎上面的 最小值 和 当前行的值(可变换),所以我们可以用一个 Truedp[i][j] 代表 (i,j) 位置变换完之后的最小可能值,每次从上方转移的时候用这个即可

代码注意变换操作的细节即可

代码:

#include <iostream>
#include <algorithm>
#include<cstring>
#include<cctype>
#include<string>
#include <set>
#include <vector>
#include <cmath>
#include <queue>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <memory>
using namespace std;
#define int long long
#define yes cout << "YES\n"
#define no cout << "NO\n"int n, m, k;int get(const vector<vector<int>>& a,int i, int j, int add)
{int tmp = (j + add) % m;return tmp == 0 ? a[i][m] : a[i][tmp];
}void solve()
{cin >> n >> m >> k;vector<vector<int>> mp(n + 1, vector<int>(m + 1));for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++){cin >> mp[i][j];}}vector<vector<vector<int>>> dp(n + 1, vector<vector<int>>(m + 1, vector<int>(m+1,1e18)));vector<vector<int>> Truedp(n + 1, vector<int>(m + 1, 1e18));Truedp[0][1] = Truedp[1][0] = 0;for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++){for (int x = 0; x < m; x++){dp[i][j][x] = min(dp[i][j][x], Truedp[i - 1][j] + get(mp,i,j,x) + 1LL*x*k);dp[i][j][x] = min(dp[i][j][x], dp[i][j-1][x] + get(mp, i, j, x));Truedp[i][j] = min(Truedp[i][j], dp[i][j][x]);}}}cout << Truedp[n][m] << endl;
}signed main()
{cin.tie(0)->sync_with_stdio(false);int t = 1;cin >> t;while (t--){solve();}return 0;
}


文章转载自:

http://BwGreL99.Lzsxp.cn
http://fhI2Ah1K.Lzsxp.cn
http://4NKk3dhR.Lzsxp.cn
http://L2esGY1e.Lzsxp.cn
http://y1RdbOaB.Lzsxp.cn
http://Z6Vo3fWg.Lzsxp.cn
http://Fx268v27.Lzsxp.cn
http://iia9IxpT.Lzsxp.cn
http://fPXVSacn.Lzsxp.cn
http://V6Y5QWcR.Lzsxp.cn
http://4YuUB8bH.Lzsxp.cn
http://xLYlEmCJ.Lzsxp.cn
http://8OhYVm4X.Lzsxp.cn
http://DDabtx3S.Lzsxp.cn
http://wAvVrHCL.Lzsxp.cn
http://YUq6yiML.Lzsxp.cn
http://I9sZ6VL5.Lzsxp.cn
http://2chZBMBN.Lzsxp.cn
http://ZTqw0TID.Lzsxp.cn
http://tO1mbMv6.Lzsxp.cn
http://H3SXYt7j.Lzsxp.cn
http://Eut1adzM.Lzsxp.cn
http://5McdMI19.Lzsxp.cn
http://nRRkA8Sn.Lzsxp.cn
http://w1VE9XH6.Lzsxp.cn
http://ESsZeHY7.Lzsxp.cn
http://awLEKlhP.Lzsxp.cn
http://ywjm3bBo.Lzsxp.cn
http://p7qXqM2d.Lzsxp.cn
http://VMRgmbu9.Lzsxp.cn
http://www.dtcms.com/wzjs/719280.html

相关文章:

  • 网站的总规划书宿迁网络推广
  • 广州网站建设公司网络安全优化网站建设加数据库
  • 外贸网站建设入门营销型网站的建设方案
  • 做农产品的网站名称网站建设具体需求
  • 叮当快药网站谁做的wordpress php 採集
  • 无锡做网站专业的公司重庆黄埔建设集团网站
  • 做网站采集郑州市建设网站
  • 台州网站专业制作wordpress右侧悬浮搜索菜单
  • 花都建网站公司用模板做网站会被盗吗
  • 国外 网站有做验证码吗WordPress注册不提示
  • 手机网站单页面大同网站建设公司
  • wordpress单页淘宝客seo的优化方向
  • 网站开发的技术会计培训班的费用是多少
  • 能够做冶金工程毕业设计的网站html代码做的网站
  • 苏州建站公司精选苏州聚尚网络建站之星怎么免费做网站
  • 如何做推广赚钱天津网站seo设计
  • 网站外链的优化方法狮岭做包包的网站
  • 手机建立网站多少钱zzcms网站开发
  • 学电商比较好的网站有哪些wordpress 首页设置幻灯片
  • 怎么做网站聊天视频直播南昌哪里做网站好
  • 微站是什么会泽住房和城乡建设局网站
  • 下载免费软件哪个网站好网站升级建设
  • 北京外包做网站如何报价公司主页的网站格式
  • 陕西省建设银行分行互联网互联网站360建筑网密码忘了
  • vps搭建网站微信网站建设企业
  • 金融网站建设方案书南方数据企业网站管理系统9
  • 在线3d建模网站档案网站建设的原则
  • 一级a做爰片免费网站国产网站建设 无锡
  • 张家口网站设计朋友帮忙做网站 费用多少
  • 上海专业网站建设排行郑州快速网站优化公司哪家好