摘要:
math.h 数学函数库,一些数学计算的公式的具体实现是放在math.h里,具体有:1 三角函数double sin (double);double cos (double);double tan (double);2 反三角函数double asin (double); 结果介于[-PI/2, PI/2]double acos (double); 结果介于[0, PI]double atan (double); 反正切(主值), 结果介于[-PI/2, PI/2]double atan2 (double, double); 反正切(整圆值), 结果介于[-PI/2, PI/2]3 双曲三角函 阅读全文
摘要:
接触ACM已经两年多,认真及热情度呈现一种抛物线趋势(开口向上的)而非指数曲线形势,不知不觉在这里的时间已接近尾声,感觉有点遗憾。 用这一个多月的时间来加倍的努力准备省赛,只记得自己唯一一次特别认真的准备是去年长沙赛之前,可惜还是没能抱银归来。那时cui大神还在,虎哥还在,感觉心里充满了向前冲的劲,或许时间有点短吧,有那么2个队友与你一起奋战感觉是很好的。现在两位都不在实验室了,自己的状态感觉受到了些许影响,做什么题也没有一起讨论的,想到比赛更是不知道怎么面对,有时会看到别人的博客,三人一起不顾时间的刷题,每天谈的也是题,真的很羡慕。但现在听到的越来越多的话是与题目无关的,与ACM无关的... 阅读全文
摘要:
矩阵快速幂的模板矩阵的知识太多了,这里贴出一部分常用的。 矩阵的加法运算满足交换律:A+B=B+A[4]。矩阵的转置和数乘运算对加法满足分配律:(A+B)TAT+BTc(A+B)cA+cB 矩阵加法和数乘两种运算使得成为一个mn维的实数线性空间。而转置和数乘运算满足类似于结合律的规律:c(AT)(cA)T.矩阵的乘法满足结合律和对矩阵加法的分配律(左分配律和右分配律):结合律: (AB)CA(BC),左分配律:(A + B)CAC+BC,右分配律:C(A + B)CA+CB.矩阵的乘法与数乘运算之间也满足类似结合律的规律;与转置之间则满足倒置的分配律。c(AB)(cA)BA(cB)(... 阅读全文
摘要:
链接二分时间,在时间内dp[i][j]表示截止到第i个人已经做了j个A最多还能做多少个B#include #include#include#include#include#include#include#include#includeusing namespace std;#define N 200000#define LL long long#define INF 0xfffffffconst double eps = 1e-8;const double pi = acos(-1.0);const double inf = ~0u>>2;int a[55],b[55];int d 阅读全文
摘要:
01背包 加上每次更新解题数目最多 总用时最少 因为要保证用时最少,要先把时长由小到大排序。没排序 WA了几小时。。链接 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 using namespace std;12 #define N 101013 #define LL long long14 #define INF 0xfffffff15 const double eps = 1e-8;16 const double. 阅读全文
摘要:
链接开两个队列 一个维护价格从大到小用来每次更新买油的价格 让每次都加满 如果当前价格比队列里的某价格低的话就更新 另开以优先队列维护价格由小到大来更新此时用的油是什么油价的 并减掉 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 using namespace std;11 #define N 10001012 #define LL long long13 #define INF 0xfffffff14 const double eps . 阅读全文
摘要:
高斯第一篇poj1222EXTENDED LIGHTS OUT状压枚举法 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 using namespace std; 11 #define N 100000 12 #define LL long long 13 #define INF 0xfffffff 14 const double eps = 1e-8; 15 const double pi = acos(-1.0); ... 阅读全文
摘要:
链接之前队内赛中的一道题目 当时怎么想也没想到,就一直放到了今天,刚才看另一题的讲解突然看到时拿这个题作为引子来讲的,就仔细看了下。参考《《具体数学》》 p7。 Josephus问题开始是讲了一个古老的故事,说J和同伴陷入险境,大家不愿做俘虏,就想了个游戏来进行自杀,每第二个人就要去死。。J觉得这样很傻,并很快的算出了自己该在的位置,逃脱了这无聊的自杀。由此引出了这个有趣的算法。这本书上讲的很清楚, 我就大体概括一下。可以先从10个人来看 很明显第一次死掉的是全部的偶数, 然后是 是3 7 1 9.那么J(10) = 5;可以猜测所有的J(n)都为奇数,因为第一轮就杀掉了全部的偶数,很明显。。 阅读全文
摘要:
以为是组合,后来看着像数位dp,又不知道怎么让它不重复用。。然后就没思路 了。其实状压就可以了 状压是可以确定一个数的使用顺序的 利用01也可以确定所有的数的使用以及不重复dp[i+1《《e][(j*10+p[e])%m]+=dp[i][j]; 排下序去掉重复的 或者最后除去每个数出现的次数 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 using namespace std;11 #define N 10000012 #define L. 阅读全文
摘要:
ZOJ 3605大体意思就是 找出随机选了K个交换后 石子在第i个罐子里的概率最大也就是可能的总数最大 这样就可以写出递推方程 dp[i][j][k] += dp[i-1][e][k]; (0 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 using namespace std;11 #define N 10000012 #define LL long long13 #define INF 0xfffffff14 const double eps = 1e-8; 阅读全文