ACM
文章平均质量分 74
ACM题解
xzx9
没事写BUG。
展开
-
GDCPC广东省大学生程序设计竞赛(正式赛)A.An Easy Problem【贪心+堆】
题意给出 n,m,kn,m,kn,m,k,定义 F(i,j)=i×jF(i,j)=i\times jF(i,j)=i×j,求出第 kkk 的 F(i,j)F(i,j)F(i,j),其中 1≤i≤n,1≤j≤m1\leq i \leq n,1\leq j \leq m1≤i≤n,1≤j≤m,数据范围:1≤n,m,k≤1061\leq n,m,k \leq 10^61≤n,m,k≤106 且 k≤n×mk\leq n\times mk≤n×m。分析大致画出 F(i,j)F(i,j)F(i,j) 的分布,可原创 2021-07-03 17:50:55 · 697 阅读 · 0 评论 -
ARC116 C - Multiple Sequences【组合数学/DP】
Link题目给出一个 nnn 和 mmm,求出满足下列要求的序列的个数:1≤Ai≤M(i=1,2,⋯ ,N)1\leq A_i \leq M(i=1,2,\cdots,N)1≤Ai≤M(i=1,2,⋯,N)Ai+1A_{i+1}Ai+1 是 AiA_iAi 的倍数(i=1,2,⋯ ,N−1)(i=1,2,\cdots,N-1)(i=1,2,⋯,N−1)结果取模 998244353998244353998244353,1≤N,M≤2×1051\leq N,M \leq 2\times 10原创 2021-04-23 16:17:18 · 315 阅读 · 0 评论 -
CF1514-D. Cut and Stick【莫队/主席树/线段树/随机数】
题意给出一个序列 aaa,长度为 n(1≤n≤3⋅105)n(1\leq n \leq 3· 10^5)n(1≤n≤3⋅105)。给出 q(1≤n≤3⋅105)q(1\leq n \leq 3· 10^5)q(1≤n≤3⋅105) 个询问,每次选择一个区间 [l,r][l,r][l,r] ,问最少要将该区间拆分为几个子序列,使得每个序列中出现次数最多的数出现的次数不大于⌈len2⌉\lceil \frac{len}{2}\rceil⌈2len⌉,其中 lenlenlen 为序列长度。分析假设序列长度原创 2021-04-21 21:52:49 · 183 阅读 · 0 评论 -
CF1514-C.Product 1 Modulo N
题意给出一个 nnn (2≤n≤1052\leq n \leq 10^52≤n≤105),在 [1,n−1][1,n-1][1,n−1] 内求出一个最长的子序列,使得该序列的乘积模 nnn 等于 111。求出序列的最长长度以及序列的各个数是多少。分析首先有如下等式成立:∏gcd(x,n)=1,x<nx=±1mod n\prod_{gcd(x,n)=1,x<n}{x}=\pm1 \mod ngcd(x,n)=1,x<n∏x=±1modn根据该等式,如果乘积 ppp 取模 n原创 2021-04-21 10:47:41 · 128 阅读 · 0 评论 -
ARC117 C - Tricolor Pyramid
题意给出一个长为 nnn 的数组,每个元素为 W,B 或 R,表示每个块的颜色。通过这个块,可以输出一个三角形。生成规则:如果相邻两个块的颜色相同,则得到一个同色的块;如果两个块的颜色不同,则得到没有出现过的颜色。如下图所示:求最上面的块的颜色。数据范围:2≤N≤4×1052\leq N \leq 4 \times10^52≤N≤4×105分析主要在如何分析转化颜色之间的转换关系,可以令三种颜色分别为:0,1,2,通过加法生成新的块的颜色。具体见下图:其中,did_idi 表示该方块颜色代原创 2021-04-19 18:09:16 · 200 阅读 · 0 评论 -
ARC116 B - Products of Min-Max
题意给出一个长度为 NNN 的序列 A,对于它的每个非空子序列 B,求出所有 max(B)×min(B)\max(B)\times \min(B)max(B)×min(B) 的和,结果模 998244353998244353998244353。数据范围:1≤N≤2×105,0≤Ai≤9982443521\leq N \leq 2\times 10^5,0\leq A_i \leq 9982443521≤N≤2×105,0≤Ai≤998244352分析显然不能直接计算,考虑如何算贡献。代码原创 2021-04-11 22:19:43 · 113 阅读 · 0 评论 -
Difference between Triplets POJ - 3244
题意对于每一个三元组:Ta=(Ia,Ja,Ka),Tb=(Ib,Jb,Kb)T_a=(I_a,J_a,K_a),T_b=(I_b,J_b,K_b)Ta=(Ia,Ja,Ka),Tb=(Ib,Jb,Kb)定义:D(Ta,Tb)=max{Ia−Ib,Ja−Jb,Ka−Kb}−min{Ia−Ib,Ja−Jb,Ka−Kb}D(T_a,T_b)=\max\{I_a-I_b,J_a-J_b,K_a-K_b\}-\min\{I_a-I_b,J_a-J_b,K_a-K_b \}D(Ta,Tb)原创 2021-04-11 19:27:34 · 123 阅读 · 0 评论 -
牛客练习赛80 C-不降数
题意数据范围:1≤n≤1081\leq n\leq 10^81≤n≤108分析可以先写出前面几项,按照末尾数字枚举:987654321n=1111111111n=2987654321n=3453628211510831在枚举的过程中,可以发现明显的递推关系:a(i,j)=∑k=1ja(i−1,k)a_{(i,j)}=\sum_{k=1}^{j}{a_{(i-1,k)}}a(i,j)=原创 2021-04-10 21:11:32 · 142 阅读 · 0 评论 -
牛客挑战赛48C 铬合金之声【Prufer序列+思维转化】
题目链接题意分析向 nnn 个点中加入 mmm 条边,形成 n−mn-mn−m 个联通块,那么每个联通块必然为一棵树。利用反证法可以证明:如果一个大小为 xxx 的联通块含有大于 x−1x-1x−1 条边,那么最后形成的联通块的数量显然小于n−mn-mn−m 个,因为有一些边并没有使得联通块的数量减少 111。又因为,对于一棵无根树而言,计算其大小的贡献,相当于选择其根的方案数。此时,再建立一个虚点 000 并固定其度为 n−mn-mn−m ,就将 n−mn-mn−m 棵树的森林转化为 n+1n+1原创 2021-03-31 21:09:14 · 103 阅读 · 0 评论 -
平面分割
直线切割平面nnn 条直线,最多可以把平面分为多少个区域。推导令 fnf_nfn 表示 nnn 条直线将平面分割的最大区域数,如果当前平面中已有 n−1n-1n−1 条直线,要加入第 和nnn 条直线,要使分割出来的区域数量最多,那么第 nnn 条直线就要和之前的每条直线产生一个交点,就产生了 n−2n-2n−2 条线段和 222 条射线。那么,增加的平面数为 nnn,一条线段产生一个,一条射线产生一个。所以,有:fn=fn−1+nf_n=f_{n-1}+nfn=fn−1+n。可得:fn=f原创 2021-03-31 17:26:49 · 987 阅读 · 0 评论 -
CCA的区间【状压+子集和DP】
题目链接题意给定一个长度为 nnn 的序列,序列中的每个元素都是 222 的幂次 。现在你需要找出一个各元素之和最大的,内部没有相同元素的子区间,输出这个元素和的最大值 。你可以最多翻转一个子区间 。(n≤105,1≤序列中的元素≤223)(n \leq 10^5,1 \leq 序列中的元素 \leq 2^{23})(n≤105,1≤序列中的元素≤223)分析关键在于翻转子区间的作用,翻转子区间,相当于可以把两段不相邻的区间合并。又因为每个数都是 222 的幂次,并且最多 242424 位,因此可以原创 2021-03-31 12:43:59 · 138 阅读 · 0 评论