2014-10-25 Xie Jingyi
题目大意 输入a, b, k, n, m,计算$a^n\times b^m\times C_k^n$模10007的余数。 分析 对于幂数的计算并不难,关键在于对组合数$C_n^k$的计算。 通常来说,组合数的计算一般是这样的:$$C_n^k=\frac{n}{k}\times\frac{n-1}{k-1}\times\ldots\times\frac{n-k+1}{1}$$ 这对于单精度的计算来说是十分快捷的,但如果要对结果取模的话就不起作用了——取模运算对于除法不成立。因此只能另辟蹊径了。 注意到加减乘法对于取模都是成立的,从而想到:能否将组合数转化成加法? 自然而然,想到了组合恒等式:$$C_n^k=C_{n-1}^{k} 继续阅读 »
2015-11-23 demon7452
在Fedora中安装Steam 1、在Fedora中配置Steam安装时需要的相关源 ``` 运行如下命令 $ su -c 'dnf install http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm' ``` 继续阅读 »
2017-01-13 Bruce Wang
最近工作上接手了两个项目,可它们依赖的node版本不同,于是想到了之前用的nvm(Node Version Manager)。 https://github.com/creationix/nvm 之前安装nvm的方式是通过npm install nvm,而新版本可以通过脚本或者手动安装。目前,nvm没有提供windows的支持,但是在其文档中提到了nvm-windows这个工具。 https://github.com/coreybutler/nvm-windows 安装 在安装nvm-windows前,需要做以下步骤: 卸载系统中已有的node.js 删除node.js安装目录(例如C:\Program Files\no 继续阅读 »
2015-02-26 YongHao Hu
先摆干货,总结:static函数的作用是在链接层面上的。 之所以研究static函数是因为Wine里面很多helper函数都是在.h文件里声明为static, 其作用就是避免命名冲突。 1. 正如很多C语言书籍里都有提到: 函数的定义和声明默认情况下是extern的,但静态函数只是在声明他的文件当中可见,不能被其他文件所用。 定义静态函数的好处: <1> 其他文件中可以定义相同名字的函数,不会发生冲突 <2> 静态函数不能被其他文件所用。 继续阅读 »
2016-06-26 ruki
You can use xmake to run the given target and need not know where is the target program. e.g. We define a simple target with named 'test'. lua target("test") set_kind("console") add_files("*.c") So, we can run it directly. bash $xmake r test or $xmake run test xmake will compile it 继续阅读 »
2016-06-01 JustWe
博客地址: http://lfkdsk.github.io 代码地址: https://github.com/lfkdsk/CodeParse 为计算器添加一些新功能 本节代码:CalcWithTable 上次我们使用Lex & Yacc制作了一个能够处理优先级的计算器,其中的优先级的设定是通过修改文法 ,将优先级提升,这次重写这个计算器并添加一些新的功能。 先看Lex文件 ``` C %{ include "y.tab.h" include include "link_list.h" %} %% /* 这段正则和之前都有所不同 明显的增加了对于科学 继续阅读 »
2016-07-06 ruki
主页 源码 更新内容 此版本,主要修复一些bug和稳定性改善 改进 修改安装和卸载的action处理 更新工程模板 增强函数检测 Bugs修复 #7: 修复用模板创建工程后,target名不对问题:'[targetname]' #9: 修复clang不支持c++11的问题 修复api作用域泄露问题 修复在windows上的一些路径问题 修复检测宏函数失败问题 修复检测工具链失败问题 修复windows上编译android版本失败 继续阅读 »
2015-06-15 litaotao
1. failed to write data to stream 环境:ipython, OSX 操作:在ipython里import 一个pure module 问题: Python - ERROR - failed to write data to stream: ', mode 'w' at 0x104c8f150> 办法:export PYTHONIOENCODING=UTF-8 will solve it. 相关:stackoverflow 继续阅读 »
2016-08-30 曹强
写在前面 废话不多说,请看下面3道题,把6个console.log()的答案写下来,然后对照着在Console控制台里敲一遍,校验一下结果。 more 代码片段 ``` var A = function() {}; a.prototype = { num : 1, text : 'aaa' }; var x = new A(); // 第一题 console.log(x.num); console.log(x.text); // --这里是分割线-- var y = new A(); A.prototype = { num : 2 }; // 第二题 console.log(y.num); c 继续阅读 »
2013-07-19 walter lee
编译型和解释型: 1.1 编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件。 1.2 解释型语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译。 动态语言和静态语言(对应变量而言): 2.1 动态语言:一种在执行期间才去发现数据类型的语言, 动态语言是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。pythton 2.2 静态语言:即一种在编译时,数据类型是固定的语言。大多数静态类型定义语言强制这一点,它要求你在使用所有变量之前要声明它们的数据类型。C、C++、Java 强类型定义语言和 继续阅读 »