2017年8月17日

杨辉三角与组合数的关系(百度之星17年初赛B第一题)

摘要: 杨辉三角如下: Problem Description 車是中国象棋中的一种棋子,它能攻击同一行或同一列中没有其他棋子阻隔的棋子。一天,小度在棋盘上摆起了许多車……他想知道,在一共N×M个点的矩形棋盘中摆最多个数的車使其互不攻击的方案数。他经过思考,得出了答案。但他仍不满足,想增加一个条件:对于任何 阅读全文

posted @ 2017-08-17 20:45 daghlny 阅读(471) 评论(0) 推荐(0) 编辑

2017年7月31日

几种暴力搜索方法

摘要: 主要内容来自 刘汝佳 的 《算法竞赛入门经典》 1. 直接枚举 这个方法,主要是找到“一种有规则的方法”来枚举所有结果,保证结果完整即可。 经典例题:输入n,输出前 n 个数的所有排列。 提示:用递归,每次从当前排列中没有的数中进行展开,最后的结果是一棵树。至于如何找到排列中没有的数,比较挫的办法是 阅读全文

posted @ 2017-07-31 20:35 daghlny 阅读(1683) 评论(0) 推荐(0) 编辑

2017年7月21日

c++ 中 typeid, typeinfo, typeof

摘要: C++ 提供的 <typeinfo> 这个头文件保存了一些类型,这些类型和 typeid, dynamic_cast 操作符相关。 1. std::type_info 这个类型在 <typeinfo> 中定义。 typeid 操作符会返回一个该类型的 const 左值对象。但是这个 std::typ 阅读全文

posted @ 2017-07-21 17:33 daghlny 阅读(15054) 评论(0) 推荐(0) 编辑

2017年5月15日

C++ 流畅接口

摘要: 流畅接口(Fluent Interface),第一次见是在看 RapidJSON 的 wiki 时看见的。 意为返回自己的引用,这样可以不间断地调用一个函数多次。 这样插入操作的时候,就可以 这只是简单的用法。 之前看到过一个问题,如何在 C++ 中实现这种函数调用效果: 我的方法是用 operat 阅读全文

posted @ 2017-05-15 11:41 daghlny 阅读(428) 评论(0) 推荐(0) 编辑

2017年4月15日

STL 中 vector 的一些使用方法

摘要: 看了 《C++标准库》这本书关于 vector 的一章,感觉学到了很多。 1. reserve() 只会扩充 vector 的 capacity ,而不会缩小它。因此即使删除元素,其 reference, pointer, iterator 也不会失效,但是插入动作(insert)会导致这些成员失效 阅读全文

posted @ 2017-04-15 17:32 daghlny 阅读(219) 评论(0) 推荐(0) 编辑

2017年3月30日

aws 创建新用户并使用 ssh 登录

摘要: 用 useradd 来创建用户,改一下权限、主目录还有 shell 之类的。 然后是用 ssh 登录,aws的登录好像都需要制定私钥文件。 首先建议用 ec2 的工具生成一个新的 .pem 私钥文件。例如 a.pem。 然后把 a.pem 上传到服务器,使用 ssh-keygen -y 命令,会提示 阅读全文

posted @ 2017-03-30 17:27 daghlny 阅读(7945) 评论(0) 推荐(0) 编辑

2017年3月10日

C++使用宏来方便定位打印 log

摘要: 写程序经常需要 printf 运行信息,使用 Macro 可以方便地在 printf 时定位到具体的文件、行号和函数 几个重要的 Macro: 在 macro 的变量前面加上 ##,表示将字面量拼接起来。 加上#代表将字面量转变成字符串; 附带定位的 log 打印宏: 其中 strrchr(__FI 阅读全文

posted @ 2017-03-10 17:57 daghlny 阅读(1164) 评论(0) 推荐(0) 编辑

2017年3月8日

C++ 默认构造函数

摘要: 一个 Struct 的定义 如果调用 都没有错,但是调用 就会出错,一种理解就是编译器会认为这是一个函数的声明,但是改成 也不行,g++报的 error 根据搜索说明这里就不应该加上 typename。 至此我也不知道为什么这样不行,可能只是一种规定而已。 一些参考: http://stackove 阅读全文

posted @ 2017-03-08 11:56 daghlny 阅读(195) 评论(0) 推荐(0) 编辑

2017年3月1日

gdb 使用技巧(偏C++)

摘要: 1. gdb内置了打印c++数组的操作, 如果 a 为数组指针, 大小为 10 则 或者 其中第2种,大小指定只能是常数,使用 b.length+1 这种表达式就不可以,第1中可以在 @ 符号后面跟上表达式 如果需要打印 STL 提供的容器,推荐别人使用的脚本,拷贝到自己主目录下的 .gdbinit 阅读全文

posted @ 2017-03-01 16:08 daghlny 阅读(305) 评论(0) 推荐(0) 编辑

2017年2月20日

iptables 做 ssh 登录的端口转发

摘要: 使用 ssh 登录A机器(IP:1.1.1.1) 的 2333 端口,可以自动跳转到 B机器(IP:2.2.2.2)上,其中B机器的 ssh 登录端口就是默认的 22。 首先确保几个条件: 1. iptables 端口转发打开了, 改 /etc/sysctl.conf 这个文件,把 net.ipv4 阅读全文

posted @ 2017-02-20 16:48 daghlny 阅读(2872) 评论(0) 推荐(0) 编辑

导航