各种有用的东西、黑科技、技巧
转自WerKeyTom_FTD的blog
1、整体二分及cdq分治实现时,每个区间不需要单独开队列。可以把操作弄到一个数组了,然后多两个参u、v表示这个区间的操作在u~v,做完后对每个操作打标记表示是否往右区间传即可。
2、两个long long相乘取模怎么办?
第一种是快速乘,类似快速幂,复杂度多了个log
第二种是找一个比较小的数,然后搞一波,详见代码
ll qsc(ll x,ll y){ll a1=x/1000000,a2=x%1000000,b1=y/1000000,b2=y%1000000;ll t=a1*b1%p*1000000%p*1000000%p;t=(t+a2*b2%p);t=(t+a1*b2%p*1000000%p);t=(t+a2*b1%p*1000000%p);return t%p;
}
第三种来自Yves___的博客long long相乘取模黑科技
LL mult( LL A, LL B, LL Mo )
{LL temp = ( ( LL ) ( ( db ) A*B/Mo+1e-6 ) * Mo );return A*B - temp;
}
大概意思就是强制转double然后搞一波再转回来。
3、unique()可以删除重复元素,然后返回删除重复元素后的末端地址。
下面这段代码即可实现离散化。
fo(i,1,n) scanf("%d",&a[i]),b[i]=a[i];
sort(b+1,b+n+1);
l=unique(b+1,b+n+1)-b-1;
fo(i,1,n) a[i]=lower_bound(b+1,b+l+1,a[i])-b;
4、可以用调用ctime,运用clock()获取程序运行至该语句时的时间(默认ms)
#include<iostream>
#include<ctime>
using namespace std;
int main()
{int n=0;//start=clock();while(n<100000000)n++;cout<<(double)clock()<<endl;return 0;
}
5、调用头文件bits/stdc++.h就相当于包括了好多库……
6、如何打伪随机数?
int rand() {static int rand_seed=1542071823;rand_seed+=rand_seed<<1|1;return rand_seed;
}
7、对拍(从前一直用c++对拍的蒟蒻就是他(还有我本人))
在程序的目录下建立.txt文件,输入:
@echo off
:loop
data.exe //生成数据
right.exe //要对拍的
brute_force.exe //暴力
fc data1.out data2.out //两个程序的输出文件
if not errorlevel 1 goto loop
pause
goto loop
把文件扩展名名改成.bat
8、关于可持久化,记住以下几点:
1:一个点的信息要被修改时需要对其新建。
为了节省空间,一个点的信息不被修改时就没必要新建了。
例如合并一个结点与空节点,此时不需要新建。
2:为了节省空间,如果对空节点进行newnode我们直接返回空节点。
3:打标记也涉及修改信息,不要忘记newnode。而down的时候其实并不用,因为修改的是儿子的信息。
9、从OJ上看来一句话,不知道来源。
OI比赛的题目无非三种,从暴力到优化,从一般到特殊,重新定义题目。
10、O(n)求出1~n对于质数MOD的逆元。
来自链接
inv[i] = ( MOD - MOD / i ) * inv[MOD%i] % MOD
证明:
设t = MOD / i , k = MOD % i
则有 t * i + k == 0 % MOD
有 -t * i == k % MOD
两边同时除以ik得到
-t * inv[k] == inv[i] % MOD
即
inv[i] == -MOD / i * inv[MOD%i]
即
inv[i] == ( MOD - MOD / i) * inv[MOD%i]
证毕
各种有用的东西、黑科技、技巧相关推荐
- 这哪是NBA球场!简直就是黑科技实验室啊!
原文链接 刚结束的2017 NBA总决赛第五场中,勇士队129比120战胜骑士,总比分4比1拿到了2016到2017赛季的总冠军.砖家分析,勇士夺冠,可不仅仅是球技过人,还因背后一大波黑科技相助!让我 ...
- (弃更)一些黑科技和技巧
有疑问或错误尽管评论!! 下面以C++为准. 黑科技 1.读入优化 在做题时,读入量较大的时候,便可以用来卡常. 据说GDOI有一题卡读入,题目直接给了学生读入优化. Pascal选手应该很无奈--就 ...
- (持续更新)一些黑科技和技巧
有疑问或错误尽管评论!! 下面以C++为准. 黑科技 1.读入优化 在做题时,读入量较大的时候,便可以用来卡常. 据说GDOI有一题卡读入,题目直接给了学生读入优化. Pascal选手应该很无奈--就 ...
- 缺氧游戏黑科技计算机,《缺氧》不用bug黑科技debug长期生存技巧详解
原标题:<缺氧>不用bug黑科技debug长期生存技巧详解 缺氧游戏中很多玩家喜欢用各种bug及黑科技,当然,也有玩家不用照常可以活很久,今天给大家带来的是"黑_永兰一" ...
- vivo x60pro刷机鸿蒙,vivoX60Pro+玩机技巧-有哪些黑科技
今天小编和大家分享的是vivoX60Pro的玩机技巧,以及搭载了哪些黑科技,怎么使用,怎么开启,一起来看看吧 X60Pro+照片修复馆 首发了黑白老照片修复上色等功能,在大幅提升人像清晰度的同时还能进 ...
- 缺氧游戏黑科技计算机,《缺氧》怎么生存?缺氧bug黑科技小技巧使用方法一览...
<缺氧>怎么生存?缺氧bug黑科技小技巧使用方法一览 2017-02-25 10:25:19来源:缺氧游戏吧编辑:君辞-v-评论(0) <缺氧>面向各位玩家开放之后,很多玩家都 ...
- 给大家盘点一下最新版本的Photoshop十大技巧和黑科技
自Photoshop诞生至今已经接近30年了,这几年特别是2017年以来Photoshop更新非常频繁,加入了人工智能技术之后Photoshop如虎添翼,今天就给大家盘点一下最新版本的Photosho ...
- JS奇淫技巧:挑战前端黑科技,数值的七种写法,能全看懂的一定是高手
JS奇淫技巧:数值的七种写法 JS奇淫技巧:挑战前端黑科技,数值的七种写法,能全看懂的一定是高手 你知道吗?在JS编程中,数值可以有很多种写法. 第一种写法: 一般情况而言,数值就是数值. 比如: v ...
- 华为黑科技,轻松提升电池续航的小技巧
hello各位华为手机的小伙伴们大家好啊,我是你们的好朋友花花,随着现在智能手机功能越来越强大,手机电池续航也逐渐被大家重视起来,如何才能让自己的手机电量可以维持更久的时间呢?今天就教大家几个华为手机 ...
最新文章
- scala中Stream理解
- 第19件事 财务分析
- EOJ Monthly 2018.11 D. 猜价格
- 《DL/T 1476-2015 电力安全工器具预防性试验规程》中的样品名称及试验项目
- 用NSoup解析HTML
- [探索] 利用promise做一个请求锁
- 【Microsoft Azure学习之旅】测试消息队列(Service Bus Queue)是否会丢消息
- django pdf转html5,python – 在Django站点中将HTML转换为PDF
- c#中byte数组0x_数组指针和指针数组的区别
- android 带边框的arc,极细边框(1px边框)实现方式
- DonkeyCar树莓派版的实践
- 滴滴的焦虑,从未根治!
- php避免超卖,thinkphp防止超卖
- spring boot校园二手销售网站 毕业设计源码161417
- 如何提升测试人员在公司的地位
- Android中日志打印 Log的使用
- ConnectionState详解
- 爬虫例子——多页、函数模板
- OPENWRT或旁路由如果不能正常使用opkg,正确上网等的一种解决方法
- 初等数论 (闵嗣鹤、严士健) 第三版 习题 解答 答案 见解