给小白的IPython Notebook指南

这是给“小白”的notebook指南。notebook是算法开发经常使用的工具。 安装notebook $ pip install notebook 运行notebook $ jupyter-notebook . 在终端下运行这个命令可以启动notebook。 使用IPython-Notebook 点击右方的New按钮,选择Python3,以此来启动一个新的NoteBook。 这时会新创建一个文件。 在In [ ]:后输入要运行的代码,然后点击Run即可运行。例如: 使用Terminal Terminal就是之前在Windows下的cmd,MacOS下的terminal,点击之后见到这个界面: 尝试输入python,就可以像之前那样进行命令行编程了。

Read More

网络-CDMA接受检验

{% blockquote 本文出自 http://svtter.com svtter.com %} 本文可以随意转载,但是转载请保留本信息. 做CDMA简单的接收处理。 文件 input: -1 -1 -1 1 1 -1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 1 1 1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 new.c: #include <stdio.h> #include <math.h> #define M 8 const int b[] = {-1, 1, -3, 1, -1, -3, 1, 1}; void show(int a[]) { int i; for(i = ; i < M; i++) printf("

Read More

获取本机ipv6地址

获取本机ipv6地址,最简单的方法: cat /proc/net/if_inet6 还可以使用python的netinterface包。 ifconfig也是从这个文件进行获取的,只是优化了一下格式。 reference https://blog.lilydjwg.me/2012/6/6/get-ipv4-and-ipv6-addresses-of-local-host-in-a-programming-way.34055.html

Read More

蓝桥杯入门训练题目

蓝桥的系统需要I64d这种输入格式。无力吐槽。 Fibonacci数列 #include <iostream> #include <cstdio> #include <cstring> #include <set> #include <vector> #include <map> #include <algorithm> #include <queue> #include <cmath> #include <bitset> using namespace std; // 大数,内存处理 #define INF 0x3f3f3f3f #define lln long long int #define MEM(a) memset(a, 0, sizeof(a)) #define MEMM(a) memset(b, -1, sizeof(b)) #define DEB(x, n) cout << (x) << " " << (n) << endl #define CR printf("\n") // 调试用 template <class Type> void debug(Type a[], int len) { for(int i = ; i < len ; i++) { cout << a[i] << "

Read More

蓝桥杯基础练习

数列排序 #include <iostream> #include <cstdio> #include <cstring> #include <set> #include <vector> #include <map> #include <algorithm> #include <queue> #include <cmath> #include <bitset> using namespace std; // 大数,内存处理 #define INF 0x3f3f3f3f #define lln long long #define MEM(a) memset(a, 0, sizeof(a)) #define MEMM(a) memset(b, -1, sizeof(b)) #define DEB(x, n) cout << (x) << " " << (n) << endl #define CR printf("\n") // 调试用 template <class Type> void debug(Type a[], int len) { for(int i = ; i < len ; i++) { cout << a[i] << "

Read More

解决无法在CentOS下的gvim中使用ibus输入中文

问题 之前在gvim中一直无法使用中文,格外痛苦,后来使用了vim-ibus插件之后,可以在vim中使用中文了,但是依然不能在gvim中使用,一直以为是两个软件冲突的 问题,现在终于解决了。 gvim version: vim-X11 ibus version: 1.6 解决方案 问题出在:使用的vim插件中有插件与ibus冲突,但是奈何找不到X11的log(应该可以找到,找到再说。。) 排查方式比较简单,使用:PluginInstall,:PluginClean即可(考虑到我使用vundle管理插件) 去除相应的插件即可(比如现在冲突的是auto-pairs)。如果不想去除冲突插件,可以考虑使用vim-ibus,这个在shell下是可以使得很多冲突减少的。 可能auto-pairs在不久的将来就会修复这个bug,请在具体环境下排查

Read More

计算机图形学-相关内容

本文出自svtter.com 本文可以随意转载,但是转载请保留本信息. 本身自己看这些东西没有很简单,但是李老师讲的的确深入浅出,使得同学们更加容易明白。 CSG树 画CSG树很简单,左边为原始元素,右边为变换。原始元素 + 变换 = T 变换, 叶子节点,都是画在图上,T节点也要画在图上。 T变换下的节点不需要重画。U为求并。 四叉树 如果满则为F[ull], 不满则为B[oundary], 空则为E[mpty]. 四叉树主要是就是划分,按照象限划分即可,把多重颜色递归的进行划分即可。 中点bresenham算法 $ 0 <= k <= 1$ bresenham算法用于绘制直线,可以计算出直线的斜率。 从起点开始,代入x的值,然后求$(2*y_1+1)/2$值。 这个算法就是求两个点的中点,然后取距离中点近的那一个点来绘制直线 下一个点的求法是$(x_1+1,y_1+1), (x_1+1,y_1)$然后求中点,重复过程 以上是原理,下面是求解方法: 输入直线两个端点$P_0(X_0, Y_0), P_1(X_1,Y_1)$ 首先计算$d = {\Delta}x – 2{\Delta}y$ 绘制点(x,y) 如果$d<0$, 则(x,y)更新为(x+1,y+1),d更新为$d+2{\Delta}x-2{\Delta}y$; 否则(x,y)更新为(x+1,y),d更新为$d-2{\Delta}y$ 直线没有画完,重复3。 $ k > 1 $ 对y的操作搞到x上即可 改进的有效边表算法 ? 最小的x 最大的y $1/k$ next 首先构造边表,然后再构造有效边表

Read More