Android隐式Intent例子

Android平台Intent分为两种:显示Intent和隐式Intent

显式Intent会准确地告诉Android运行时需要激活哪个组件。举个例子,如果我想让别人帮忙买包饼干。显示Intent会说,可以帮我去xxx街的xxx便利店买包饼干吗。而隐式Intent

阅读更多
将一个字(32 bit)按字节反转的方法

什么意思呢?就是将 ABCD 变成 DCBA。这里的ABCD代表字节。

这个方法是在嵌入式系统课程中学到的,效率很高,该方法只用了一个临时变量而且不使用循环语句。

阅读更多
[kuangbin带你飞]专题二十一 概率&期望

A Dangerous Maze

B - Discovering Gold

给你一个数N,代表有N个点,每个点上有一定数量的黄金,你有一个6面的骰子,投到x就走x步,如果超过了N,就再投一次,让你求获得黄金数量的期望值。

阅读更多
协同过滤推荐算法简单实现(UserCF)

想要了解一个算法,最好的做好就是自己实现一遍。前面简单讲了什么是协同过滤,那么在本文,将会尝试实现它。本文实现的是基于用户的协同过滤算法 ——这种算法给用户推荐和他兴趣相似的其他用户喜欢的物品。感谢《推荐系统实践》一书的对这方面详细描述。

阅读更多
笔记:协同过滤推荐算法

随着电子商务的兴起,推荐系统得到了广泛的应用,同时也推进了对推荐算法的研究。例如:淘宝、京东、Amazon等都采用了智能的推荐系统。协同过滤(Collaborative filtering)算法是诞生最早的一种推荐算法,并被广泛采用。其主要思想是“利用群众的智慧”对信息进行过滤和筛选。协同过滤相对于集体智慧而言,它从一定程度上保留了个体的特征。

阅读更多
数据结构:败者树

败者树是计算机科学学科里的一种数据结构,可用于外部排序中提高效率。实际上是一棵完全二叉树。

败者树的中间结点记录的败者的标号

阅读更多
ubuntu下安装hadoop, hbase

安装环境以及软件版本:

  • Ubuntu 16.04.1 LTS
  • Hadoop 2.9.1
  • HBase 1.4.8
阅读更多
数据结构:树状数组

先来一段来自百度百科的介绍

树状数组(Binary Indexed Tree(B.I.T), Fenwick Tree)是一个查询和修改复杂度都为log(n)的数据结构。主要用于查询任意两位之间的所有元素之和,但是每次只能修改一个元素的值;经过简单修改可以在log(n)的复杂度下进行范围修改,但是这时只能查询其中一个元素的值(如果加入多个辅助数组则可以实现区间修改与区间查询)。

阅读更多
Sublime Text3 配置C++(附oj刷题常用模板)

下载对应平台的sublime

sublime最新版下载, 字体样式个人喜欢Consolas, 另附注册码:

1
2
3
4
5
6
7
8
9
10
11
12
13
—– BEGIN LICENSE —–  
TwitterInc
200 User License
EA7E-890007
1D77F72E 390CDD93 4DCBA022 FAF60790
61AA12C0 A37081C5 D0316412 4584D136
94D7F7D4 95BC8C1C 527DA828 560BB037
D1EDDD8C AE7B379F 50C9D69D B35179EF
2FE898C4 8E4277A8 555CE714 E1FB0E43
D5D52613 C3D12E98 BC49967F 7652EED2
9D2D2E61 67610860 6D338B72 5CF95C69
E36B85CC 84991F19 7575D828 470A92AB
—— END LICENSE ——

Mac下配置

选择Tools > Build System > New Build System创建一个编译模板,名字命名为C++11

20170812150246958137367.png

文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",

"variants":
[
{
"name": "Run",
"cmd": ["bash", "-c", "g++ -std=c++11 '${file}' -o 'a' && open -a terminal '${file_path}/a'"]
}
]
}

配置中的open -a terminal指的是从终端打开该文件, 如果不需要,可以将其去掉。
编写一个简单的c++程序测试一下
20170812150247043771743.png


Windows下配置

c++环境设置

  1. 在系统环境变量Path中添加MinGW > bin所在目录,
    点击下载MinGW
    20170814150272417980528.png
  2. 同样在Tools > Build System > New Build System新建编译模板,保存为C++11.sublime-build
    内容为:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
C++.sublime-build

{
"encoding": "utf-8",
"working_dir": "$file_path",
"shell_cmd": "g++ -Wall \"$file_name\" -o \"$file_base_name\"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"selector": "source.c++",
"variants":
[
{
"name": "Run",
"shell_cmd": "g++ -Wall \"$file\" -o \"$file_base_name\" && start cmd /c \"\"${file_path}/${file_base_name}\" & pause\""
}
]
}


oj刷题常用模版

sublime中可以添加代码片段

创建方法:Tools (工具)> Developer > New Snippet(新片段)

1、在新建的文件中添加如下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<snippet>
<content>
<![CDATA[
#pragma comment(linker, "/STACK:1024000000,1024000000")
#include <stdio.h>
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <cctype>
#include <string>
#include <cstring>
#include <algorithm>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <ctime>
#include <vector>
#include <fstream>
#include <list>
#include <iomanip>
#include <numeric>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define ms(s) memset(s, 0, sizeof(s))
const int inf = 0x3f3f3f3f;
#define LOCAL



int main(int argc, char * argv[])
{
#ifdef LOCAL
freopen("/Users/huangjiaming/Documents/Algorithm/oj/data.in", "r", stdin);
//freopen("/Users/huangjiaming/Documents/Algorithm/oj/data.out", "w", stdout);
#endif

${1:/* code */}

while (~scanf("%d", ${2:/* var */}))
{

}

return 0;
}]]>
</content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<tabTrigger>acm</tabTrigger>
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<scope>source.c++</scope>
</snippet>

2、保存为acm.sublime-snippet
3、使用方法,在你的c++文件中输入acm关键字,再按下Tap键

效果如下

20170812150247176496944.gif