
杂数论
文章平均质量分 78
凉秋girl
保持学习应该是最难的一件事吧?
展开
-
RMQ<区间最值查找,O(n*logn)
89 5 7 4 1 2 3 51 8样例 找1-8的最值思想:用dp的方法,把f[i][j]的意思表示为从i到i+2^j区间内的最值,[i,i+2^j)显然f[i][0]=a[i]。所以DP可以推出所有for(j=1;1for(i=1;i+(1f[i][j]=max(f[i][j-1],f[i+(1}然后查找是找一个最大的k,其满足2原创 2017-04-26 20:59:27 · 320 阅读 · 0 评论 -
博弈论
1、水题,裸的纳什博弈。HDU 1846用推导做出的,比如一次最多取k个石子,总共有n个石子,那么剩下石子数为1-k时,取的人必赢,但剩下k+1的时候,根据最优策略的原则,那么此时取的人必输,由此可以推导剩下k+1个石子的时候,这个人可以使得石子变成1-k个,由于全部是必胜点,所以这个人无论怎么取都是输,当取1-k个石子时,这些石子存在必败点时,这个点就是必胜的,如果取后无法达到必原创 2017-04-20 21:42:18 · 477 阅读 · 0 评论 -
USACO 2.4 Fractions to Decimals
题意:给2个数字,输出a/b的值,如果结果是整数就输出结果.0,如果在小数不是无限的小数,就输出如22 5 输出4.4,但是如果是无穷循环小数如10 3 就输出3.(3),把循环输出的用括号括起来。由除法的逻辑可以知道,如果除数相同,被除数不变的话,那么除的结果一定相同,根据这个原理,把出现被除数丢到一个数组中进行标记,标记为其第一次出现的位子,那么第二次出现的时候break这个循环,原创 2017-05-22 10:51:48 · 419 阅读 · 0 评论 -
cf 的gym里的题目2016-2017 CT S03E03:
B:给一个网格,里面有黑色也有白色,每次反转一个黑色会将其相邻的4个格子与其同时反转(黑to白/白to黑),问最小能把全部格子翻成白色要求的步数,如果无法那么输出"Damaged billboard",前不久刚做这个类型的题目,首先显然得出每个格子先反转和后反转并不影响,反转的次数1与3意义是相同的。那么直接枚举第一行的所有反转情况,然后由于第一行的反转情况可知,那么可以从第二行开始判断是否用原创 2017-06-09 12:16:25 · 655 阅读 · 0 评论 -
gym I. Painting the natural numbers
这道数学题刚开始以为按照样例的规律那样输出就可以了,但是wa了几发打表发现显然是错误的,样例只能到1023,而打表的规律可以做到大于1024.然后曾想到0110222220110,这种方法,只是猜测,但是感觉好像并不正确就没有提交然后搜了题解,发现这个方法是对的。。也不知道怎么证明的正确性。因为0110后面加个2,可以连续加前面所有数+1个,然后后面只要前面出现过的数字即可。每原创 2017-06-13 17:03:28 · 277 阅读 · 0 评论 -
二项式反演,莫比乌斯反演。
1、设出两个函数,f(i),g(i)。要求其满足条件f(n)=sigm(i=0到i=n)C(n,i)g(i)然后根据这个条件,可以推导出g(n)=sigm(i=0到i=n)C(n,i)*(-1)^(n-i)f(i)意思是得出了一个函数可以求出另外一个函数例子:HDU1465 设g(i)表示正好有i封信装错信封那么sigmC(n,i)*g(i) 就为将n个信封装入原创 2017-07-31 16:35:55 · 514 阅读 · 0 评论 -
xdoj 1227 Godv的数列(lucas,扩展lucas,中国剩余定理模版)
首先lucas定理是指对于一个Lucas(n,m,p)=C(n%p,m%p)*Lucas(n/p,m/p,p)(p是质数)解决组合的取模问题(解决mod的数字过大问题,排列取模可不能随便取)需要注意的是对于lucas,需要计算出0-n,0-m的可以计算的全部组合,包括C(0,0)然后如果取模对象p不是质数,那么可以用中国剩余定理来合,也就是分别如1001,对每个C(n,m)都分解成对原创 2017-08-29 11:54:11 · 673 阅读 · 0 评论 -
线性基
苟活一会,最近学习些东西,这里是线性基的板子题。 验板子请到洛谷P3812 线性基主要功能是解决异或和找第kth大问题产生的,复杂度是log(N) 其通过对每个加入到集合中的数据进行一定的加工,使得每次查询为log(n) 支持插入数据,查找第k大,合并两个线性基的集合 进阶题 牛客网 通过逆向建立线性基可以A掉此题。线性基模版(记得开long long)#include <cstdl原创 2018-04-23 14:47:32 · 286 阅读 · 0 评论 -
2018年模板大集合!!!!没有一个优秀的模板就是等着被摩擦[数学+几何部分]
C++直接调用:a=tan(x),a=atan(x)得出来的角度进行a*180/PI,就是我们想要的角度#define Pi acos(-1.0)Pi的大小:3.14159265358979323846double的读入用%lf,而输出需要用%f质因数分解:void Solve(int n){ for(int i=2;i*i<=n;i++){ i...原创 2018-09-28 12:15:08 · 239 阅读 · 0 评论