摘要: ## 否定前件 #### 定义 如果A那么B;非A;故非B。 #### 例 > 如果是鸟类,那么它终将死亡;人不是鸟类,故人不会死亡。 ## 肯定后件 #### 定义 如果A那么B;C是B;故C是A。 #### 例 > 如果他生病了,则他不会来上班;他没来上班,所以他生病了。 ## 假两难推理 / 阅读全文
posted @ 2022-12-30 07:23 xj22yangyichen 阅读(1049) 评论(1) 推荐(0)
摘要: 本文介绍的常数优化方法或者能使代码略微加速,或者是一般人写代码时就习惯写成较快的方式 注意STL函数的时间复杂度 例1: 以下遍历char[]的两种方法 for(int i = 0; i < str.size(); i++) 和 for(int i = 0, len = str.size(); i 阅读全文
posted @ 2022-12-03 11:35 xj22yangyichen 阅读(56) 评论(0) 推荐(0)
摘要: 本文介绍的常数优化方法能使代码加速到原来的一半甚至更快 使用union类 定义 union是一种特殊的类,定义方法如下(定义在main内或main外都可以) union Union{ int a; double b; char c; }; Union u; 互斥的特性 union的所有成员存储在同一 阅读全文
posted @ 2022-12-03 11:32 xj22yangyichen 阅读(61) 评论(0) 推荐(0)
摘要: ## 累加函数 ```cpp accumulate(first, last, val, op); ``` first 和 last 表示序列(可以是数组、vector、array 等)的首尾指针/迭代器,val 表示操作的初始值,op 表示运算符,进行累加、累减、累乘还是累除 ```cpp #inc 阅读全文
posted @ 2022-12-03 11:29 xj22yangyichen 阅读(86) 评论(0) 推荐(0)
摘要: 本文所有代码均使用头文件valarray和iostream,并定义print函数如下 template <typename T> void print(const valarray<T> &va){ for(unsigned i = 0; i < va.size(); i++) cout << va 阅读全文
posted @ 2022-12-03 11:19 xj22yangyichen 阅读(117) 评论(0) 推荐(0)
摘要: 获取某一位的值 获取x右数第i位的值 x & (1 << (i - 1)) 若结果为0,则第i位的值为0;否则第i位的值为1 把一个或多个位的值置0 把x右数第i位置0 x & (~(1 << (i - 1)) 指定多个位置置0,例如 x & (~(3 << 2)) 实现了将x的右数第3位和第4位置 阅读全文
posted @ 2022-12-03 11:15 xj22yangyichen 阅读(33) 评论(0) 推荐(0)
摘要: 基础操作 str.size(); || str.length();//返回字符串的长度 str1.swap(str2); || swap(str1, str2);//交换str1和str2,建议用第一种方法 str.substr(num1, num2);//返回str中以num1为起点的num2个字 阅读全文
posted @ 2022-12-03 11:13 xj22yangyichen 阅读(44) 评论(0) 推荐(0)