srm 533

250



Description

给你一串数字序列,每次删掉第i个数。获得权值w[i1]×w[i+1],求最后剩下第一个和最后一个数获得的最大权值和

Solution

简单dp,枚举断点就可以

Code

#include <bits/stdc++.h>
using namespace std;
const int N = 55;
typedef long long LL;
LL f[N][N];
vector<int> w;
LL dp(int l, int r) {
    if (r - l == 1) return f[l][r] = 0;
    LL &t = f[l][r];
    if (~t)    return t;
    t = 0;
    for (int i = l + 1; i < r; ++i) {
        t = max(t, dp(l, i) + dp(i, r) + w[l] * w[r]);
    }
    return t;
}
class CasketOfStar {
    public:
    int maxEnergy(vector <int> weight) {
        w = weight;
        int n = weight.size();
        memset(f, -1, sizeof(f));
        return dp(0, n - 1);
    }
};




500



Description:

给定一个字符矩阵。我们要按顺序取遍全部的”#”。规定操作顺序是取同行的一个”#”,再取同列的一个”#”,以此类推,问能不能取遍

Solution

非常easy反应到,这是一道欧拉回路的题,行列单独考虑。处理一些细节就能够了。注意到假设是欧拉通路的话起始点的问题就能够了。整体来说比較简单。

Code:

#include <bits/stdc++.h>
using namespace std;
const int N = 55;
int r[N], c[N];
bool ok[N][N], vis[N][N];
int n, m, tot;
void dfs(int x, int y) {
    vis[x][y] = 1;
    --tot;
    for (int j = 0; j < m; ++j)
        if (ok[x][j] && !vis[x][j]) dfs(x, j);
    for (int i = 0; i < n; ++i)
        if (ok[i][y] && !vis[i][y]) dfs(i, y);
}
class MagicBoard {
    public:
    string ableToUnlock(vector <string> board) {
        n = board.size(), m = board[0].size();
        int x, y;
        for (int i = 0; i < n; ++i)
            for (int j = 0; j < m; ++j) 
                if (board[i][j] == '#') {
                    ok[i][j] = 1;
                    ++r[i], ++c[j];
                    x = i, y = j;
                    ++tot;
                }
        int rr = 0, cc = 0;
        for (int i = 0; i < n; ++i) if (r[i] & 1)   ++rr;
        for (int j = 0; j < m; ++j) if (c[j] & 1)   ++cc;
        if (rr + cc > 2)    return "NO";
        if (rr + cc == 2 && !cc)    return "NO";
        dfs(x, y);
        cout << tot << endl;
        return tot ? "NO" : "YES";
    }
}P;
int main() {
    vector<string> s;
    s.push_back("##"), s.push_back(".#");
    P.ableToUnlock(s);
    return 0;
}







版权声明:本文博主原创文章,博客,未经同意不得转载。

03-16
### 什么是供应商关系管理系统(SRM) 供应商关系管理系统(Supplier Relationship Management, SRM)是一种旨在帮助企业优化其与供应商之间合作关系的信息技术工具。它通过集成化的流程管理和数据分析能力,提升企业在采购、供应链协作以及资源分配方面的效率和透明度[^1]。 #### SRM 的产生背景 随着全球化进程加快,企业面临的市场竞争日益激烈,传统的采购管理模式已无法满足现代商业环境的需求。为了降低采购成本并提高供应链灵活性,SRM 应运而生。该系统的引入不仅能够改善企业内部运作机制,还促进了外部合作伙伴之间的高效沟通与合作。 #### SRM 的核心功能 SRM 系统通常具备以下几类主要功能: - **供应商全生命周期管理**:覆盖从潜在供应商评估到正式签约再到绩效考核的全过程。 - **采购流程自动化**:支持在线询价、报价处理、合同签订等功能,减少人工干预带来的错误风险。 - **数据共享与协同工作**:与其他业务系统(如ERP、WMS等)无缝对接,实现跨部门甚至跨国界的数据交换和服务调用[^2]。 - **分析决策支持**:利用大数据技术和人工智能算法挖掘隐藏价值,辅助管理层制定科学合理的策略方向[^3]。 #### SRM 对企业的战略意义 实施有效的SRM方案可以帮助公司获得多方面收益,包括但不限于削减开支、缩短交货周期、改进产品质量等方面的表现;同时也有助于构建长期稳定可信赖的合作网络,在不确定因素增多的情况下保持竞争优势地位[^4]。 ```python class SupplierRelationshipManagementSystem: def __init__(self): self.modules = ["Supplier Lifecycle", "Procurement Automation", "Data Collaboration"] def manage_suppliers(self): print("Managing suppliers through lifecycle stages.") def automate_procurements(self): print("Automating procurement processes with digital tools.") def collaborate_data(self): print("Facilitating data collaboration across systems.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值