07 2021 档案
摘要:题目 由题可知,优先选字典序小的字符 例如: 此时有两个奇点 \(a\) 和 \(b\) 优先选 \(a\) 若正序保存 则序列为 \(a,b,c,d\) 显然这不是正解 则回溯的时候存 则序列为 \(b,d,c,a\) \(reverse\) 一下 \(a,c,d,b\) 正确✔ 为何? 因为:
阅读全文
摘要:题目 平面上有九个整点,三点不共线,求证,必有三个点构成的三角形的重心是整点 solution 首先考虑十三个点的解法 首先设 \(X_0,X_1,X_2\) 分别表示横坐标模 \(3\) 同余于 \(0,1,2\) 的点的集合,设 \(Y_0,Y_1,Y_2\) 分别表示纵坐标模 \(3\) 同余
阅读全文
摘要:CF1284E New Year and Castle Construction CYJian's I/O Road的题解(但code好像不对...)
阅读全文
摘要:CF508E Arthur and Brackets 我在赛场上想都没想直接DP \(O(n^3)\)过了 但别人说正解是栈+贪心 讲讲DP \(bool\) $dp[i][j]$表示从第i对括号至第j对括号是否在ans中能变成一段连续的区间 转移($check(a,b)$表示$a=(a || b)
阅读全文
摘要:其中$12324215$为循环链表,可用双倍空间存(如图)
阅读全文
摘要:先将二维问题转为一维问题,再用低复杂度解决另一维 题目 先离散化,再$\mathcal(n^2)$枚举两个点,横着划两刀,代表上下边界 再数左右侧点的个数(预处理二维前缀和),相乘后每种相加即可 ACcode: #include<bits/stdc++.h> #define inf 0x3f3f3f
阅读全文
摘要:##树状数组比线段树和平衡树好写,且功能强大 题目ACwing244 倒序遍历,每次遍历到的数字表示此元素在剩下的元素中的排名 用树状数组维护那些没有用过的排名 ACcode: //https://www.acwing.com/problem/content/description/245/ #in
阅读全文
摘要:题目luogu P2024 [NOI2001] 食物链 各个并查集中不一定是同一类了,有了权值 ACcode //https://www.luogu.com.cn/problem/P2024 #include<bits/stdc++.h> #define N 50010 using namespac
阅读全文
摘要:怎么计算题中不同的路径数? 规定:合法路径必须先右再上 如: 得: \(f[i][j]+=f[i-1][j]\) 若$mp[i+1][j-1]=1$(障碍物),再加一句$f[i][j]+=f[i][j-k]$其中k为(i,j)之下连续无障碍物的格数 轻松拿下前12个点 剩下的呢?
阅读全文
摘要:例 就是说给一个序列a,将其中几个元素删去使其严格递增,求删去的数的总和的最小值 首先想着DP $f[i]\(表示将\)[1,i]$中几个元素删去使其严格递增,未删去的数的总和的最大值 易知$f[i]=a[i]+max(f[j])$其中$j$满足$j<i,a[j]<a[i]$ 复杂度$O(n^2)$
阅读全文
摘要:USE1 区间询问第K大值 单次$O(logn)$ 例如: 3 1 9 2 8 先离散化: 3 1 5 2 4 再列出桶(存各元素出现次数): 1 2 3 4 5 1~1: 0 0 1 0 0 1~2: 1 0 1 0 0 1~3: 1 0 1 0 1 1~4: 1 1 1 0 1 1~5: 1 1
阅读全文