03 2018 档案
摘要:题目描述 如题,已知一个数列,你需要进行下面三种操作: 1.将某区间每一个数乘上x 2.将某区间每一个数加上x 3.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含三个整数N、M、P,分别表示该数列数字的个数、操作的总个数和模数。 第二行包含N个用空格分隔的整数,其中第i个数字表示数列第
        阅读全文
                
摘要:题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。 第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。 接下来M行每行包含3或
        阅读全文
                
摘要://一维 void add(int x,int p) { while(x<=n)t[x]+=p,x+=(x&(-x)); } int query(int x) { int ans=0; while(x)ans+=t[x],x-=(x&(-x)); return ans; } //二维 void add(int x,int y,int p) { for(in...
        阅读全文
                
摘要:for(int i=1;i<=n;++i) f[i]=i; int F(int x)//找祖先 { if(x==f[x]) return x; else return f[x]=F(f[x]); }//压缩路径 //合并 int fx=F(x),fy=F(y); f[fx]=fy;
        阅读全文
                
摘要:while(L<=R) { mid=(L+R)/2; if(ok(mid)) ans=mid,L=mid+1; else R=mid-1; }
        阅读全文
                
摘要:代码: 重点:排序方式:(1)左端点所在的块 (2)右端点 先向外扩,再往里缩 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<algorithm> 5 #define ll long long 6 #defi
        阅读全文
                
摘要:1.最大独立点集: 在二分图中,选最多的点,使得任意两个点之间没有直接边连接。 最大独立集= 最小边覆盖 = 总点数- 最大匹配 (条件:在二分图中) 2.最小边覆盖: 在二分图中,求最少的边,使得他们覆盖所有的点,并且每一个点只被一条边覆盖。 (实在不行可以把一个点看成一条边) 3.最小点覆盖: 
        阅读全文
                
摘要:DAG的最小路径覆盖数= DAG图中的节点数 - 相应二分图中的最大匹配数. 原图和对应的二分图: 证明(・◇・)?:见鬼去吧
        阅读全文
                
摘要:给出一张混合图(有有向边,也有无向边),判断是否存在欧拉回路。 首先是对图中的无向边随意定一个方向,然后统计每个点的入度(indeg)和出度(outdeg), 如果(indeg - outdeg)是奇数的话,一定不存在欧拉回路; 如果所有点的入度和出度之差都是偶数,那么就开始网络流构图: 1,对于有
        阅读全文
                
摘要:欧拉函数: 1.对正整数n,欧拉函数是小于n且和n互质的正整数(包括1)的个数。 例如Euler(8)=4,因为1,3,5,7均和8互质 2.φ(n) = n*(1-1/p1)*(1-1/p2)*......(1-1/pn) 其中(p1.....pn)为N的素因子 3.欧拉函数的性质 ① N是不为0
        阅读全文
                
摘要:参考资料:百度百科,https://www.cnblogs.com/zwfymqz/p/8253530.html 1. 欧几里得距离 计算公式(n维空间下) 二维:dis=sqrt( (x1-x2)^2 + (y1-y2)^2 ) 三维:dis=sqrt( (x1-x2)^2 + (y1-y2)^2
        阅读全文
                
摘要:【问题描述】已知 n 元线性一次方程组。a1,1x1+a1,2x2+…+a1,nxn=b1a2,1x1+a2,2x2+…+a2,nxn=b2………………an,1x1+an,2x2+…+an,nxn=bn其中: n<=50.系数是整数,绝对值<=100 , bi的值都是正整数且<300。编程任务:根据
        阅读全文
                
摘要:1. 判断一个数字x二进制下第i位是不是等于1。 方法:if ( ( ( 1 << ( i - 1 ) ) & x ) > 0) 将1左移i-1位,相当于制造了一个只有第i位上是1,其他位上都是0的二进制数。然后与x做与运算,如果结果>0,说明x第i位上是1,反之则是0。 2. 将一个数字x二进制下
        阅读全文
                
摘要:Lucas定理 用来求 C(n,m) mod p,p为素数的值。 计算组合数取模,适用于n很大p较小的时候,可以将计算简化到小于p 公式: 例题: 题目背景 这是一道模板题。 题目描述 给定n,m,p(1<=n,m,p<=10^5) 求C[n+m,m]%P 保证P为质数 C表示组合数。 一个测试点内
        阅读全文
                
摘要:1.C[n,m]=n!/(m!*(n-m)!)=C[n,n-m] 2.C[n,m]=C[n,n-m] 3.C[n,m]=C[n-1,m-1]+C[n-1,m]
        阅读全文
                
摘要:Time Limit: 10 Sec Memory Limit: 128 MB Description Recently, the cows have been competing with strings of balanced parentheses and comparing them wit
        阅读全文
                
摘要:1 Description 2 3 For each prefix of a given string S with N characters (each character has an ASCII code between 97 and 126, inclusive), we want to k
        阅读全文
                
摘要:Description Given two strings a and b we define a*b to be their concatenation. For example, if a = "abc" and b = "def" then a*b = "abcdef". If we thin
        阅读全文
                
摘要:Description The little cat is so famous, that many couples tramp over hill and dale to Byteland, and asked the little cat to give names to their newly
        阅读全文
                
摘要:Time Limit:1000MS Memory Limit:65536K Total Submissions:45636 Accepted:18224 Description The French author Georges Perec (1936–1982) once wrote a book
        阅读全文
                
摘要:题目描述 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置。 为了减少骗分的情况,接下来还要输出子串的前缀数组next。 (如果你不知道这是什么意思也不要问,去百度搜[kmp算法]学习一下就知道了。) 输入输出格式 输入格式: 第一行为一个字符串,即为s1 第二行
        阅读全文
                
