摘要: 【算法】 【算法】网络流 【算法】树 【算法】数学 ————【专题】生成树计数(矩阵树定理) ————【专题】计数问题(排列组合,容斥原理,卡特兰数) ————【算法专题】卡特兰数(计数数列) ————【专题】数论 ————【专题】概率和期望 【算法】动态规划 【算法】数据结构 ————【专题】平衡阅读全文
posted @ 2016-08-10 21:08 ONION_CYC 阅读(522) 评论(0) 编辑
摘要: 【题目】C. Black Widow 【题意】给定一个表达式,形式为(...)^(...)^......^(...)=1(n个括号),括号中为1~2个值取或。有m个变量,给出表达式的值为xi或 !xi,xi只能为0或1,求变量赋值使得表达式成立的方案数。每个变量至多出现两次。n,m<=10^5。 【阅读全文
posted @ 2018-01-16 19:07 ONION_CYC 阅读(4) 评论(0) 编辑
摘要: 【题意】2154: Crash的数字表格 莫比乌斯反演,多组询问,T<=10000。 【算法】数论(莫比乌斯反演) 【题解】上题推到: ans=ΣdΣi^2*μ(i)*sum(n/di,m/di) 套路,将前两项结合: ans=Σsum(n/D,m/D)*Σi|DD/i*i^2*μ(i) 后面部分预阅读全文
posted @ 2018-01-16 08:34 ONION_CYC 阅读(3) 评论(0) 编辑
摘要: 【题意】给定n,m,求Σlcm(i,j),1<=i<=n,1<=j<=m,n,m<=10^7。 【算法】数论(莫比乌斯反演) 【题解】ans=ΣΣlcm(i,j)=ΣΣi*j/gcd(i,j)。 枚举d=gcd(i,j),令f(x,y)表示ΣΣi*j,gcd(i,j)=1。 ans=Σd^2*f(n阅读全文
posted @ 2018-01-15 21:01 ONION_CYC 阅读(5) 评论(0) 编辑
摘要: 【题目】G. Coprime Arrays 【题意】当含n个数字的数组的总gcd=1时认为这个数组互质。给定n和k,求所有sum(i),i=1~k,其中sum(i)为n个数字的数组,每个数字均<=i,总gcd=1的方案数。n<=2*10^6。答案将所有sum(i)处理成一个数字后输出。 【算法】数论阅读全文
posted @ 2018-01-15 16:39 ONION_CYC 阅读(7) 评论(0) 编辑
摘要: 【题目】F. Imbalance Value of a Tree 【题意】给定n个点的带点权树,求所有路径极差的和。n,ai<=10^6 【算法】并查集 【题解】先计算最大值的和,按点权从小到大排序,每个点x和相邻的已访问点的点集形成的路径的最大值都是a[x],因为已访问过的点点权较小,然后用并查集阅读全文
posted @ 2018-01-15 14:09 ONION_CYC 阅读(13) 评论(0) 编辑
摘要: 【题目】E. Physical Education Lessons 【题意】10^9范围的区间覆盖,至多3*10^5次区间询问。 【算法】线段树 【题解】每次询问至多增加两段区间,提前括号分段后线段树。 #include<cstdio> #include<cctype> #include<set> 阅读全文
posted @ 2018-01-15 13:16 ONION_CYC 阅读(23) 评论(0) 编辑
摘要: 【题目】D. Almost Acyclic Graph 【题意】给定n个点的有向图(无重边),问能否删除一条边使得全图无环。n<=500,m<=10^5。 【算法】拓扑排序 【题解】找到一个简单环,则欲删除的边一定经过该环。尝试环上的每一条边(至多n条边)后再次拓扑排序判断全图是否有环。 拓扑排序后阅读全文
posted @ 2018-01-15 13:10 ONION_CYC 阅读(24) 评论(0) 编辑
摘要: 【题意】n个人进行游戏,每轮只保留最大的a[i]倍数的人,最后一轮过后剩余2人,求最小和最大的n,或-1。n<=10^5。 【算法】递推||二分 【题解】令L(i),R(i)表示第i轮过后的最小人数和最大人数。 令X(i)和Y(i)表示区间[L(i),R(i)]中最小的a[i]倍数和最大的a[i]倍阅读全文
posted @ 2018-01-15 10:58 ONION_CYC 阅读(7) 评论(0) 编辑
摘要: 【题意】定义f(A,B)为一个字符串,满足: 1.长度为A+B,含有A个‘A',B个'B'。 2.最长的相同字符子串最短。 3.在满足以上2条的情况下,字典序最小。 例如, f(2,3) = BABAB, and f(6,4) = AABAABAABB. Q次询问f(Ai,Bi)的子串[Ci,Di]阅读全文
posted @ 2018-01-15 10:40 ONION_CYC 阅读(11) 评论(0) 编辑
摘要: 【题目】B. Ant Man 【题意】给定n个人的xi,ai,bi,ci,di,起点为s,终点为e,移动: In simpler words, jumping from i-th chair to j-th chair takes exactly: |xi - xj| + ci + bj secon阅读全文
posted @ 2018-01-12 22:03 ONION_CYC 阅读(3) 评论(0) 编辑
摘要: 【题意】令F(i)为 i 的约数和,Q次询问给定n,m,a,求:ΣF(gcd(i,j))%2^31,1<=i<=n,1<=j<=m,F(gcd(i,j))<=a。n,m<=10^5,a<=10^9,Q<=20000。 【算法】数论(莫比乌斯反演) 【题解】先无视a的限制,令g(x)表示gcd(a,b阅读全文
posted @ 2018-01-12 13:25 ONION_CYC 阅读(5) 评论(0) 编辑
摘要: 【题意】给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对。T<=10^4,N,M<=10^7。 【算法】数论(莫比乌斯反演) 【题解】公式推导见DQSSS。 推到ans= Σp是素数 Σd≤mins μ(d) * (n/pd) * (m/pd),min阅读全文
posted @ 2018-01-12 09:50 ONION_CYC 阅读(11) 评论(0) 编辑
摘要: 【题意】T次询问第k小的非完全平方数倍数的数。T<=50,k<=10^9。(即无平方因子数——素因数指数皆为0或1的数) 【算法】数论(莫比乌斯函数) 【题解】考虑二分,转化为询问[1,x]中无平方因子数的个数(x最大为2n)。 运用容斥,答案ans=x - 1个素数的平方的倍数的数的个数 + 2个阅读全文
posted @ 2018-01-11 20:09 ONION_CYC 阅读(3) 评论(0) 编辑
摘要: 【题意】于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。n,a,b,c,d,k<=50000。 【算法】数论(莫比乌斯反演) 【题解】差分转化为询问有多少数对(x,y)满足x,y互素,1<=x<=n/k阅读全文
posted @ 2018-01-11 17:02 ONION_CYC 阅读(7) 评论(0) 编辑
摘要: 【题目】F. Paths 【题意】给定数字n,图上有编号为1~n的点,两点当且仅当gcd(u,v)≠1时有连边,定义d(u,v)为两点间最短距离(若不连通则为0),求Σd(u,v),1<=u<v<=n,n<=10^7。 【算法】数论 【题解】对于1<=x<=n,当x=1或x是大于n/2的素数时,x是阅读全文
posted @ 2018-01-10 16:52 ONION_CYC 阅读(11) 评论(0) 编辑
摘要: 【题目】F. Strongly Connected Tournament 【题意】给定n个点(游戏者),每轮游戏进行下列操作: 1.对于游戏者i和j(i<j),有p的概率i赢j(反之j赢i),连边从赢者向输者,从而得到一个有向完全图,这些点视为进行了一轮游戏。 2.对于其中点数>1的强连通分量再次进阅读全文
posted @ 2018-01-10 09:37 ONION_CYC 阅读(10) 评论(0) 编辑
摘要: 【题目】E. Logical Expression 【题意】令x=11110000(2),y=11001100(2),z=10101010(2),n次询问,每次要求用[与][或][非][括号]构成含至多各1个xyz的表达式使得结果等于给定的数字(0~255),要求表达式最短(一样短时字典序最小)。n阅读全文
posted @ 2018-01-10 07:02 ONION_CYC 阅读(43) 评论(0) 编辑
摘要: 【题意】给定n台在时间di可以买入的机器,pi买入,可在任意时间ri卖出,买入和卖出之间的持有时间每天产生gi金钱,任意时间至多持有一台机器。给定初始钱数c和总天数T,求最大收益。n<=10^5。 【算法】动态规划+斜率优化(CDQ分治) 【题解】机器按di排序,添加一台时间为T+1的机器,令f[i阅读全文
posted @ 2018-01-09 19:08 ONION_CYC 阅读(6) 评论(0) 编辑
摘要: 【题目】D. Too Easy Problems 【题意】给定n个问题和总时限T,每个问题给定时间ti和限制ai,当解决的问题数k<=ai时问题有效,求在时限T内选择一些问题解决的最大有效问题数。n<=2*10^5,T<=10^9。 【算法】贪心(排序+堆) 【题解】因为T太大,不能考虑背包。 容易阅读全文
posted @ 2018-01-09 11:36 ONION_CYC 阅读(26) 评论(0) 编辑
摘要: 【题目】C. Party Lemonade 【题意】给定n个物品,第i个物品重量为2^(i-1)价值为ci,每个物品可以无限取,求取总重量>=L的最小代价。1<=30<=n,1<=L,ci<=10^9。 【算法】数学(二进制原理) 【题解】实际上每个物品的重量对应答案的一个二进制位,先对物品进行预处阅读全文
posted @ 2018-01-09 11:18 ONION_CYC 阅读(38) 评论(0) 编辑