3.14打卡day35

19.排队打水问题

作者: Turbo

时间限制: 1s

章节: 贪心

问题描述

有n个人排队到r个水龙头去打水,他们装满水桶的时间t1、t2...........tn为整数且各不相等,应如何安排他们的打水顺序才能使他们总共花费的时间最少?

输入说明

第一行n,r (n<=500,r<=75)

第二行为n个人打水所用的时间Ti (Ti<=100);

输出说明

最少的花费时间

cpp 复制代码
#include<bits/stdc++.h>

using namespace std;

int main(){
    int n,r,sum=0;
    cin>>n>>r;
    vector<int> a(n);
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    vector<int> t(r);
    while(a.size()>0){
        for(int i=0;i<r;i++){
            if(a.size()>0){
                auto it=min_element(a.begin(),a.end());
                t[i]+=*it;
                sum+=t[i];
                a.erase(it);
            }

        }
    }
    cout<<sum;
}

20.产生数

问题描述

给出一个整数 n(n<10^30) 和 k 个变换规则(k<=15)。

规则:

一位数可变换成另一个一位数,变换得到的数不能为零。

例如:n=234。有规则(k=2):

2-> 5

3-> 6

上面的整数 234 经过变换后可能产生出的整数为(包括原数):

234

534

264

564

共 4 种不同的产生数

问题:

给出一个整数 n 和 k 个规则。

求出:

经过任意次的变换(0次或多次),能产生出多少个不同整数。

仅要求输出个数。

输入说明

n k

x1 y1

x2 y2

... ...

xn yn

输出说明

一个整数(满足条件的个数)

个人总结

每一位的数字可以经过0次或多次变换,2->5,5->6,我的代码仅实现了经过0次或1次变换

cpp 复制代码
#include<bits/stdc++.h>

using namespace std;
vector<vector<char>> rule;
vector<string> ans;
unsigned long long cnt=0;

void dfs(int x,string num){
    if(x>=num.size()){
        cnt++;
        ans.push_back(num);
        return;
    }

    for(int i=0;i<rule.size();i++){
        if(rule[i][0]==num[x]){//当前位的数字有对应的变换规则
            num[x]=rule[i][1];//按照该规则变换
            
            dfs(x+1,num);
            num[x]=rule[i][0];//回溯
        }
    }
    dfs(x+1,num);
}

int main(){
    int k;
    string s;
    cin>>s>>k;
    rule.resize(k,vector<char>(2));

    for(int i=0;i<k;i++){
        cin>>rule[i][0]>>rule[i][1];
    }
    dfs(0,s);
    cout<<cnt;
}

计算机英语刘艺第五版unit2 英语翻译

章节c 系统结构

1.引言

系统的组织架构反映了用于搭建该系统的基本策略。你需要在设计初期就决定出大致的组织架构模型。系统组织架构可能会直接体现在子系统的结构当中。然而,经常有这种情况:子系统模型比组织模型有更多的细节,但子系统和组织结构之间不一定会有简洁明了的映射关系。

本小节将讨论三种广泛应用的组织风格:共享数据库(data repository)风格,共享服务和服务器风格,以及抽象机器或分级风格(系统按功能分级)。这些风格既可以单独使用,也可以组合起来使用。举个例子,一个系统可能围绕(around)共享数据库来组织创建,但是也可能在此基础上构建多个层次以展现更加抽象的数据视图。

2.库模型

构建系统的子系统之间必须交换信息,这样他们才可以有效率地协同工作。可以采用以下两个基础方法实现这一点:

1.所有共享数据都储存在一个可以被所有子系统访问的中心数据库里。基于共享数据库的系统模型有时也叫库模型。

2.每个子系统维护自己的数据库。数据是通过子系统之间传递消息来内部交换的。

AI翻译对比

一、引言

系统的组织方式反映了构建系统时所采用的基本策略。在架构设计过程的早期,您就必须就系统的整体组织模型做出决策。系统组织方式可能会直接体现在子系统的结构中。然而,实际情况往往是子系统模型比组织模型包含更多细节,并且子系统与组织结构之间并不总是存在简单的映射关系。

本节将讨论三种应用极为广泛的组织风格,分别是:共享数据仓库风格、共享服务与服务器风格,以及抽象机器(或称分层)风格------后者将系统组织为多个功能层。这些风格既可单独使用,也可组合运用。例如,某个系统可能围绕共享数据仓库来组织,但同时可在此基础之上构建多个层次,以呈现更为抽象的数据视图。

二、仓库模型

构成系统的各个子系统必须交换信息才能有效协同工作。实现这一目标有两种基本方式。

  • 所有共享数据都保存在一个中央数据库中,可供所有子系统访问。基于共享数据库的系统模型有时被称为仓库模型。

  • 每个子系统维护自己的数据库。通过向其他子系统传递消息来实现与它们的数据交换。

计算机英语单词扇贝打卡

相关推荐
WHS-_-20222 小时前
mCore: Achieving Sub-millisecond Scheduling for 5G MU-MIMO Systems
java·算法·5g
浅念-2 小时前
C++11 核心知识点整理
开发语言·数据结构·c++·笔记·算法
炽烈小老头2 小时前
【 每天学习一点算法 2026/03/14】二叉搜索树中第K小的元素
学习·算法
一条大祥脚2 小时前
WQS二分(Alien Trick)
算法
xiaoye-duck2 小时前
《算法题讲解指南:递归,搜索与回溯算法--二叉树中的深搜》--6.计算布尔二叉树的值,7.求根节点到叶节点数字之和
c++·算法·深度优先·递归
greatofdream2 小时前
VIP和普通用户排队
算法
abant22 小时前
leetcode 84 单调栈
算法·leetcode·职场和发展
liuyao_xianhui2 小时前
递归_反转链表_C++
java·开发语言·数据结构·c++·算法·链表·动态规划
CoderCodingNo2 小时前
【GESP】C++七级考试大纲知识点梳理 (3) 图论基础与遍历算法
c++·算法·图论