摘要:普里姆算法(Prim算法), 图论中的一种算法,可在加权连通图里搜索最小生成树。 意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点,且其所有边的权值之和亦为最小。 算法描述 算法描述 1).输入:一个加权连通图,其中顶点集合为V,边集合为E; 2).初始化:Vnew = {x},
        阅读全文
                
摘要:(1)不同的最小生成树中,每种权值的边出现的个数是确定的 (2)不同的生成树中,某一种权值的边连接完成后,形成的联通块状态是一样的 那么我们其实可以把每种权值的处理看成是分开的好几步,然后根据乘法原理,将每一步得到的结果相乘。 把所有边权相同的视为边组,每一组边组在最小生成树的条数是固定的,对连通性
        阅读全文
                
摘要:这里没有思想,没有光,没有热,只有寒冷和永无止境的黑暗。 还有.赤裸裸的主席树代码(求区间第K大) 注意保险起见内存开30倍 …φ(๑˃∀˂๑)♪ 学习是我的全部
        阅读全文
                
摘要:卡特兰数又称卡塔兰数,卡特兰数是组合数学中一个常出现在各种计数 问题中的数列。以比利时的数学家欧仁·查理·卡塔兰 (1814–1894) 的名字来命名。 (重点)前几项为 : 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012
        阅读全文
                
摘要:思路:先算出每个点到1的最短路d1[i],记录下路径,然后枚举最短路上的边 删掉之后再求一遍最短路,那么这时的最短路就可能是答案。 但是这个做法是错误的,可以被卡掉。 比如根据下面的例题生成的一个数据,可以完美的证明那个做法是错误的。 5 4 1 12 13 13 24 1 1 22 33 53 4
        阅读全文
                
摘要:1.如果图G中的一个路径包括每个边恰好一次,则该路径称为欧拉路径。 如果一个回路是欧拉路径,则称为欧拉回路。具有欧拉回路的图称为欧拉图。具有欧拉路径但不具有欧拉回路的图称为半欧拉图。 2.欧拉回路是数学家欧拉在研究著名的德国哥尼斯(Koenigsberg)七桥问题时发现的. 3.以下判断基于此图的基
        阅读全文
                
摘要:Legal or NotTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description: ACM-DIY is a large QQ group where ma
        阅读全文
                
摘要:对拍是什么呢? 对拍就是你给两个程序,和一个随机数据生成器,然后系统去用这个随机数据生成器的输出 作为你这两个程序的输入, 然后比较你这两个程序的输出,可以找到一组使这两个程序输出不一样的数据(如果存在的话) 怎么对拍呢? 首先,新建一个文件夹, 然后,在里面放入std.cpp 和 my.cpp 生
        阅读全文
                
摘要:1. 关于set,必须说明的是set关联式容器。 在set中每个元素的值都唯一,而且系统能根据元素的值自动进行排序。 应该注意的是set中数元素的值不能直接被改变。 2.set中常用的方法 begin() 返回set容器的第一个元素 end() 返回set容器的最后一个元素 clear() 删除se
        阅读全文
                
摘要:分数规划问题,是指这样一类问题: 要求f(x)/g(x)的最值,其中f(x),g(x)都是线性函数,而其中被研究的最多的是01分数规划,即求这样的一个式子的极值 r=(∑(ci*xi))/(∑(di*xi)),其中xi∈{0,1} 我们可以把这个式子变换一下: 令 z=(∑(ci*xi))-r'*(
        阅读全文
                
摘要:stl的全排列: 看代码。 、 unique() 去重函数:STL中unique的函数 unique的功能是去除相邻的重复元素(只保留一个), 还有一个容易忽视的特性是它并不真正把重复的元素删除。 使用时头文件要加#include<iostream>。 因为unique去除的是相邻的重复元素,所以一
        阅读全文
                
摘要:1,lower_bound用法: a[] 中查询k的位置 找的是大于等于他的第一个数,返回值为对应下标x=lower_bound(a+1,a+n+1,k)-a; 2,upper_bound用法: a[] 中查询k的位置 找的是大于他的第一个数,返回值为对应下标x=upper_bound(a+1,a+
        阅读全文
                
摘要:输入输出格式 输入格式: 第一行一个正整数T表示数据组数,对于每组数据: 第一行两个正整数N M,表示图有N个顶点,M条边 接下来M行,每行三个整数a b w,表示a->b有一条权值为w的边(若w<0则为单向,否则双向) 输出格式: 共T行。对于每组数据,存在负环则输出一行"YE5"(不含引号),否
        阅读全文
                
摘要:1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cmath> 5 #include<cstring> 6 #include<queue> 7 #include<map> 8 #include<strin
        阅读全文
                
摘要:任意一个环的权值,我们都可以看成两个有边相连的结点i、j的直接距离加上i、j间不包含边(边i->j)的最短路径。 求最短路径我们第一个想到的就是Dijkstra算法。 而Dijkstra所求的是一个点到所有点的最短距离。 用Dijkstra所求的i、j的最短距离一定是i、j的直接距离(如果i,j连通
        阅读全文
                
摘要:原理:不讲。 模板如下。 1 #include<cstdio> 2 #include<cstring> 3 #define find_min(a,b) a<b?a:b 4 5 const int N=109; 6 const int INF=0x7ffffff; 7 int f[N][N],dis[
        阅读全文
                
摘要:希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。 希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一。 基本思想: 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序; 
        阅读全文
                

浙公网安备 33010602011771号