摘要:
记录C/C++读取和不读取空格的语法 #include<stdio.h> #include<iostream> #include<algorithm> #include<string> #include<string.h> using namespace std; int main() { ///用 阅读全文
摘要:
https://vjudge.net/problem/POJ-3468 线段树区间更新,记录模板 #include<stdio.h> #include<iostream> #include<cstring> #include<algorithm> #define ll long long using 阅读全文
摘要:
应用:搜索区间最值,总和,更新区间,更新点。时间复杂度:O(log n) 一直用一分为二的方法将区间数组层层变小,可以看成是一颗二叉树,故名线段树。 记录树状数组求和及点修改模板代码: #include<stdio.h> #include<algorithm> #include<iostream> 阅读全文
摘要:
从n个元素里取出m个,记C(n,m); 原始公式:C(n,m) = n! / ( m!*(n-m)! ) 在编程里,初中高中的阶乘公式已经不太管用了,数据一下子就爆。 公式1:C(n,m) = (n-m+1) * C(n,m-1) / m 用数组存放,从C(n,0)开始存到C(n,m),数组下标表示 阅读全文
摘要:
并查集:合并,查找,集合。 每个集合都有至少一个元素,其中有一个代表该集合,以下简称老大,能通过查找的方法能找到集合的老大,集合只能两两合并,合并后老大会变成一个。 用一个数组par来应用并查集,一开始所有元素都是各自独立的,每个元素自成一个集合,再通过合并进行操作。 把集合看做帮派,代表元素看做老 阅读全文
摘要:
据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所 阅读全文