05 2020 档案
摘要:bool vis[maxn]; int prime[maxn]; int Mob[maxn]; void Mobius_sieve(){ int cnt = 0; vis[1] = 1; Mob[1] = 1; for(int i = 2; i <= maxn; i++){ if(!vis[i])
阅读全文
摘要:题:https://codeforces.com/contest/1359/problem/C 题意:对于一个容器,每次能往里面倒一瓶水,热水和冷水交替倒,最少倒入一瓶水,容器水的温度等于总体的平均温度,给定温度 t ,问最少倒几瓶水最终容器中水的温度能最接近温度t 分析:这个问题可以二分三分解,关
阅读全文
摘要:题:https://codeforces.com/contest/1359/problem/E 题意:给定一个n和k,可以构造出k个数的序列{ai},要求,对于一个非负数x,对x连续取序列{ai}取模后的值要等于任意编号序列的{ai}取模后的值。且1<=a1<a2....an<=n,问满足条件的个数
阅读全文
摘要:题:http://uoj.ac/problem/525 分析:1 . 答案是(i,g^i%(n+1))后一项为原根的次方。采用反证法,假设有4个点:(a,g^a),(b,g^b),(c,g^c),(d,g^d); 2 . 若形成平行四边形则要满足:(1) a-b==c-d. (2)g^a-g^b==
阅读全文
摘要:先引入一个概念:阶。 设a和n是互素的整数,a≠0,n>0 使得ax≡1(mod n),x的最小整数就是a模n的阶,而当x=phi(n)时,称a为n的原根。 对于求出原根的好处:可以利用 [1,n-1]->i 求出的所有 ai (mod n)为一个[1,n-1]中的整数只出现一次的序列。 #incl
阅读全文
摘要:题:https://codeforces.com/contest/1358/problem/E 题意:给定一个n个数的数组,问是否存在k,使得任意连续的k个数之和都大于零,若存在就输出k,否则输出-1。特别地,题目保证数组后floor(n/2)个数的值均为 x。 分析: 贪心地去考虑的化,k的大小一
阅读全文
摘要:题:https://codeforces.com/gym/102606/problem/C 题意:给出n,k1,k2,然后题目给出n个点的转化,给出定义:在三维空间内,i 能保护 j 当且仅当 xi<=xj&&yi<=yj&&zi<=zj(且题目保证没有共点),每一轮没被保护的点都会消失,问每个点什
阅读全文
摘要:题:https://codeforces.com/contest/1354/problem/E 题意:给定无向图(无自环和重边,可能不连通),每个节点可赋值为“1,2,3”的值,问能否给节点赋值,使得这个图满足有n1个1节点,n2个2节点,n3个3节点,且相邻节点差的绝对值要=1 分析:由题可得,2
阅读全文
摘要:题:https://codeforces.com/contest/1354/problem/D 题意:有个multiset,开始有n个数,有俩种操作,1、加入ki。2、删除集合中第k小的,问最后若这个集合大小不为0输出任意一个数,否则输出0; 分析:由于内存要求,不可用splay之类的数据结构,也有
阅读全文
摘要:题:https://ac.nowcoder.com/acm/contest/4010/H 题意:找到最大的m,使得存在一个长度为n值域为 [1,m] 的序列,满足任意一组相邻关系都存在。输出为若n>2e6则直接输出m,否则另外输出构造的序列分析:相邻关系都要有,那么我们可以联想到n^2的大概样子,然
阅读全文
摘要:题:https://codeforces.com/contest/1353/problem/F 题意:给定n*m的矩形,每个位置都有aij的高度,位于某一位置你只能向下或向右走,且得满足下一个格子高度y和当前格子高度x条件:y==x+1; 分析:我们可以把题目条件转化为y==x,那么就可以通过确定一
阅读全文
摘要:题:https://ac.nowcoder.com/acm/contest/5555/E 分析:树上路径,带修改,考虑树链剖分,对于操作1,把u的值改为x,影响的权值只是,u的父亲以及他孩子之间的边,那么我们就把重链的部分修改,其他的边不修改,即对u--son[u]和u--fa[u]的边的gcd修改
阅读全文
摘要:A:https://ac.nowcoder.com/acm/contest/5555/A 分析:n个根号数的和等于m,求本质不同的方案数,对于m一顶满足m=a*√x,那么实际上就是a个球放入n个箱子中的整数划分问题,(箱子可为空)。 #include<bits/stdc++.h> using nam
阅读全文
摘要:题:https://codeforces.com/contest/1355/problem/E 题意:对于高度数组a[],目的是将所有高度平齐,有三种操作:1、a[i]--代价为R;2、a[i]++代价为A;3、将某一位置的一个单位转移到另一个位置 代价为M,问最小代价能平齐的高度; 分析:答案具有
阅读全文
摘要:题:https://ac.nowcoder.com/acm/contest/3979/D 题意:题意是:有n个点,有2个边集构成了2个图G1,G2。要求在G1中的每个生成树有多少条边同时在G2中存在 分析:基尔霍夫矩阵带权值版本,在g1中权值为0,同时在g1,g2中权值为1,(因为0为没价值,所以我
阅读全文
摘要:学习:https://blog.csdn.net/qq_30115697/article/details/88906534?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.nonecase&depth_1
阅读全文
摘要:题:https://ac.nowcoder.com/acm/contest/5477/C 分析:最少时间能走完的点一定是连线的[l,r],又n<=1000所以考虑区间dp,设dp[i][j][k],0<=k<=1,当k==0时代表最少时间跑完区间[i,j]且终点在l时的最少时间,k==1时则是终点在
阅读全文
摘要:Matrix-Tree 定理作用:给定 n 个点 m 条边的无向图,求图的生成树个数。 定义矩阵K[i][j]=D[i][j]-A[i][j],(其中D为度数矩阵(即当i==j时,D[i][j]=节点 i 的度数,其余为0),A为邻接矩阵,有边相邻即为1,其余为0) 结论:对于已经得出的基尔霍夫矩阵
阅读全文
摘要:题:https://www.luogu.com.cn/problem/P5038 题意:给定n*m矩阵,每个位置都有初值,每次操作是选定相邻的俩个位置都加1,问最少执行多少次操作能让所有位置的值相同 分析:相邻我们就要想到先染色,相邻不同色。假设白格nw个,总值sumw,黑格nb个,黑格sumb个;
阅读全文
摘要:题:https://ac.nowcoder.com/acm/contest/3979/E 题意:题清 分析:对于单单一个点考虑(这里我们用节点1),我们可以o(n)算出其答案,那么考虑换根后的答案是多少 考虑u->v,显然,要是一条路径(s,t)只有同时经过u和v答案才会变,其余路径不会对答案造成影
阅读全文
摘要:题:https://ac.nowcoder.com/acm/contest/3979/C 题意:给定一个函数g(n,k),指的是n个点的图,每个点可染k种颜色中的一种,只有不同颜色之间才可以进行连边,求能达到的最大连边数。题目要求的是Σg(n,i) 分析:考虑单单的一个点k,考虑答案:C2n-p(总
阅读全文
摘要:分块初始化: int a[50005];//原始序列 int l[2000];//第i个块的左区间端点 int r[2000];//第i个块的右区间端点 int pos[50005];//第i个点属于第几个块 int n; scanf("%d",&n); int dis=sqrt(n);//每一块的
阅读全文
摘要:题: 题意:给定n组,每组ai个红果,bi个白果。还给定整数k,代表组成同一盆要达成的数目,同时组成同一盆的水果要么是来自同一组,要么就是有相同颜色,问最大能组成多少盆 分析:初步地,我们可以只是按照颜色来分组,那么答案就是suma/k+sumb/k,那么就剩下不足k个的红果和不足k个的白果,这时我
阅读全文