题目: 解释为什么下面程序的交换函数没有把形参 x 和 y 所对应的实参的值交换。如何修改代码,使实参的值得到交换? 原交换程序: 1 void swap(int x, int y) { 2 int temp = x; 3 x = y; 4 y = temp; 5 } 思路: 在C++中,参数传递方 ...
分类:
其他好文 时间:
2020-02-13 12:45:32
阅读次数:
69
tips: 1.注意边界处理,避免出现死循环 785. 快速排序 /* eg:2 1 2 用i则不能取到左边界,把x取值改成向上取整 用j则不能取到右边界,把x取值改成向下取整 取到边界会导致递归死循环 */ #include<iostream> #include<cstdio> using nam ...
分类:
其他好文 时间:
2020-02-12 21:57:31
阅读次数:
71
1,倍增 2,树链剖分 3,st表 (最快 c++ vectorp[maxn]; int depth[maxn 1]+1; for(int i=1;iid[v])swap(u,v); int s=id[u],t=id[v],len=lg[t s+1]; return depth[st[s][len] ...
分类:
其他好文 时间:
2020-02-12 00:16:56
阅读次数:
81
精简.vimrc配置,简约不简单 该配置没有花里胡哨的插件,只是用ctags和cscope然后配合vim提供的基础功能就可以完成常见的代码编辑,浏览,查找等工作。 vim 键盘图 ...
分类:
系统相关 时间:
2020-02-11 20:47:19
阅读次数:
83
增加 1.创建/home/swap这么一个分区文件。文件大小是512000个block,一般情况下1个block为1k,所以这里空间是512M,这个空间大小自己随意定义。 dd if=/dev/zero of=/home/swap bs=1024 count=512000 2.将这个分区变成swap ...
分类:
其他好文 时间:
2020-02-11 19:34:48
阅读次数:
71
在上面代码中std::unique_lock可以传进std::lock,因为std::unique_lock有unique_lock提借lock、try_lock、unlock成员函数。std::unique_lock有一个owner_lock函数来判断是否现在已经被锁定。你可以会说使用std::l... ...
分类:
其他好文 时间:
2020-02-11 11:21:04
阅读次数:
60
CF1300 C. Anu Has a Function 题意: 有一种操作$f(x,y)=(x|y) y$,给你一个序列$a_1,a_2,...,a_n$。 让你改变一下序列$a$的顺序,让$f(f(...f(f(a_1,a_2),a_3),...,a_{n 1}),a_n)$最大。 思路: 我们 ...
分类:
其他好文 时间:
2020-02-10 09:38:54
阅读次数:
64
[toc] 1. 介绍 1.1 排序算法分类 1. 内部排序: 数据记录在内存中进行排序 2. 外部排序: 因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存 1.2 关于时间复杂度 1. 平方阶($O(n^2)$)排序 各类简单排序: 直接插入、直接选择和冒泡排序 2. 线性对 ...
分类:
编程语言 时间:
2020-02-09 16:45:15
阅读次数:
95
前言 今天安装 "spdlog" ,一个快速得C++日志库,按照文档步骤,不料出现了一堆错误,像c++: internal compiler error: Killed (program cc1plus)等一堆,刚开始以为环境有问题,弄了一会还是不行,查了一下才知道,是物理内存太小,需要swap分区 ...
分类:
编程语言 时间:
2020-02-09 00:27:38
阅读次数:
83
「JSOI2013」贪心的导游 "传送门" 多次询问区间内%一个数的最大值 ~~我们不妨设这个数为M_sea~~ 值域比较小所以考虑分块维护。 我们观察到对于给定的一个 $p$ ,函数 $y = x \% p$ 是分段的且在各段内递增,所以我们可以先分块,记一下每个块内小于等于某个数的最大值,记为 ...
分类:
Web程序 时间:
2020-02-08 17:42:24
阅读次数:
72