Algorithm
快读
inline void read(int &x)
{
int y = 0, f = 1;
char c = getchar();
while (c < '0' c > '9')
{
if (c == '-')
f = -1;
c = getchar();
}
while (c >= '0' && c <= '9')
{
y = (y << 3) + (y << 1) + (c - 48);
c = getchar();
}
x = y * f;
return ;
}
memset 初始化
menset()
为按字节初始化memset(arr, num, sizeof(arr))
表示,将 arr[]
中的每一个字节初始化为 num
以下为几个常用的初始化:
- 0 (0x0000000),会将每个字节初始化为 0
- -1 (0x11111111),会将每一个字节初始化为 -1
- 63 (0x3f3f3f3f),int 下为 1061109567,超过 $10^{9}$,相加不会超过 int 上限,满足 无穷大 + 无穷大 = 无穷大
- 127 (0x7f7f7f7f),int 下为 2139062143,超过 $10^{9}$,int 型变量中单个字节的最大值,相加会超过 int 上限
STL中的二分查找
lower_bound(begin, end, key)
二分查找 $[begin, end - 1]$ 中第一个大于或等于 $key$ 的数字
upper_bound(begin, end, key)
二分查找 $[begin, end - 1]$ 中第一个大于 $key$ 的数字
两个二分查找函数均有可选择的第四个参数:比较器,默认为 less<T>()
,使用 greater<T>()
将变为小于
对于可随机访问的有序容器使用 lower_bound
和 upper_bound
函数时间复杂度为 $O(\log n)$,但对于set,multiset这种不能随机访问的有序容器,要用其自带的 lower_bound
和 upper_bound
的时间复杂度才为 $O(\log n)$
C++比较器
比较器为true进行操作,为false时不操作
&a是右边,自身是左边
bool operator < (const Node &a) const
{
return w > a.w
//使用大于号实现小于号,表示排序顺序与默认顺序相反。若使用小于号实现小于号,则相同。可用此法方便理解。
}
less 和 greater
less<T>
,代表元素从小到大排序
greater<T>
,代表元素从大到小排序
//使用实例
sort(arr, arr + n, less<int>()); //数组从小到大排序
sort(arr, arr + n, greater<int>()); //数组从大到小排序
//优先队列相反
priority_queue<int, vector<int>, less<int> > q; // 优先队列从大到小排序
priority_queue<int, vector<int>, greater<int> > q; // 优先队列从小到大排序
Unity
导入资源导致材质丢失
在导入资源时如果出现错误shader导致材质变成粉红色丢失,将shader改成列表中的最后一个即可
选择图中shader即可
Unity 重新加载场景光照变暗
Unity:重新加载场景以后就光照变暗_Zzz的专栏-CSDN博客_unity重新加载场景
关于坐标转换 ScreenToWorldPoint
当使用ScreenToWorldPoint(Vector3 position)进行坐标转换时如果z坐标的值为0或很小
Unreal
UE4/UE5 DerivedDataCache文件夹占用C盘空间
使用UE4引擎,不知不觉C盘就会增肥。因为UE4引擎默认把项目中的缓存存放在C盘。如下面这个目录。
C:\Users\你的用户名\AppData\Local\UnrealEngine\Common\DerivedDataCache
你首先需要显示隐藏文件才可以找到这个DerivedDataCache
文件,然后删除它。但是这只是治标不治本的方法。若想一劳永逸,那就需要更改默认的配置文件。找到你的引擎安装位置。例如
D:\Program Files (x86)\Epic Games\4.14\Engine\Config
找到Config
文件下的BaseEngine.ini
,使用txt文本打开,修改默认存储位置到项目文件夹下
找到[InstalledDerivedDataBackendGraph]
条目下的
Local=(Type=FileSystem, ReadOnly=false, Clean=false, Flush=false, PurgeTransient=true, DeleteUnused=true, UnusedFileAge=34, FoldersToClean=-1, Path="%ENGINEVERSIONAGNOSTICUSERDIR%DerivedDataCache")
中的%ENGINEVERSIONAGNOSTICUSERDIR%DerivedDataCache
修改为%GAMEDIR%DerivedDataCache
,修改完的内容为
Local=(Type=FileSystem, ReadOnly=false, Clean=false, Flush=false, PurgeTransient=true, DeleteUnused=true, UnusedFileAge=34, FoldersToClean=-1, Path="%GAMEDIR%DerivedDataCache")
Blender
Blender处理原神PMX模型
【游戏开发实战】下载原神模型,PMX转FBX,导入到Unity中,卡通渲染,绑定人形动画(附Demo工程)
Web
Web适配Apple Hybrid web
关于在Safari浏览器中将网页添加到主屏幕的相关设置(自定义图标,启动动画,自定义名称)
WordPress gif不显示
在图片设置中改成全尺寸图片,不要压缩
开发板
树莓派安装Apache服务
在线安装Apache服务
我们采用apt-get在线源安装方式,所以我们建议把树莓派的源信息进行更新,这样可以安装最新版的APACHE服务版本。其中更新源信息命令如下;sudo apt-get update sudo apt-get dist-upgrade
完成树莓派安装源信息的更新后就可以使用命令来在线安装APACHE了,安装命令如下;sudo apt-get install apache2
完成APACHE的在线安装我们可以尝试采用默认配置来启动下APACHE服务,以便查看是否安装正常。重启APACH服务的命令如下;启动:sudo /etc/init.d/apache2 start 重启:sudo /etc/init.d/apache2 restart 关闭:sudo /etc/init.d/apache2 stop
通过上面的更新和安装APACHE服务就基本安装完成了。
配置APACHE服务
APACHE安装后还是不能直接使用,因为需要更具自己的具体业务需求来更改配置以达到符合自己的实际情况。apache2的默认主目录:/var/www/ apache2的的配置目录:/etc/apache2
其中sites-enabled,sites-available这两个文件夹是关于虚拟主机的配置,而且在sites-enabled文件夹中基本是sites-available的连接文件。
建立一个TEST虚拟空间目录
在sites-available文件夹中,新建文件TEST,内容如下
<VirtualHost *:80>
ServerName TEST.com
DocumentRoot /var/ww/TEST/
</VirtualHost>
然后sudo service apache2 reload
重启服务让修改的配置文件生效即可
修改Apache网站根目录
/etc/apache2/sites-available 中修改 000-default.conf 中的DocumentRoot /var/www/ 修改为想要的目录
Apache2 网站根目录下icons文件夹无法访问
这个文件夹是Apache2默认已经定义的文件夹,在alias.conf里面有别名,使用别的文件夹名字即可
Python Selenium 网页自动化操作
Mathjax
MathJax 支持的 Latex 符号总结
[翻译] LaTeX 中的积分、求和、极限_Xovee的博客-CSDN博客_latex 积分