![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法设计与分析
文章平均质量分 51
白鹿贞松
宁鸣而死,不默而生
展开
-
数据结构与算法题目集(中文)——7-31 笛卡尔树 (25 分)
笛卡尔树是一种特殊的二叉树,其结点包含两个关键字K1和K2。首先笛卡尔树是关于K1的二叉搜索树,即结点左子树的所有K1值都比该结点的K1值小,右子树则大。其次所有结点的K2关键字满足优先队列(不妨设为最小堆)的顺序要求,即该结点的K2值比其子树中所有结点的K2值小。给定一棵二叉树,请判断该树是否笛卡尔树。输入格式:输入首先给出正整数N(≤1000),为树中结点的个数。随后N行,每行给出一个结点的信息,包括:结点的K1值、K2值、左孩子结点编号、右孩子结点编号。设结点从0~(N-1)顺序编号。若某结点不存原创 2021-02-04 19:38:30 · 191 阅读 · 0 评论 -
2021省赛——Problem H. 信 号 传 输
最近,H国正在建设一条信号传输通道,这条通道将会依次经过 n+2 个城市,它们恰好分布在 x- 数轴上。不妨分别编号为城市 0 到城市 n+1,那么城市 i 的坐标恰好为 i。在这 n+2 个城市中,有且仅有城市 0 和城市 n+1 已有建设好的信号基站,你可以在城市 1∼n 中的若干个(或 0 个)城市中也建立信号基站以提高这条信号传输通道的质量,并收获一定的民众满意度。具体地来说,如果选择在城市 i 建造信号基站,那么可以收获 ai的民众满意度。信号传输通道的优质指数被定义为该传输通道任意两个相邻基站原创 2021-06-03 09:29:40 · 239 阅读 · 0 评论 -
算法设计与分析——第五章课后题
目录子集和最小重量机器设计问题工作分配问题最佳调度问题子集和#include<bits/stdc++.h>using namespace std;#define MAX 99999int n,c,sum=0,bests=0,r=0;int xx[MAX],xx1[MAX];void Backtrack(int i){ if(i>=n){ if(sum>bests){ bests=sum; for(int j=0;j<n;j++) xx1[j原创 2021-05-27 09:25:33 · 1133 阅读 · 0 评论 -
算法设计与分析——第四章课后题
4-1会场安排问题// An highlighted blockvar foo = 'bar';4-2最优合并问题#include<bits/stdc++.h>using namespace std;int xx[10001];int sum1[10001];int cmp(int a,int b){ return a>b;}int main(){ int k; cin>>k; for(int i=1;i<=k;i++){ cin>原创 2021-05-12 23:21:00 · 1345 阅读 · 0 评论 -
算法设计与分析——第三章课后题
这里写目录标题3-1 独立任务最优调度问题3-3 石子合并问题3-8 最小m段和问题3-13 最大k乘积问题3-1 独立任务最优调度问题代码// An highlighted blockvar foo = 'bar';3-3 石子合并问题代码#include<bits/stdc++.h>using namespace std;struct stu{ int sum=0; int score=0;};stu dpmin[999][999],dpmax[999][99原创 2021-05-03 11:34:13 · 931 阅读 · 3 评论 -
算法设计与分析——第二章课后题
题目代码#include<bits/stdc++.h>using namespace std;int count(int n){ if(n==0) return 0; else{ n=n/10; return count(n)+1; }}int fun(int n){ if(n==1) return 1; else return 10*fun(n-1)+(int)pow(10,n-1);}int main(){ int n,m,num=0,num1;//原创 2021-03-04 12:47:25 · 995 阅读 · 1 评论