算法_STL
设计STL 库函数的算法题目
勤勤勤能补拙
心似骄阳万丈光
展开
-
nyoj55 懒省事的小明
原题链接http://acm.nyist.net/JudgeOnline/problem.php?pid=55这道题之前做过,今天重做了一次,各种Wrong Answer,心情十分沮丧。标准程序也过不去,后来看了讨论区才知道测试数据的值偏大(最大结果可以到24亿),所以要用long long类型。原理跟huffman树有点相似,使权重(即果实个数)大的离根节点更近,通俗说就是在合并原创 2017-02-08 14:34:55 · 439 阅读 · 0 评论 -
nyoj 86 找球号(一)
原题链接http://acm.nyist.net/JudgeOnline/problem.php?pid=86方法一:先用algorithm中的sort函数,排序后利用二分查找即可。方法二:用stl中的set,这道题不用考虑输入数据是否有重复,所以就不用使用multiset,利用set成员函数count()判断该数是否存在集合中就可以了,简单又容易理解。这里有个坑,额,或许只有我这原创 2017-02-08 19:20:12 · 331 阅读 · 0 评论 -
nyoj 95 众数问题
原题链接 http://acm.nyist.net/JudgeOnline/problem.php?pid=95原理:用multiset存放数据,再遍历该集合,得出众数。代码如下:#include#include using namespace std;int t,n;int num,numt;int main(){ scanf("%d",&t);原创 2017-02-08 19:26:26 · 318 阅读 · 0 评论 -
poj 2718 Smallest Difference
原题: http://poj.org/problem?id=2718//poj 2718 //题目大意:给你固定的n个数,用这n个数组成两个整数,求出所有情况中 两数绝对值最小的情况并输出该值。//...没解出来,评论区说贪心不好做,用全排列,一开始我感觉全排列会超时,没想到试了全排列还真行,是自己大意了。 //注意组成的两个数不能以0为开头, #include #include原创 2017-08-06 15:51:23 · 225 阅读 · 0 评论 -
poj1208 The Blocks Problem(模拟)
原题: http://poj.org/problem?id=1208题意:有n个块(编号:0~n-1),并且有n个位置 0 ~ n-1,一开始的时候这个块都放在对应编号的位置上我们可以对这些块有4种操作操作1: move a onto b :把a和b上面的所有的块放回原来一开始的位置上,然后把a放在b上面操作2: move a over b:把a上面的块恢复到一开始的位置上,再把a原创 2017-09-01 17:44:13 · 881 阅读 · 0 评论