LINK: "随机漫游" 非常妙的一道题。 容易想到倒推期望。 设状态 f[i][j]表示到达第i个点 此时已经到达的集合为j能走到全集的期望边数。 只要求出来这个就能O(1)回答询问。 $f[i][j]=1+\sum_{v\in son_x,v\notin j}\frac{1}{d_i}f[i][ ...
分类:
其他好文 时间:
2020-04-23 23:27:48
阅读次数:
131
一、物理结构和概念结构 学习堆必须明确,堆有两个结构,一个是真实存在的物理结构,一个是有助于理解的概念结构。 1. 堆一般由数组实现,但是我们平时在理解堆的时候,会把他构建成一个完全二叉树结构。堆分为大根堆和小根堆:大根堆,就是这颗树里的每一个结点都是以它为根结点的树中的最大值;小根堆则与之相反。 ...
分类:
编程语言 时间:
2020-04-23 19:35:27
阅读次数:
79
Swift whit Xcode 使用冒泡排序,自定义Array<Any>数组排序方法,返回排序后的数组 一、设计思想: 1、定义一个方法,此方法接受一个inout标识的可变数组参数和变量方法声明(变量方法作用:参数值大小比较) 方法参数说明: 1-1、数组参数要设为可变参数 在类型前用inout标 ...
分类:
编程语言 时间:
2020-04-23 00:46:56
阅读次数:
91
1 class Solution 2 { 3 public: 4 void reverseString(vector<char>& s) 5 { 6 int n = s.size(); 7 for(int i = 0;i < n/2;i ++) swap(s[i],s[n - i - 1]); 8 ...
分类:
其他好文 时间:
2020-04-22 19:35:57
阅读次数:
50
一:了解block的前世今生 首先,我们也称block为代码块,他可以理解为一个方法。它是C语言的扩充功能,C语言不允许存在这样的匿名函数。我们也知道,OC的类对象(在堆区),其他像C/C++一般存在于栈区。所以,block的内存在栈区。如果我们使用block作为一个对象的属性,我们会使用关键字co ...
分类:
移动开发 时间:
2020-04-22 12:59:18
阅读次数:
60
问题: 给定一个非负整数,求只交换一次某两位的数字,使得值最大,求该最大值。 Example 1: Input: 2736 Output: 7236 Explanation: Swap the number 2 and the number 7. Example 2: Input: 9973 Out ...
分类:
其他好文 时间:
2020-04-21 15:26:28
阅读次数:
63
CentOS安装系统时硬盘分区建议 一.常见挂载点的情况说明 一般来说,在linux系统中都有最少两个挂载点,分别是/ (根目录)及 swap(交换分区),其中,/ 是必须的; 详细内容见下文: 安装系统时选择creat custom layout 自定义分区 建议挂载的几大目录: / 根目录,存放 ...
分类:
其他好文 时间:
2020-04-21 15:06:57
阅读次数:
68
Collections 集合工具类 - 操作Set、List、Map等集合的工具 - 提供了排序、查询、修改、操作,提供对对象设置不可变对集合容器对象实现同步控制等方法 排序操作: - static reverse(List list) 反转集合顺序 - static shuffle(List li ...
分类:
编程语言 时间:
2020-04-21 13:08:48
阅读次数:
55
1:值传递,并未实现真正的交换 void Swap(int a,int b)//这里a,b的地址与主函数的地址不同,仅仅是函数名相同 { int tmp = a; a = b; b = tmp; } int main() { int a=5; int b=10; Swap(a,b);//a还是5,b ...
分类:
编程语言 时间:
2020-04-21 00:06:48
阅读次数:
168
1 void siftdown(int i)//删除一个最小的数并新增一个数 2 {//传入一个需要向下调整的节点编号i, 3 int t,flag = 0; 4 while(i*2 <= n &&flag == 0) 5 { 6 if(h[i] > h[i*2])//判断左子 7 t = i*2; ...
分类:
其他好文 时间:
2020-04-20 18:50:00
阅读次数:
65