【学习笔记】 $learn \ from \ failure \ ? ( 雾$
\(1.\)变量名不要用 \(next\) ,在某些编译器里可能是关键词,可以用 \(nxt\) 代替
\(\\\)
\(2.\)在判断某些条件时应该写成
flag = 条件 ? 1 : flag;
而不是
flag = 条件 ? 1 : 0;
\(\\\)
\(3.\) \(c++\) 自带的 log2 函数貌似会很慢,可以先预处理
for(int i = 1; i <= n; ++ i) log_2[i] = (i & (i - 1)) ? log_2[i - 1] : log_2[i - 1] + 1;
\(\\\)
\(4.\)位运算尽量带括号,(因为太菜了,运算优先级搞不清
\(\\\)
\(5.\)要是要用到 \(long \ long\) 乘法加法尽量把所有变量都设为 \(long \ long\),保不齐哪里就是几个 \(int\) 相乘又忘记强制改类型了就 \(GG\)
\(\\\)
\(6.\)快速乘(在这之前我居然一直写的是 \(O(\log n)\) 的龟速乘哈哈哈哈哈哈哈哈哈哈)
inline ll mul(ll x, ll y, ll p)
{
ll res = (ld) x / p * y + 0.5;
res = (ull) x * y - (ull)res * p;
return res < 0 ? res + p : res;
}
\(\\\)
\(7.\)输出注意是否换行,是否空格
\(\\\)
\(8.\) 清空数组少用 \(memset\) ,可以直接循环需要清空的范围
\(\\\)
\(9.\)在处理很多数据的时候一定要想想相等的情况,或者重边之类的
\(\\\)
\(10.\)数组下标不要从函数传到函数
\(\\\)
\(11.\) 遍历字符串的时候用一个变量提前存字符串长度,否则是 \(O(n^2)\) 的
\(eg:\)
F(i, 0, strlen(s) - 1) //O(n^2)
int len = strlen(s);
F(i, 0, len - 1) //O(n)
【学习笔记】 $learn \ from \ failure \ ? ( 雾$的更多相关文章
- Log4j简单学习笔记
log4j结构图: 结构图展现出了log4j的主结构.logger:表示记录器,即数据来源:appender:输出源,即输出方式(如:控制台.文件...)layout:输出布局 Logger机滤器:常 ...
- 小波说雨燕 第三季 构建 swift UI 之 UI组件集-视图集(六)Picker View视图 学习笔记
想对PickerView进行操作,只能在代码中操作. 下面 ,再添加三个label组件,然后将所有组件配置到代码中(看代码),然后要实现对PickerView的操作,就要实现它的DataSource协 ...
- DSP bootloader学习笔记1
DSP bootloader学习笔记1 彭会锋 参考: TMS320F28xx DSP中内部Flash的应用研究 http://wenku.baidu.com/view/83e9837931b765c ...
- [未完成]WebService学习第一天学习笔记
[未完成]WebService学习第一天学习笔记[未完成]WebService学习第一天学习笔记
- 【转】FragmentTest学习笔记1
原文网址:http://blog.csdn.net/hishentan/article/details/20734489 源码部分: BookContent.java package com.exam ...
- OSGi.NET 学习笔记
OSGi.NET 学习笔记 [目录] 持续更新和调整中,本人学习笔记,非官方文档,难免疏漏,仅供参考. OSGi.NET SDK下载地址. 前言及环境准备 模块化和插件化 概念 实例 小结 面向服 ...
- uIP学习笔记
uIP学习笔记 从零开始使用uIP freemodbus modbus TCP 学习笔记
- springcloud Eureka学习笔记
最近在学习springcloud,抽空记录下学习笔记;主要记录Eureka的实现过程和高可用性的实现 Eureka是一个服务治理框架,它提供了Eureka Server和Eureka Client两个 ...
- jQgrid学习笔记
jQgrid学习笔记
随机推荐
- 实例演示:如何简化生产中的Pod安全策略?
Pod安全策略对于强化K8S集群安全至关重要.本文将延续之前的文章继续深入介绍Pod安全策略. 首先,简单介绍了如何将Pod与Pod安全策略相关联,并使用RBAC来展示具体步骤.然后介绍如何在Ranc ...
- 02 LED翻转与计数器使用
一. 设计定义: 计数器设计与验证 LED,每500ms,状态翻转一次也就是亮灭. 第一步: 系统时钟频率为50M,对应为T= =20ns 计数周期或者时间是500ms,计数次数的计算: 计数值=( ...
- TensorFlow系列专题(三):深度学习简介
一.深度学习的发展历程 深度学习的起源阶段 深度学习的发展阶段 深度学习的爆发阶段 二.深度学习的应用 自然语言处理 语音识别与合成 图像领域 三.参考文献 一.深度学习的发展历程 作为机器学习最 ...
- 解析PE文件
最近在自学解析PE文件,根据小辣椒(CFF Explorer)以及各论坛上大佬的帖子,做了个黑屏打印PE文件的,历时7天完成,在此想跟有相关需要的同学们分享下思路,有不足之处也希望大家不吝赐教,指点出 ...
- Ubuntu下已安装Anaconda但出现conda: command not found错误解决办法
原因:环境未配置 执行[vim ~/.bashrc]命令,进入配置文件,在最后一行按'o'插入一行,并添加语句: export PATH=/home/duanyongchun/anaconda3/bi ...
- 【poj 2429】GCD & LCM Inverse (Miller-Rabin素数测试和Pollard_Rho_因数分解)
本题涉及的算法个人无法完全理解,在此提供两个比较好的参考. 原理 (后来又看了一下,其实这篇文章问题还是有的……有时间再搜集一下资料) 代码实现 #include <algorithm> ...
- [Asp.Net Core] 为什么选择 Blazor Server Side (一) 快速实现图片验证码
关于Blazor 由于在国内, Blazor一点都不普及, 建议读者翻看我之前写的随笔, 了解Blazor Server Side的特点. 在一段时间内, 我会写一些解说分析型的 "为什么选 ...
- Android进阶AIDL使用自定义类型
原文首发于微信公众号:jzman-blog,欢迎关注交流! 上篇文章中主要介绍从 AIDL 的使用方式以及 Android 开发中不同进程之间的通信,遗留的问题是如何在 AIDL 中使用自定义类型,具 ...
- git 从另一个分支融合部分文件
# git checkout master # git checkout anotherBranch -- abc ./etc # git commit -m "merge some fil ...
- 如何在 Array.forEach 中正确使用 Async
本文译自How to use async functions with Array.forEach in Javascript - Tamás Sallai. 0. 如何异步遍历元素 在第一篇文章中, ...