随笔分类 - ACM—各种模板
摘要:照着czyuan的那个模板,手敲了一遍,存一下。貌似今天一整天就看了一下高斯消元的知识,然后看了模板,又手敲了一遍。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define LL...
阅读全文
摘要:转载自:http://hi.baidu.com/czyuan_acm/item/dce4e6f8a8c45f13d7ff8cdaczyuan先上模板: 1 /* 用于求整数解得方程组. */ 2 #include 3 #include 4 #include 5 using names...
阅读全文
摘要:题目链接非原创 原创地址:http://blog.csdn.net/jingqi814/article/details/26117241题意:输入n座山的信息(山的横坐标,高度,山底宽度),计算他们的轮廓线,即露出来的表面边长,有些山是重叠的不计。空白地带不计,每座山都是等腰三角形。分析:大白书P4...
阅读全文
摘要:题目链接题意:求 A^B的所有约数之和对9901取模后的结果。分析:看了小优的博客写的。分析来自 http://blog.csdn.net/lyy289065406/article/details/6648539(1) 整数的唯一分解定理: 任意正整数都有且只有一种方式写出其素因子的乘积表达式。 A...
阅读全文
摘要:题目题意:求小于n并且和n不互质的数的总和。思路:求小于n并且与n互质的数的和为:n*phi[n]/2 .若a和n互质,n-a必定也和n互质(a1是,phi(m)表示比m小且与m互质的正整数个数 1 #include 2 #include 3 #include 4 #include 5 #i...
阅读全文
摘要:题目题意:给一个数N,两人轮流操作每次将N变为一个N的非1非自身的因数,第一个无法进行操作的人获胜问先手是否有必胜策略,如果有的话在第二行输出第一步换成哪个数,如果第一步就不能操作则输出0数据规模:N≤10^13。思路:当N为1或者质数时,先手胜且输出0当N恰为两个质数的乘积时,先手负,因为他必须写...
阅读全文
摘要:题目 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 double G[110][110], sum; 9 const double pi = acos(-1); 10 const int INF = (1= pi+pi) 21 dlng -= (pi+pi); 22 if(dlng > pi) 23 dlng = pi+pi-dlng; 24 lat1 *= pi/180; 25 ...
阅读全文
摘要:next_permutation功能: 求一个排序的下一个排列的函数,可以遍历全排列,要包含头文件 与之完全相反的函数还有prev_permutation这个博客介绍的比较好自己写了一个用法的样例: 1 #include 2 #include 3 #include 4 using namespace std; 5 6 int main() 7 { 8 char s[100]; 9 int len, cnt;10 while(cin>>s)11 {12 len = strlen(s);13 cnt = 0;14 ...
阅读全文
摘要:题目先上一个链接:十个利用矩阵乘法解决的经典题目这个题目和第二个类似由于矩阵乘法具有结合律,因此A^4 = A * A * A * A = (A*A) * (A*A) = A^2 * A^2。我们可以得到这样的结论:当n为偶数时,A^n = A^(n/2) * A^(n/2);当n为奇数时,A^n = A^(n/2) * A^(n/2) * A (其中n/2取整)。这就告诉我们,计算A^n也可以使用二分快速求幂的方法。例如,为了算出A^25的值,我们只需要递归地计算出A^12、A^6、A^3的值即可。根据一些结果,我们可以在计算过程中不断取模,避免高精度运算。思路:如果直接相乘的话,时间复杂度
阅读全文
摘要:也是比赛时候的一道题目, 但是这么构造,超时,不过也是一个构造字符串的好的程序。贴一下模板的吧s[]数组,刚开始是 输入一个字符串,get()函数的作用是 按照字典序,依次构造这个字符串,并存储在s[]数组中.直到所有的字符串构造 完成。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 const int N=1050; 8 char s[N]; 9 int l;10 int get()11 {12 int i = l-1;13 while(i>0&&s[i..
阅读全文
摘要:题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2819 1 #include 2 #include 3 #include 4 #include 5 #include 6 using nam...
阅读全文
摘要:题目:http://poj.org/problem?id=2777区间更新,比点更新多一点内容, 详见注释, 参考了一下别人的博客。。。。参考博客:http://www.2cto.com/kf/201402/277917.html 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 const int maxn = 100000 + 10; 7 8 bool mark[35]; 9 struct node 10 { 11 int l, r, kind; 12 }tr[max...
阅读全文
摘要:题目:http://poj.org/problem?id=1703题意:一个地方有两个帮派, 每个罪犯只属于其中一个帮派,D 后输入的是两个人属于不同的帮派,A后询问 两个人是否属于 同一个帮派。用op[]数组记录 不跟自己在一个帮派中的一个人, 然后再输入不跟自己在一个帮派的人的时候,把这个人跟 ...
阅读全文
摘要:RMQ支持操作:Query(L, R): 计算Min{a[L],a[L+1], a[R]}。预处理时间是O(nlogn), 查询只需 O(1)。RMQ问题 用于求给定区间内的最大值/最小值问题。。询问的次数多的时候 好用。。这个题目我至少得开数组开到 80000才能过,不知道为什么。。刚开始还写错了,贡献了好多RE和WA..题目:http://poj.org/problem?id=3264题意:给n个数,q次询问,求最值的差。。 1 #include 2 #include 3 using namespace std; 4 const int maxn = 80000; 5 const in..
阅读全文
摘要:树状数组支持两种操作:Add(x, d)操作: 让a[x]增加d。Query(L,R): 计算 a[L]+a[L+1]……a[R]。当要频繁的对数组元素进行修改,同时又要频繁的查询数组内任一区间元素之和的时候,可以考虑使用树状数组.通常对一维数组最直接的算法可以在O(1)时间内完成一次修改,但是需要O(n)时间来进行一次查询.而树状数组的修改和查询均可在O(log(n))的时间内完成.在二维情况下:数组A[][]的树状数组定义为: C[x][y] = ∑ a[i][j], 其中, x-lowbit(x) + 1 2 #include 3 #include 4 #include 5 #...
阅读全文
摘要:题目:http://poj.org/problem?id=3321 题意: 苹果树上n个分叉,Q是询问,C是改变状态。。。。 开始的处理比较难,参考了一下大神的思路,构图成邻接表 并 用DFS编号 白书上一维树状数组模板: AC代码:
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=3549模板题,白书上的代码。。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 const int INF=1q;16 memset(flow,0,sizeof(flow));17 f=0;18 while(1)19 {20 memset(a,0,sizeof(a));21 a[s]=INF;22 ...
阅读全文
摘要:题目:http://poj.org/problem?id=2406题意:给一个字符串,求这个字符串 能由一个子串最多组成多少次。。next_val匹配 1 #include 2 #include 3 #include 4 using namespace std; 5 6 char t[1000005]; 7 int len_t,nev[1000005]; 8 int get_nextv() 9 {10 int i=0,j=-1,x;11 nev[0]=-1;12 while(i 2 #include 3 #include 4 using namespace ...
阅读全文
摘要:今天照着课本敲了一下KMP..以OJ上的一个题为例敲了一下。。题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2125 1 #include 2 #include 3 #include 4 us...
阅读全文
摘要:题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2482感觉树这一部分掌握的真心不好,以前练习的一道题,当时不会,今天参考了一下别人的代码,出了点错误,但终于A了。。。。。 1 #include 2...
阅读全文