上一页 1 ··· 14 15 16 17 18
题目链接 题意:给你蛋糕的总体积和有几层,且蛋糕满足从低到高一层比一层的面积小,高度低。求最小的外表面积。 思路:因为求外表面积,实际上就是求每一层的侧面积+最底层的上表面积。然后可以算出最小的每层面积,便于剪枝,然后从下往上DFS,不断枚举高度和半径就可以解决问题。 #include<cstdio Read More
posted @ 2019-08-01 20:59 Ldler Views(253) Comments(0) Diggs(0) Edit
题目链接 题意:给你一组等长木棒,然后他随意砍断成n个木棒,木棒长度不一,但你知道分别是多少,要你求出原始木棒可能的最小长度。 思路:首先那个原始木棒的长度肯定是其总长度的约数,然后也肯定大于等于所有木棒的最大值,然后去DFS,要注意的是,DFS的过程中我肯定先从大的取起,这样可以优化搜索顺序,然后 Read More
posted @ 2019-08-01 20:45 Ldler Views(504) Comments(0) Diggs(0) Edit
题目链接 题意:给定一张N个点M条边的有向无环图,分别统计从每个点出发能够到达的点的数量。N,M<=30000。 思路:先拓扑排序,这样肯定拓扑序前面的肯定在拓扑序后面的点的前面。然后用状态压缩,用bitset转化成二进制,一顿从后往前按位或,有多少1就代表有多少个能达到的点的数量。 #includ Read More
posted @ 2019-08-01 20:31 Ldler Views(315) Comments(0) Diggs(0) Edit
荷马史诗 题意:给n个单词出现的次数,然后给个k,让这个单词转换为二进制,然后求总长度最小,以及最大的一个转换后字符串的长度。 题解:我们发现这道题目,要求我们算出哈夫曼编码,也就是最短不重叠前缀的编码,那么我们就可以用上trie字典树的性质配合哈夫曼树进行处理. #include<cstdio> Read More
posted @ 2019-07-31 23:09 Ldler Views(181) Comments(0) Diggs(0) Edit
题目链接 题意:输入x,a,y,b求x/a和y/b的大小,范围long long int 思路:因为不想用精度,嫌麻烦,所以用了个巧方法。先求x/a和y/b整形的大小,如果相等,再求(x%a)*b和(y%b)*a的大小,具体为什么可以这样比较,初中生都会。 #include<cstdio> #inc Read More
posted @ 2019-07-31 23:09 Ldler Views(195) Comments(0) Diggs(0) Edit
题目链接 题意:给你两个数组a,b,大小为n,让你寻找一个数p (1<= p <= n) ,使之在 1~p 任意一个区间中a,b数组的最小值下标相同。 思路:看到用线段树去写的我也是服了。。。我的思路是这样的,先去更新最小值,如果更新情况不一样肯定结束,然后看前面是否都一致单调递减。 #includ Read More
posted @ 2019-07-31 23:09 Ldler Views(101) Comments(0) Diggs(0) Edit
今天上午学习了二叉堆和哈曼夫树,算法竞赛指南80~92页。 先说一下我对二叉堆和哈曼夫树的理解,二叉堆分为大根堆,小根堆,而哈曼夫树就是二叉堆的一种表现形式,在解决一些权值带深度的一些问题上是一个良好的思路,简而言之,这两个东西可以表示为维护一个优先队列。 学了这两个知识,写了三个题。 1.二叉堆+ Read More
posted @ 2019-07-31 23:09 Ldler Views(172) Comments(0) Diggs(0) Edit
题目链接 题意:输入n,求所有质因子幂的最小值。n奇大无比。 思路:先对n所有n开五次方根的质因子约完,然后如果没有除尽的话,因子最多也就4个了,所以幂数大于1的情况有p1^4,p1^3, p1^2 对于其他情况肯定有幂为1的。 然后注意一下精度问题。 #include<cstdio> #inclu Read More
posted @ 2019-07-31 23:09 Ldler Views(332) Comments(0) Diggs(0) Edit
合并果子 题意:将n堆果子合并为一堆,每次合并两堆,合并消耗的体力为两堆果子的质量和,求消耗的体力最小。 思路:典型的哈夫曼树,两两最小,再放入优先队列,再重复直到只剩下一堆。 #include<cstdio> #include<cstring> #include<algorithm> #inclu Read More
posted @ 2019-07-31 23:08 Ldler Views(262) Comments(0) Diggs(0) Edit
数据备份 题意:给你一个n和k,再给你n个城市离原点的距离,让你找k对城市,使他们之间的距离和最小。 思路:因为取k对城市,k对城市肯定是互相相邻的且不能出现重复。把两两相邻的城市的距离求入a数组中,所以当你选了ai,你就不能选ai+1或ai-1,所以有两种情况,要么选ai,要么选ai+1和ai-1 Read More
posted @ 2019-07-31 22:17 Ldler Views(222) Comments(0) Diggs(0) Edit
上一页 1 ··· 14 15 16 17 18