摘要: 题目传送门 以二维为例,二维下两点间的曼哈顿距离最大值为$max(|x_i-x_j| + |y_i-y_j|)$,可以通过枚举坐标符号正负来去掉绝对值。即$max(x_i-x_j+y_i-y_j,x_i+x_j+y_i-y_j...)$共16种情况。设$f[i][t]$表示第$i$个点各维度数值正负 阅读全文
posted @ 2021-01-14 18:19 のNice 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 首先发现初始图五有向环的话那么肯定是“YES”,否则是“NO”。然后找到一种满足要求地建树规则即可。这里采用拓扑排序建树,先dfs找出目前点的拓扑序编号,要求从编号小的连向编号大的,然后根据编号大小给无向边确定方向。这样一定满足要求,因为如果一开始没有有向环,那么沿着有向边走点的拓扑序编 阅读全文
posted @ 2020-12-30 14:42 のNice 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 很巧妙的一道题。对于一个 $n$位的 $01$字符串,一共有 $2n$种不同字符排列,对于任意一个固定排列,在 $2n$种排列中只有一种排列与该固定排列处处不等,而题干中的串长不超过 \(1e6\),小于 \(2^{20}\),也就是说所有长度为 $20$的子串不超过 $1e6$个,那我 阅读全文
posted @ 2020-12-29 11:36 のNice 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 现在看来熊猫杯的J题原来是个容斥套路题,按照值域排序后根据值域划分方块数,枚举子集容斥计算即可。 #include<cstdio> #include<algorithm> using namespace std; const int p = 1e9 + 7; const int N = 阅读全文
posted @ 2020-12-29 10:13 のNice 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 题目 补下因实验漏掉的CF(还以为是晚上,没想到是下午开始)。前三题过的很顺利,到D题时想了会发现数据很小爆搜貌似能过,就以为是道水题,交了一发T了,胡乱加了点剪枝还是T。逐渐意识到事情的严重性。考虑DP,设 $dp[i][t][p]$为在前 $i$个玻璃杯中选择 $t$个玻璃杯时容量为 $p$的所 阅读全文
posted @ 2020-12-20 20:49 のNice 阅读(57) 评论(1) 推荐(0) 编辑
摘要: #include<cstdio> #include<cmath> #include<algorithm> using namespace std; typedef long long ll; typedef double db; const db Pi = acos(-1); const db in 阅读全文
posted @ 2020-12-19 00:18 のNice 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 一道很好的状压DP,状态是当前的占位情况,排序操作和第21次CSP认证的第四题作用类似。 #include<cstdio> #include<vector> #include<algorithm> using namespace std; typedef long long ll; co 阅读全文
posted @ 2020-12-17 20:42 のNice 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 先复习了下之前做的数位DP又做了道新题才看的这道题,对我来说还是一种新类型,涉及到非线性计算,之前做的都是形如 $dp[x]-dp[y]$这样的只用处理一个上限做下差即可。一开始想分别枚举 $x$和 $y$中最高位 $1$的位置,计算符合要求的组合数目,但是一旦两个数的最高位 $1$是上限的时候感觉 阅读全文
posted @ 2020-12-16 21:49 のNice 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题目 分析:首先发现将大的数放在小的数前面结果更优,于是想到通过比较元素大小的方式将两个数组合并,大的放前面小的放后面,但很容易就能想到比这样合并更优的方案。一开始我是想先按这种方式进行合并,然后将最后未合并完的剩余数组元素向前推进插值,维护一个双端队列保存推进元素块的信息,借此更新答案,但写到一半 阅读全文
posted @ 2020-12-14 22:29 のNice 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 参考博客 #include<cstdio> typedef long long ll; const int N = 2e5 + 50; int n, cnt, top, tot; int c[N], mindiv[N], dep[N], w[N]; int head[N], sta[N], lca_ 阅读全文
posted @ 2020-12-09 20:52 のNice 阅读(67) 评论(0) 推荐(0) 编辑