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翻译对比
一、引言
系统的组织方式反映了构建系统时所采用的基本策略。在架构设计过程的早期,您就必须就系统的整体组织模型做出决策。系统组织方式可能会直接体现在子系统的结构中。然而,实际情况往往是子系统模型比组织模型包含更多细节,并且子系统与组织结构之间并不总是存在简单的映射关系。
本节将讨论三种应用极为广泛的组织风格,分别是:共享数据仓库风格、共享服务与服务器风格,以及抽象机器(或称分层)风格------后者将系统组织为多个功能层。这些风格既可单独使用,也可组合运用。例如,某个系统可能围绕共享数据仓库来组织,但同时可在此基础之上构建多个层次,以呈现更为抽象的数据视图。
二、仓库模型
构成系统的各个子系统必须交换信息才能有效协同工作。实现这一目标有两种基本方式。
-
所有共享数据都保存在一个中央数据库中,可供所有子系统访问。基于共享数据库的系统模型有时被称为仓库模型。
-
每个子系统维护自己的数据库。通过向其他子系统传递消息来实现与它们的数据交换。
计算机英语单词扇贝打卡
