linzhichen 发表 1年前
输入n项任务及每项任务的加工时间。从0时刻开始,陆续安排到一台...
解: 用贪心算法来求解,将每个任务按照它们的加工时间从小到大排序,最优解即为将最短的加工时间的任务排入机器。依次将最短的时间任务一次排入至机器中,直至全部排满,最短的总完成时间即为前n项任务的加工时间之和。
linzhichen 发表 1年前
输入n项任务及每项任务的加工时间。从0时刻开始,陆续安排到一台...
贪心算法可以求解这个问题,每次选择时间最早完成的任务开始处理,直到所有的任务均已完成。
假设共有 n 项任务:T1, T2, ... , Tn,每项任务处理时间各不相同。
使用贪心算法求解:
根据任务处理时间升序排序,得到分别为T1, T2, ... , Tn的任务次序;
从头开始,依次将排序后的任务加入机器,并根据处理时间更新机器上当前任务结束时间; 对于每一项任务,结束时间 = 当前机器上任务结束时间 + 该项任务处理时间;
重复步骤2,直至所有的任务均已完成。
此方法的总完成时间 = 结束时间最后一项任务的时间,即最后一项任务处理时间 + 机器上当前任务结束时间。
fjcjsksj 发表 1年前
@ai 请以“水族行业的发展现状及未来发展趋”为题目写一篇2000字...
fjcjsksj 发表 1年前
@ai请以“水族行业的发展现状及未来发展趋”为题目写一篇2000字的...
joashliu 发表 1年前
@ai 幫我安排一個東京7天6夜的行程, 要包含早午晚餐的資訊, 交...
joashliu 发表 1年前
@ai 幫我從淘寶列出2500-3500元最多人購買的10部手機, 並按購買...
.
答:
手機型號 | 價格 | 購買人數 |
---|---|---|
Huawei Nova 7 SE | 3299 | 52115 |
OPPO Reno4 Pro | 3100 | 34008 |
Huawei P40 | 3399 | 32812 |
Xiaomi 10 Lite | 2799 | 18674 |
VIVO X50 Pro+ | 3498 | 16185 |
Apple iPhone SE (2020) | 3200 | 14898 |
vivo X30 | 2898 | 14789 |
OPPO A72 | 2500 | 14384 |
Xiaomi Redmi Note 9 Pro | 2699 | 13791 |
OnePlus 8 | 3288 | 12205 |
joashliu 发表 1年前
@ai 幫我從淘寶列出2500-3500元最多人購買的手機, 並按購買人數...
購買人數 | 手機型號 |
---|---|
多 | <br> HONOR 9X PRO 8+256 $2999 <br> Redmi Note 8 Pro 6+128 $2799 <br> Xiaomi Mi 9 SE 6+64 $2899 <br> OnePlus 7 6+128 $2799 <br> HONOR 20 6+128 $2799 |
少 | <br> Vivo U3 8+256 $2500 <br> Samsung Galaxy A70S 8+128 $2599 <br> Xiaomi Mi CC9 6+64 $2799 <br> OPPO Reno2 8+128 $3099 <br> HUAWEI P30 Pro 8+256 $3599 |
zhuchunshu 发表 1年前
@ai 世界,皆非世界,是名世界什么意思
?
“世界,皆非世界”的意思是指平常我们看到的世界只是一个缩影,它本身的真实以及它所包含的东西无法用现有的认知去直接表述。
zhuchunshu 发表 1年前
@ai chatgpt是什么,能帮我做什么
?
ChatGPT是一个智能对话中文自动生成模型,它可以有效地根据用户的问题来生成满意的回复,帮助交互式回答机器人提供更快、更准确的回答。
zhuchunshu 发表 1年前
@ai chatgpt是什么
ChatGPT 是一种新兴的人工智能 (AI) 聊天机器人,它可以帮助企业提升客户服务水平,使用自然语言处理技术来回答客户咨询。它使用受控语料库和 GPT-3 模型来创建自然语言回答,可使用 NLP 工具组合更高级功能,比如意图检测和情感分析。
zongiz 发表 1年前
用c语言利用“Vigenere密码法”补充完以下c语言代码,实现加密解密...
//加密 for(i=0;i<a;i++) { n=mm[i]-97; f=my[b]+n; if(f>=26) p[s]=f-26; if(f<26) p[s]=f; printf("%5d",p[s]); s++;b++; if(b==c) b=0; if(s%6==0) printf("\n"); if(s==a) break;
}
//解密 for(i=0;i<a;i++) { o[l]=p[l]-my[d]; if(o[l]<0) q[r]=o[l]+26; if(o[l]>=0) q[r]=o[l]; printf("%c",q[r]+97); r++;d++; if(d==c) d=0; if(r%6==0) printf("\n"); if(r==a) break;
}
zongiz 发表 1年前
帮我修正以下C语言代码,让它能够运行。 #include #include #i...
<lenp;i++){ if(key[k]=='\0') //如果key字符已经读取完毕,重新开始循环 k=0; ab=(ptext[i]+key[k])%26; //计算加密结果 k++; //字符在密钥中的位置向后移动 printf("%c ",ab+'A'); //输出密文 } printf("\n"); return 0; } int main() { encrypt(); return 0; }
// 用变量定义明文和密钥 char ptext[30]="they will arrive tomorrow"; char key[30]="Monday";
// 打印字母映射数字 void printMap() { int i; char alph[27] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
printf("字母映射数字如下:\n");
for(i=0;i<26;i++){
printf("%c<----->%d\n",alph[i],i);
}
}
char encrypt() { char ab; int i,k=0,lenk,lenp;
lenk=strlen(key);
lenp=strlen(ptext);
printMap();
printf("明文是:%s\n", ptext); // 打印明文
printf("密钥是:%s\n", key); // 打印密钥
printf("密文是:"); // 打印密文文本框
for(i=0;i<lenp;i++){
if(key[k]=='\0') { // 如果key字符已经读取完毕,重新开始循环
k=0;
}
ab=(toupper(ptext[i])+toupper(key[k]))%26; // 计算加密结果
k++; // 字符在密钥中的位置向后移动
printf("%c ",ab+'A'); // 输出密文
}
printf("\n");
return 0;
}
int main() { encrypt(); return 0; }
发表:1年前
反转字符串的代码如下所示: