题目描述: 在 Berland 流行着纸牌游戏 “Berlogging” ,这个游戏的赢家是根据以下规则确定的:在每一轮中,玩家获得或失去一定数量的分数,在游戏过程中,分数被记录在“名称和得分”行中,其中名称是玩家的名字,得分是在这一轮中获得的分数。得分是负值意味着玩家失去了相应的分数。如果在比赛结 ...
1.判断一个单链表是否有环 借助STL里的 set ,java里用hashset是一样的,不需要排序,碰到重复key说明有环。 不借助set也可以通过另一种方式: 一个正常指针一次走一个,一个快指针一次走两个。 如果链表有环,快指针一定会和慢指针相遇,相遇的时候,把快指针扔回头结点,然后两个指针都每 ...
分类:
其他好文 时间:
2019-02-01 23:02:01
阅读次数:
196
天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排成一列纵队,第 i+1 队的选手排在第 i 队选手之后。从第 1 所学校开始, ...
分类:
其他好文 时间:
2019-02-01 21:08:27
阅读次数:
321
在git clone 的时候,最心烦的莫过于速度太慢,gitee的还好,要是github的速度就太慢了。 网上的方法大都是改host,但是每隔一段时间,git的ip就会变动,于是自己写了个脚本,爬取global-ssl.fastly.net这个ip,然后修改掉host的原有ip 先看一下速度300k ...
分类:
编程语言 时间:
2019-02-01 20:15:56
阅读次数:
242
partial_sort接受一个middle迭代器,使序列中的middle-first个最小元素以递增顺序排序,置于[first, middle)内。下面是测试代码: #include <iostream>#include <vector>#include <algorithm> using nam ...
分类:
编程语言 时间:
2019-02-01 18:02:02
阅读次数:
203
题记:内存管理一直是C/C++程序的红灯区。关于内存管理的话题,大致有两类侧重点,一类是内存的正确使用,例如C++中new和delete应该成对出现,用RAII技巧管理内存资源,auto_ptr等方面,很多C/C++书籍中都使用技巧的介绍。另一类是内存管理的实现,如linux内核的slab分配器,S ...
分类:
其他好文 时间:
2019-02-01 14:10:35
阅读次数:
227
嗯... 在c++中排列的方法有很多,最简单的便是sort排序....(鬼畜的STL库!! 但是有一种排序叫做计数排序(它是与桶排序不同的),虽然它们的时间复杂度都是O(n),但是计数排序比桶排序更稳定.... 下面就根据代码看一下计数排序的模板以及其原理: 注意:在计数排序中,一般最大可适用于10 ...
分类:
其他好文 时间:
2019-02-01 13:11:40
阅读次数:
160
嗯... 关于全排列,有很多种种做法... 嗯.... 那什么叫全排列呢??!! 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。(来自度娘 在这里介绍全排列,主要是引进c++种STL库中的鬼畜东西: ne ...
分类:
其他好文 时间:
2019-02-01 13:04:53
阅读次数:
194
STL: 容器与迭代器的概念 重载运算符 vector: v.size(); v.push_back(); v[i]; set: set.insert(); set.erase(); set.begin(); set.end();指到最后一个的后一个 set.count(); set.lower_b ...
分类:
其他好文 时间:
2019-02-01 01:15:02
阅读次数:
185
stack的基本性能 stack准确的说并不是STL framework所提供的容器,而是一个为了满足特殊需求而设计的容器。属于容器适配器(container adapter),它提供了简单而清晰的接口满足我们对数据结构堆栈的需求。 对于stack(也称LIFO,后进先出),我们可以使用 push( ...
分类:
编程语言 时间:
2019-01-31 22:50:03
阅读次数:
237