主站
DreamJudge
院校信息
专业题库
模拟考试
机试真题
专业课程
答疑区
兑换中心
登录
注册
上岸
以下题解仅供学习参考使用。
抄袭、复制题解,以达到刷AC率/AC数量或其他目的的行为,在N诺是严格禁止的。
N诺非常重视学术诚信。此类行为将会导致您成为作弊者。具体细则请查看N诺社区规则。
JohnWang
2021年4月22日 18:31
哈夫曼树
P1371
回复 0
|
赞 0
|
浏览 7.6k
#include <iostream> #include <queue> using namespace std; int main() { int n, x; while(cin >> n) { priority_queue<int, vector<int>, greater<int>> myPriorityQueue; while(n--) { cin >> x; myPriorityQueue.push(x); ...
James
2021年1月12日 20:08
sort
P1371
回复 0
|
赞 0
|
浏览 7.8k
#include <iostream> #include <cstdio> #include <algorithm> using namespace std; int n; int a[10005]; int main(){ while(scanf("%d",&n)!=EOF){ int sum=0; for(int i...
wzy1999
2020年9月25日 20:40
P1317堆排序+贪心
P1371
回复 0
|
赞 0
|
浏览 7.6k
哈夫曼编码问题 每次从数组中挑选出最小的两个数,将这两个数加入到体力消耗值,并将这两个数相加的结果放入数组,至到取完所有的元素 本题的关键在于如何取数组中最小的两个数: 首先可以排除qsort()和sort(),因为这两个库函数的时间复杂度均为O(nlogn),然后还需要遍历数组,总的时间复杂度在O(n^2logn),稳稳地超时 因为每次只需要取出最小的两个数,所以可以考虑使用小顶堆:建堆的时间复杂度为O(n),每次调整堆的时间复杂度为O(logn),总的时间复杂度为O(n+logn) 使用C++的话,使用优先队列即可实现小顶堆的功能 使用C的话,我们需要手动建堆...
ymw1836828452
2020年4月22日 19:58
P1371题解
P1371
回复 0
|
赞 0
|
浏览 6.9k
#include <stdio.h> #include <stdlib.h> int main() {int a[100],i,n,j,t; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); } for(i=0;i<n-1;i++) for(j=0;j<n-i-1;j++) {if(a[j]>a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t; } } int sum=0,di...
题目
搬水果
题解数量
4
发布题解
热门题解
1
P1371题解
2
sort
3
P1317堆排序+贪心
4
哈夫曼树